Class OptionsPanelController

java.lang.Object
org.netbeans.spi.options.OptionsPanelController

public abstract class OptionsPanelController extends Object
PanelController creates visual representation of one Options Dialog category, and manages communication between Options Dialog and this panel.
  • Field Details

  • Constructor Details

    • OptionsPanelController

      public OptionsPanelController()
  • Method Details

    • createAdvanced

      @Deprecated public static final OptionsPanelController createAdvanced(String subpath)
      Creates an advanced tabbed controller, just like Miscellaneous section.
      Parameters:
      subpath - path to folder under OptionsDialog folder containing instances of AdvancedOption class. Path is composed from registration names divided by slash. E.g. "MyCategory" for the following registration:
       <folder name="OptionsDialog">
           <file name="MyCategory.instance">
               <attr name="instanceClass" stringvalue="org.foo.MyCategory"/>
               <attr name="position" intvalue="900"/>
           </file>
           <folder name="MyCategory">
               <file name="SubCategory1.instance">
                   <attr name="instanceClass" stringvalue="org.foo.Subcategory1"/>
               </file>
               <file name="SubCategory2.instance">
                   <attr name="instanceClass" stringvalue="org.foo.Subcategory2"/>
               </file>
           </file>
       </folder>
      Returns:
      OptionsPanelController a controller wrapping all AdvancedOption instances found in the folder
      Since:
      1.8
    • update

      public abstract void update()
      Component should load its data here. You should not do any time-consuming operations inside the constructor, because it blocks initialization of OptionsDialog. Initialization should be implemented in update method. This method is called after getComponent(org.openide.util.Lookup) method. Update method can be called more than one time for the same instance of JComponent obtained from getComponent(org.openide.util.Lookup) call.
    • applyChanges

      public abstract void applyChanges()
      This method is called off EDT when Options Dialog "OK" or "Apply" button is pressed.
    • cancel

      public abstract void cancel()
      This method is called when Options Dialog "Cancel" button is pressed.
    • isValid

      public abstract boolean isValid()
      Should return true if some option value in this category is valid.
      Returns:
      true if some option value in this category is valid
    • isChanged

      public abstract boolean isChanged()
      Should return true if some option value in this category has been changed.
      Returns:
      true if some option value in this category has been changed
    • getLookup

      public org.openide.util.Lookup getLookup()
      Each option category can provide some lookup. Options Dialog master lookup is composed from these individual lookups. Master lookup can be obtained from getComponent(org.openide.util.Lookup) call. This lookup is designed to support communication anong individual panels in one Options Dialog. There is no guarantee that this method will be called from AWT thread.
      Returns:
      lookup provided by this Options Dialog panel
    • handleSuccessfulSearch

      public void handleSuccessfulSearch(String searchText, List<String> matchedKeywords)
      Handle successful search in some panel in options window. By default no action is performed. Each implementor should make special actions, for example to choose a specific sub-panel, if this is required.

      Note that if the search is cleared (user presses Esc or Enter with empty text) this method is called with null as values for both the parameters, giving the implementors the chance to undo the filtering done is some previous invocation.

      Parameters:
      searchText - the text the user has entered in the search box in the options window.
      matchedKeywords - the list of matched keywords for a specific panel in the options window.
      Since:
      1.30
    • getComponent

      public abstract JComponent getComponent(org.openide.util.Lookup masterLookup)
      Returns visual component representing this options category. This method is called before update() method.
      Parameters:
      masterLookup - master lookup composed from lookups provided by individual OptionsPanelControllers - getLookup()
      Returns:
      visual component representing this options category
    • setCurrentSubcategory

      protected void setCurrentSubcategory(String subpath)
      Enables to handle selection of current subcategory. It is called from OptionsDisplayer.open(java.lang.String), if some subpath is defined.
      Parameters:
      subpath - path of subcategories to be selected. Path is composed from registration names divided by slash.
      Since:
      1.8
      See Also:
    • setSubcategory

      public final void setSubcategory(String subpath)
      Enables to handle selection of subcategory. It is meant to be called from a composite OptionspanelController and delegates to setCurrentSubcategory(java.lang.String).
      Parameters:
      subpath - path of subcategory to be selected. Path is composed from registration names divided by slash.
      Since:
      1.38
    • getHelpCtx

      public abstract org.openide.util.HelpCtx getHelpCtx()
      Get current help context asociated with this panel.
      Returns:
      current help context
    • addPropertyChangeListener

      public abstract void addPropertyChangeListener(PropertyChangeListener l)
      Registers new listener.
      Parameters:
      l - a new listener
    • removePropertyChangeListener

      public abstract void removePropertyChangeListener(PropertyChangeListener l)
      Unregisters given listener.
      Parameters:
      l - a listener to be removed