Package docking

Class AbstractDockingTool

  • All Implemented Interfaces:
    DockingTool
    Direct Known Subclasses:
    PluginTool

    public abstract class AbstractDockingTool
    extends java.lang.Object
    implements DockingTool
    A partial implementation of DockingTool that serves as a place to share common functionality
    • Field Detail

      • optionsMap

        protected java.util.Map<java.lang.String,​ToolOptions> optionsMap
      • configChangedFlag

        protected boolean configChangedFlag
    • Constructor Detail

      • AbstractDockingTool

        public AbstractDockingTool()
    • Method Detail

      • isVisible

        public boolean isVisible()
        Description copied from interface: DockingTool
        Returns true if tool is visible
        Specified by:
        isVisible in interface DockingTool
        Returns:
        true if tool is visible
      • setVisible

        public void setVisible​(boolean visibility)
        Description copied from interface: DockingTool
        Sets the tool visible or invisible. This method is used by the Project to make it's tools visible or invisible depending on whether this tool is in is the active workspace.
        Specified by:
        setVisible in interface DockingTool
        Parameters:
        visibility - true specifies that the tool should be visible
      • toFront

        public void toFront()
        Description copied from interface: DockingTool
        Brings this tool to the front. Places this tool at the top of the stacking order and shows it in front of any other tools.
        Specified by:
        toFront in interface DockingTool
      • addComponentProvider

        public void addComponentProvider​(ComponentProvider provider,
                                         boolean show)
        Description copied from interface: DockingTool
        Adds the ComponentProvider to the tool, optionally making it visible.
        Specified by:
        addComponentProvider in interface DockingTool
        Parameters:
        provider - the provider to add to the tool
        show - if true, the component is made visible.
      • removeComponentProvider

        public void removeComponentProvider​(ComponentProvider provider)
        Description copied from interface: DockingTool
        Removes the given ComponentProvider from the tool. When a provider has been removed from the tool it is considered disposed and should not be reused.
        Specified by:
        removeComponentProvider in interface DockingTool
        Parameters:
        provider - the provider to remove from the tool
      • getComponentProvider

        public ComponentProvider getComponentProvider​(java.lang.String name)
        Description copied from interface: DockingTool
        Gets the ComponentProvider with the given name.
        Specified by:
        getComponentProvider in interface DockingTool
        Parameters:
        name - the name of the provider to get
        Returns:
        the provider
      • setStatusInfo

        public void setStatusInfo​(java.lang.String text)
        Description copied from interface: DockingTool
        Set the status information
        Specified by:
        setStatusInfo in interface DockingTool
        Parameters:
        text - non-html string to be displayed in the Status display area
      • setStatusInfo

        public void setStatusInfo​(java.lang.String text,
                                  boolean beep)
        Description copied from interface: DockingTool
        Set the status information
        Specified by:
        setStatusInfo in interface DockingTool
        Parameters:
        text - string to be displayed in the Status display area
        beep - whether to be or not
      • addAction

        public void addAction​(DockingActionIf action)
        Description copied from interface: DockingTool
        Adds the action to the tool.
        Specified by:
        addAction in interface DockingTool
        Parameters:
        action - the action to be added.
      • removeAction

        public void removeAction​(DockingActionIf action)
        Description copied from interface: DockingTool
        Removes the given action from the tool. When an action is removed from the tool it will be disposed and should not be reused.
        Specified by:
        removeAction in interface DockingTool
        Parameters:
        action - the action to be removed.
      • addLocalAction

        public void addLocalAction​(ComponentProvider provider,
                                   DockingActionIf action)
        Description copied from interface: DockingTool
        Adds the action to the given provider as a local action.
        Specified by:
        addLocalAction in interface DockingTool
        Parameters:
        provider - the provider to add the action to.
        action - the DockingAction to add to the componentProvider.
      • removeLocalAction

        public void removeLocalAction​(ComponentProvider provider,
                                      DockingActionIf action)
        Description copied from interface: DockingTool
        Removes the action from the provider
        Specified by:
        removeLocalAction in interface DockingTool
        Parameters:
        provider - the component provider from which to remove the action.
        action - the action to remove.
      • getAllActions

        public java.util.Set<DockingActionIf> getAllActions()
        Description copied from interface: DockingTool
        Return a set of all actions in the tool.

        Note: the result may contain conceptually duplicate actions, which is when multiple actions exist that share the same full name (the full name is the action name with the owner name, such as "My Action (MyPlugin)".

        Specified by:
        getAllActions in interface DockingTool
        Returns:
        set of all actions
      • addPopupActionProvider

        public void addPopupActionProvider​(PopupActionProvider provider)
        Description copied from interface: DockingTool
        Adds the given popup action provider to this tool. This provider will be called each time the popup menu is about to be shown.
        Specified by:
        addPopupActionProvider in interface DockingTool
        Parameters:
        provider - the provider
      • getDockingActionsByOwnerName

        public java.util.Set<DockingActionIf> getDockingActionsByOwnerName​(java.lang.String owner)
        Description copied from interface: DockingTool
        Returns all actions for the given owner

        Note: the result may contain conceptually duplicate actions, which is when multiple actions exist that share the same full name (the full name is the action name with the owner name, such as "My Action (MyPlugin)".

        Specified by:
        getDockingActionsByOwnerName in interface DockingTool
        Parameters:
        owner - the action owner's name
        Returns:
        the actions
      • showComponentProvider

        public void showComponentProvider​(ComponentProvider provider,
                                          boolean visible)
        Description copied from interface: DockingTool
        Shows or hides the component provider in the tool
        Specified by:
        showComponentProvider in interface DockingTool
        Parameters:
        provider - the provider to either show or hide.
        visible - true to show the provider, false to hide it.
      • showDialog

        public void showDialog​(DialogComponentProvider dialogComponent)
        Description copied from interface: DockingTool
        Shows the dialog using the tool's root frame as a parent. Also, remembers any size and location adjustments made by the user for the next time the dialog is shown.
        Specified by:
        showDialog in interface DockingTool
        Parameters:
        dialogComponent - the DialogComponentProvider object to be shown in a dialog.
      • getToolFrame

        public javax.swing.JFrame getToolFrame()
      • getProviderWindow

        public java.awt.Window getProviderWindow​(ComponentProvider provider)
        Description copied from interface: DockingTool
        Returns the parent window for the given provider
        Specified by:
        getProviderWindow in interface DockingTool
        Parameters:
        provider - the provider
        Returns:
        the window
      • toFront

        public void toFront​(ComponentProvider provider)
        Description copied from interface: DockingTool
        Makes the given ComponentProvider move to the front if it is tabbed with other components.
        Specified by:
        toFront in interface DockingTool
        Parameters:
        provider - the provider to move to the top of its stacking order.
      • isVisible

        public boolean isVisible​(ComponentProvider provider)
        Description copied from interface: DockingTool
        Returns true if the given ComponentProvider is currently visible.
        Specified by:
        isVisible in interface DockingTool
        Parameters:
        provider - the provider to check for visibility.
        Returns:
        true if the given ComponentProvider is currently visible.
      • isActive

        public boolean isActive​(ComponentProvider provider)
        Description copied from interface: DockingTool
        Returns true if the ComponentProvider is the currently active provider. The active provider is the provider that has keyboard focus and provides the current action context.
        Specified by:
        isActive in interface DockingTool
        Parameters:
        provider - the provider to check for active.
        Returns:
        true if the ComponentProvider is the currently active provider.
      • updateTitle

        public void updateTitle​(ComponentProvider provider)
        Description copied from interface: DockingTool
        Indicates to the tool that the given componentProvider's title has changed.
        Specified by:
        updateTitle in interface DockingTool
        Parameters:
        provider - the componentProvider whose title has changed.
      • setMenuGroup

        public void setMenuGroup​(java.lang.String[] menuPath,
                                 java.lang.String group)
        Set the menu group associated with a cascaded submenu. This allows a cascading menu item to be grouped with a specific set of actions. The default group for a cascaded submenu is the name of the submenu.
        Parameters:
        menuPath - menu name path where the last element corresponds to the specified group name.
        group - group name
        See Also:
        setMenuGroup(String[], String, String)
      • setMenuGroup

        public void setMenuGroup​(java.lang.String[] menuPath,
                                 java.lang.String group,
                                 java.lang.String menuSubGroup)
        Description copied from interface: DockingTool
        Set the menu group associated with a cascaded submenu. This allows a cascading menu item to be grouped with a specific set of actions.

        The default group for a cascaded submenu is the name of the submenu.

        Specified by:
        setMenuGroup in interface DockingTool
        Parameters:
        menuPath - menu name path where the last element corresponds to the specified group name.
        group - group name
        menuSubGroup - the name used to sort the cascaded menu within other menu items at its level
      • contextChanged

        public void contextChanged​(ComponentProvider provider)
        Description copied from interface: DockingTool
        Signals to the tool that the provider's context has changed. This lets toolbar and menu actions update enablement based on current context.

        Pass null to signal that the entire tool's context has changed

        Specified by:
        contextChanged in interface DockingTool
        Parameters:
        provider - the provider whose context changed; null to signal the tool's context
      • getGlobalContext

        public ActionContext getGlobalContext()
        Description copied from interface: DockingTool
        Returns this tool's notion of the current action context, which is based upon the active ComponentProvider. If there is not active provider, then a generic context will be returned.
        Specified by:
        getGlobalContext in interface DockingTool
        Returns:
        the context
      • setConfigChanged

        public void setConfigChanged​(boolean changed)
        Description copied from interface: DockingTool
        Toggles the "change" state of the tool...
        Specified by:
        setConfigChanged in interface DockingTool
        Parameters:
        changed - true indicates that the tool config has changed.
      • hasConfigChanged

        public boolean hasConfigChanged()
        Description copied from interface: DockingTool
        Return true if the tool's configuration has changed
        Specified by:
        hasConfigChanged in interface DockingTool
        Returns:
        true if the tool's configuration has changed