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 Detail

      • RootScopePage

        public RootScopePage()
        The default constructor.
    • Method Detail

      • 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