Class RootScopePage

All Implemented Interfaces:
ISearchScopePage, IDialogPage, IMessageProvider, IPreferencePage

public abstract class RootScopePage extends PreferencePage implements ISearchScopePage
Clients that contribute search scope root page to the search engine definition must extend this class and implement createScopeContents method. The page will come preset with the engine name, image and description, as well as the master switch that turns the engine on or off. When the engine master switch is set to false, all the children in the client composite will be disabled.
Since:
3.1
  • Constructor Details

    • RootScopePage

      public RootScopePage()
      The default constructor.
  • Method Details

    • init

      public void init(IEngineDescriptor ed, String scopeSetName)
      Description copied from interface: ISearchScopePage
      Initializes the search scope page.
      Specified by:
      init in interface ISearchScopePage
      Parameters:
      ed - the descriptor of the engine associated with this page
      scopeSetName - the name of the current scope set that is used to group data shown in this page
    • createContents

      protected final Control createContents(Composite parent)
      Creates the initial contents of the page and allocates the area for the clients. Classes that extend this class should implement createScopeContents(Composite) instead.
      Specified by:
      createContents in class PreferencePage
      Parameters:
      parent - the page parent
      Returns:
      the page client control
    • masterValueChanged

      protected void masterValueChanged(boolean value)
      Called when the value of the master switch has changed. The default implementation disables the scope contents control when the master switch is off. Subclass can override this behaviour.
      Parameters:
      value - true if the master switch is on, false otherwise.
    • getScopeSetName

      protected String getScopeSetName()
      Returns the scope set name passed to the page during initialization.
      Returns:
      the name of the current scope set
    • getEngineDescriptor

      protected IEngineDescriptor getEngineDescriptor()
      Returns the descriptor of the engine associated with this page.
      Returns:
      the engine descriptor
    • isEngineEnabled

      protected boolean isEngineEnabled()
      Tests whether the search engine has been selected to participate in the search.
      Returns:
      true if the search engine is enabled, false otherwise.
    • performOk

      public boolean performOk()
      Stores the value of the master switch in the preference store. Subclasses may override but must call 'super'.
      Specified by:
      performOk in interface IPreferencePage
      Overrides:
      performOk in class PreferencePage
      Returns:
      true if the wizard can be closed, false otherwise.
    • performDefaults

      protected void performDefaults()
      Sets the value of the master switch to the initial value from the extension. Subclasses may override but must call 'super'.
      Overrides:
      performDefaults in class PreferencePage
    • initializeDefaults

      protected void initializeDefaults(IPreferenceStore store)
      Initializes default values of the store to be used when the user presses 'Defaults' button. Subclasses may override but must call 'super'.
      Parameters:
      store - the preference store
    • createScopeContents

      protected abstract int createScopeContents(Composite parent)
      Abstract method that subclasses must implement in order to provide root page content. The parent uses GridLayout to position and size the widgets. Widgets created in this method should use GridData to configure the way they fit in the overall page.

      The common widgets created by this page will set number of columns they need for themselves only. Clients that implement this method should return the required number of columns so that the root page widgets can be adjusted if more columns are needed than initially set.

      Parameters:
      parent - the page parent
      Returns:
      number of columns required by the client content