Eclipse Platform Release 3.7

## org.eclipse.ui.forms.editor
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

Field Summary

Fields inherited from interface org.eclipse.ui.IEditorPart
`PROP_DIRTY, PROP_INPUT`

Fields inherited from interface org.eclipse.ui.IWorkbenchPart
`PROP_TITLE`

Method Summary
`boolean` `canLeaveThePage()` Tests if the content of the page is in a state that allows the editor to flip to another page.
`FormEditor` `getEditor()` Returns the editor this page belongs to.
`String` `getId()` Page must have a unique id that can be used to show it without knowing its relative position in the editor.
`int` `getIndex()` Returns the position of the page in the editor.
`IManagedForm` `getManagedForm()` Returns the managed form of this page, unless this is a source page.
`Control` `getPartControl()` Returns the control associated with this page.
`void` `initialize(FormEditor editor)`
`boolean` `isActive()` Returns `true` if page is currently active, false if not.
`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.
`boolean` `selectReveal(Object object)` A hint to bring the provided object into focus.
`void` `setActive(boolean active)` Indicates whether the page has become the active in the editor.
`void` `setIndex(int index)` Sets the position of the page in the editor.

Methods inherited from interface org.eclipse.ui.IEditorPart
`getEditorInput, getEditorSite, init`

Methods inherited from interface org.eclipse.ui.IWorkbenchPart
`addPropertyListener, createPartControl, dispose, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener, setFocus`

Methods inherited from interface org.eclipse.core.runtime.IAdaptable
`getAdapter`

Methods inherited from interface org.eclipse.ui.ISaveablePart
`doSave, doSaveAs, isDirty, isSaveAsAllowed, isSaveOnCloseNeeded`

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.

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.