Interface IFormPage

  • All Superinterfaces:
    IAdaptable, IEditorPart, ISaveablePart, IWorkbenchPart
    All Known Implementing Classes:
    FormPage

    public interface IFormPage
    extends IEditorPart
    Interface that all GUI pages need to implement in order to be added to FormEditor part. The interface makes several assumptions:
    • The form page has a managed form
    • The form page has a unique id
    • The form page can be GUI but can also wrap a complete editor class (in that case, it should return true from isEditor() method).
    • The form page is lazy i.e. understands that its part control will be created at the last possible moment.

    Existing editors can be wrapped by implementing this interface. In this case, 'isEditor' should return true. A common editor to wrap in TextEditor that is often added to show the raw source code of the file open into the multi-page editor.

    Since:
    3.0
    • Method Detail

      • initialize

        void initialize​(FormEditor editor)
        Parameters:
        editor - the form editor that this page belongs to
      • getEditor

        FormEditor getEditor()
        Returns the editor this page belongs to.
        Returns:
        the form editor
      • getManagedForm

        IManagedForm getManagedForm()
        Returns the managed form of this page, unless this is a source page.
        Returns:
        the managed form or null if this is a source page.
      • setActive

        void setActive​(boolean active)
        Indicates whether the page has become the active in the editor. Classes that implement this interface may use this method to commit the page (on false) or lazily create and/or populate the content on true.
        Parameters:
        active - true if page should be visible, false otherwise.
      • isActive

        boolean isActive()
        Returns true if page is currently active, false if not.
        Returns:
        true for active page.
      • canLeaveThePage

        boolean canLeaveThePage()
        Tests if the content of the page is in a state that allows the editor to flip to another page. Typically, pages that contain raw source with syntax errors should not allow editors to leave them until errors are corrected.
        Returns:
        true if the editor can flip to another page, false otherwise.
      • getPartControl

        Control getPartControl()
        Returns the control associated with this page.
        Returns:
        the control of this page if created or null if the page has not been shown yet.
      • getId

        String getId()
        Page must have a unique id that can be used to show it without knowing its relative position in the editor.
        Returns:
        the unique page identifier
      • getIndex

        int getIndex()
        Returns the position of the page in the editor.
        Returns:
        the zero-based index of the page in the editor.
      • setIndex

        void setIndex​(int index)
        Sets the position of the page in the editor.
        Parameters:
        index - the zero-based index of the page in the editor.
      • isEditor

        boolean isEditor()
        Tests whether this page wraps a complete editor that can be registered on its own, or represents a page that cannot exist outside the multi-page editor context.
        Returns:
        true if the page wraps an editor, false if this is a form page.
      • selectReveal

        boolean selectReveal​(Object object)
        A hint to bring the provided object into focus. If the object is in a tree or table control, select it. If it is shown on a scrollable page, ensure that it is visible. If the object is not presented in the page, false should be returned to allow another page to try.
        Parameters:
        object - object to select and reveal
        Returns:
        true if the request was successful, false otherwise.