Class FieldEditorPreferencePage

All Implemented Interfaces:
EventListener, IDialogPage, IMessageProvider, IPreferencePage, IPropertyChangeListener
Direct Known Subclasses:
TextEditorPreferencePage

public abstract class FieldEditorPreferencePage extends PreferencePage implements IPropertyChangeListener
A special abstract preference page to host field editors.

Subclasses must implement the createFieldEditors method and should override createLayout if a special layout of the field editors is needed.

  • Field Details

    • FLAT

      public static final int FLAT
      Layout constant (value 0) indicating that each field editor is handled as a single component.
      See Also:
    • GRID

      public static final int GRID
      Layout constant (value 1) indicating that the field editors' basic controls are put into a grid layout.
      See Also:
    • VERTICAL_SPACING

      protected static final int VERTICAL_SPACING
      The vertical spacing used by layout styles FLAT and GRID.
      See Also:
    • MARGIN_WIDTH

      protected static final int MARGIN_WIDTH
      The margin width used by layout styles FLAT and GRID.
      See Also:
    • MARGIN_HEIGHT

      protected static final int MARGIN_HEIGHT
      The margin height used by layout styles FLAT and GRID.
      See Also:
  • Constructor Details

    • FieldEditorPreferencePage

      public FieldEditorPreferencePage()
      Create a new instance of the receiver.
    • FieldEditorPreferencePage

      protected FieldEditorPreferencePage(int style)
      Creates a new field editor preference page with the given style, an empty title, and no image.
      Parameters:
      style - either GRID or FLAT
    • FieldEditorPreferencePage

      protected FieldEditorPreferencePage(String title, int style)
      Creates a new field editor preference page with the given title and style, but no image.
      Parameters:
      title - the title of this preference page
      style - either GRID or FLAT
    • FieldEditorPreferencePage

      protected FieldEditorPreferencePage(String title, ImageDescriptor image, int style)
      Creates a new field editor preference page with the given title, image, and style.
      Parameters:
      title - the title of this preference page
      image - the image for this preference page, or null if none
      style - either GRID or FLAT
  • Method Details

    • addField

      protected void addField(FieldEditor editor)
      Adds the given field editor to this page.
      Parameters:
      editor - the field editor
    • adjustGridLayout

      protected void adjustGridLayout()
      Adjust the layout of the field editors so that they are properly aligned.
    • applyFont

      protected void applyFont()
      Applys the font to the field editors managed by this page.
    • checkState

      protected void checkState()
      Recomputes the page's error state by calling isValid for every field editor.
    • createContents

      protected Control createContents(Composite parent)
      Description copied from class: PreferencePage
      Creates and returns the SWT control for the customized body of this preference page under the given parent composite.

      This framework method must be implemented by concrete subclasses. Any subclass returning a Composite object whose Layout has default margins (for example, a GridLayout) is expected to set the margins of this Layout to 0 pixels.

      Specified by:
      createContents in class PreferencePage
      Parameters:
      parent - the parent composite
      Returns:
      the new control
    • createFieldEditors

      protected abstract void createFieldEditors()
      Creates the page's field editors.

      The default implementation of this framework method does nothing. Subclass must implement this method to create the field editors.

      Subclasses should call getFieldEditorParent to obtain the parent control for each field editor. This same parent should not be used for more than one editor as the parent may change for each field editor depending on the layout style of the page

    • dispose

      public void dispose()
      The field editor preference page implementation of an IDialogPage method disposes of this page's controls and images. Subclasses may override to release their own allocated SWT resources, but must call super.dispose.
      Specified by:
      dispose in interface IDialogPage
      Overrides:
      dispose in class DialogPage
    • getFieldEditorParent

      protected Composite getFieldEditorParent()
      Returns a parent composite for a field editor.

      This value must not be cached since a new parent may be created each time this method called. Thus this method must be called each time a field editor is constructed.

      Returns:
      a parent
    • initialize

      protected void initialize()
      Initializes all field editors.
    • performDefaults

      protected void performDefaults()
      The field editor preference page implementation of a PreferencePage method loads all the field editors with their default values.
      Overrides:
      performDefaults in class PreferencePage
    • performOk

      public boolean performOk()
      The field editor preference page implementation of this PreferencePage method saves all field editors by calling FieldEditor.store. Note that this method does not save the preference store itself; it just stores the values back into the preference store.
      Specified by:
      performOk in interface IPreferencePage
      Overrides:
      performOk in class PreferencePage
      Returns:
      false to abort the container's OK processing and true to allow the OK to happen
      See Also:
    • propertyChange

      public void propertyChange(PropertyChangeEvent event)
      The field editor preference page implementation of this IPreferencePage (and IPropertyChangeListener) method intercepts IS_VALID events but passes other events on to its superclass.
      Specified by:
      propertyChange in interface IPropertyChangeListener
      Parameters:
      event - the property change event object describing which property changed and how
    • setVisible

      public void setVisible(boolean visible)
      Description copied from class: DialogPage
      The DialogPage implementation of this IDialogPage method sets the control to the given visibility state. Subclasses may extend.
      Specified by:
      setVisible in interface IDialogPage
      Overrides:
      setVisible in class DialogPage
      Parameters:
      visible - true to make this page visible, and false to hide it