Class DockingAction

    • Constructor Detail

      • DockingAction

        public DockingAction​(java.lang.String name,
                             java.lang.String owner)
      • DockingAction

        public DockingAction​(java.lang.String name,
                             java.lang.String owner,
                             boolean isKeyBindingManaged)
    • Method Detail

      • actionPerformed

        public abstract void actionPerformed​(ActionContext context)
        Description copied from interface: DockingActionIf
        method to actually perform the action logic for this action.
        Specified by:
        actionPerformed in interface DockingActionIf
        Parameters:
        context - the ActionContext object that provides information about where and how this action was invoked.
      • addPropertyChangeListener

        public void addPropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Description copied from interface: DockingActionIf
        Adds a listener to be notified if any property changes.
        Specified by:
        addPropertyChangeListener in interface DockingActionIf
        Parameters:
        listener - The property change listener that will be notified of property change events.
        See Also:
        AbstractAction.addPropertyChangeListener(java.beans.PropertyChangeListener)
      • isKeyBindingManaged

        public boolean isKeyBindingManaged()
        Description copied from interface: DockingActionIf
        Returns true if this action can have its keybinding information changed by the user.
        Specified by:
        isKeyBindingManaged in interface DockingActionIf
        Returns:
        true if this action can have its keybinding information changed by the user.
      • getDescription

        public java.lang.String getDescription()
        Description copied from interface: DockingActionIf
        Returns a short description of this action. Generally used for a tooltip.
        Specified by:
        getDescription in interface DockingActionIf
      • getFullName

        public java.lang.String getFullName()
        Description copied from interface: DockingActionIf
        Returns the full name (the action name combined with the owner name)
        Specified by:
        getFullName in interface DockingActionIf
      • getKeyBinding

        public javax.swing.KeyStroke getKeyBinding()
        Description copied from interface: DockingActionIf
        Convenience method for getting the keybinding for this action.
        Specified by:
        getKeyBinding in interface DockingActionIf
        Returns:
        the KeyStroke to be used as a keybinding for this action or null if there is no
      • getMenuBarData

        public MenuData getMenuBarData()
        Description copied from interface: DockingActionIf
        Returns the MenuData to be used to put this action in the menu bar. The MenuData will be null if the action in not set to be in the menu bar.
        Specified by:
        getMenuBarData in interface DockingActionIf
        Returns:
        the MenuData for the menu bar or null if the action is not in the menu bar.
      • getPopupMenuData

        public MenuData getPopupMenuData()
        Description copied from interface: DockingActionIf
        Returns the MenuData to be used to put this action in a popup menu. The MenuData will be null if the action in not set to be in a popup menu.
        Specified by:
        getPopupMenuData in interface DockingActionIf
        Returns:
        the MenuData for a popup menu or null if the action is not to be in a popup menu.
      • getToolBarData

        public ToolBarData getToolBarData()
        Description copied from interface: DockingActionIf
        Returns the ToolBarData to be used to put this action in a toolbar. The ToolBarData will be null if the action in not set to be in a tool bar.
        Specified by:
        getToolBarData in interface DockingActionIf
        Returns:
        the ToolBarData for the popup menu or null if the action is not in a popup menu.
      • getInceptionInformation

        public java.lang.String getInceptionInformation()
        Description copied from interface: DockingActionIf
        Returns a string that includes source file and line number information of where this action was created.
        Specified by:
        getInceptionInformation in interface DockingActionIf
      • isEnabled

        public boolean isEnabled()
        Description copied from interface: DockingActionIf
        Returns true if the action is enabled.
        Specified by:
        isEnabled in interface DockingActionIf
        Returns:
        true if the action is enabled, false otherwise
      • isAddToPopup

        public boolean isAddToPopup​(ActionContext context)
        Description copied from interface: DockingActionIf
        method is used to determine if this action should be displayed on the current popup. This method will only be called if the action has popup PopupMenuData set.

        Generally, actions don't need to override this method as the default implementation will defer to the #isEnabledForContext(), which will have the effect of adding the action to the popup only if it is enabled for a given context. By overriding this method, you can change this behavior so that the action will be added to the popup, even if it is disabled for the context, by having this method return true even if the #isEnabledForContext() method will return false, resulting in the action appearing in the popup menu, but begin disabled.

        Specified by:
        isAddToPopup in interface DockingActionIf
        Parameters:
        context - the ActionContext from the active provider.
        Returns:
        true if this action is appropriate for the given context.
      • isEnabledForContext

        public boolean isEnabledForContext​(ActionContext context)
        Description copied from interface: DockingActionIf
        Method used to determine if this action should be enabled for the given context.

        This is the method implementors override to control when the action may be used.

        This method will be called by the DockingWindowManager for actions on the global menuBar and toolBar and for actions that have a keyBinding.

        This method will be called whenever one of the following events occur:

        1. when the user invokes the action via its keyBinding,
        2. the user changes focus from one component provider to another,
        3. the user moves a component to another position in the window or into another window,
        4. a component provider reports a change in it's context,
        5. any plugin or software component reports a general change in context (calls the tool.contextChanged(ComponentProvider) with a null parameter).
        The default implementation will simply return this action's enablement state.
        Specified by:
        isEnabledForContext in interface DockingActionIf
        Parameters:
        context - the current ActionContext for the window.
        Returns:
        true if the action should be enabled for the context or false otherwise.
      • isValidContext

        public boolean isValidContext​(ActionContext context)
        Description copied from interface: DockingActionIf
        Method that actions implement to indicate if this action is valid (knows how to work with, is appropriate for) for the given context. This method is used to determine if the action should be enabled based on the either the local context or the global context. The action is first asked if it is valid for the local context and if not, then it is asked if it is valid for the global context. If a context is valid, then it will then be asked if it is enabled for that context.
        Specified by:
        isValidContext in interface DockingActionIf
        Parameters:
        context - the ActionContext from the active provider.
        Returns:
        true if this action is appropriate for the given context.
      • isValidGlobalContext

        public boolean isValidGlobalContext​(ActionContext globalContext)
        Description copied from interface: DockingActionIf
        Method that actions implement to indicate if this action is valid (knows how to work with, is appropriate for) for the given global context. This method is just like the isValidContext and in fact calls that method by default. Many actions will work with either the active provider context or the global (the main listing) context if the local context is not valid. If you want a global action to only work on the global context, then override this method and return false.
        Specified by:
        isValidGlobalContext in interface DockingActionIf
        Returns:
        true if this action is appropriate for the given context.
      • shouldAddToWindow

        public boolean shouldAddToWindow​(boolean isMainWindow,
                                         java.util.Set<java.lang.Class<?>> contextTypes)
        Default behavior is to add to main window;
        Specified by:
        shouldAddToWindow in interface DockingActionIf
        Parameters:
        isMainWindow - true if the window in question is the main window. Otherwise, the window is a secondary window.
        contextTypes - a list of contextTypes (Classes) based on the providers that are currently in the window.
        Returns:
        true if this action should be added to the window, false otherwise.
      • setHelpLocation

        public void setHelpLocation​(HelpLocation location)
        Set a specific Help location for this action. This will replace the default help location
        Parameters:
        location - the help location for the action.
      • markHelpUnnecessary

        public void markHelpUnnecessary()
        Signals the the help system that this action does not need a help entry. Some actions are so obvious that they do not require help, such as an action that renames a file.

        The method should be sparsely used, as most actions should provide help.

      • setEnabled

        public boolean setEnabled​(boolean newValue)
        Description copied from interface: DockingActionIf
        Enables or disables the action.
        Specified by:
        setEnabled in interface DockingActionIf
        Parameters:
        newValue - true to enable the action, false to disable it
      • createButton

        public final javax.swing.JButton createButton()
        Description copied from interface: DockingActionIf
        Returns a JButton that is suitable for this action. For example, It creates a ToggleButton if the action is a ToggleDockingActionIf.
        Specified by:
        createButton in interface DockingActionIf
        Returns:
        a JButton to be used in a toolbar or null if the action does not have ToolBarData set.
      • createMenuItem

        public javax.swing.JMenuItem createMenuItem​(boolean isPopup)
        Description copied from interface: DockingActionIf
        Returns a JMenuItem that is suitable for this action. For example, if the action is a ToggleDockingActionIf, then a JCheckBoxMenuItem will be created.
        Specified by:
        createMenuItem in interface DockingActionIf
        Parameters:
        isPopup - true if the action should use its Popup MenuData, else it uses the MenuBar MenuData.
        Returns:
        a JMenuItem for placement in either the menu bar or a popup menu.
      • setMenuBarData

        public void setMenuBarData​(MenuData newMenuData)
        Sets the #MenuData to be used to put this action on the tool's menu bar.
        Parameters:
        newMenuData - the MenuData to be used to put this action on the tool's menu bar.
      • setPopupMenuData

        public void setPopupMenuData​(MenuData newMenuData)
        Sets the #MenuData to be used to put this action in the tool's popup menu.
        Parameters:
        newMenuData - the MenuData to be used to put this action on the tool's popup menu.
      • setToolBarData

        public void setToolBarData​(ToolBarData newToolBarData)
        Sets the #ToolBarData to be used to put this action on the tool's toolbar.
        Parameters:
        newToolBarData - the ToolBarData to be used to put this action on the tool's toolbar.
      • setKeyBindingData

        public void setKeyBindingData​(KeyBindingData newKeyBindingData)
        Sets the #KeyBindingData to be used to assign this action to a keybinding.
        Specified by:
        setKeyBindingData in interface DockingActionIf
        Parameters:
        newKeyBindingData - the KeyBindingData to be used to assign this action to a keybinding.
      • setUnvalidatedKeyBindingData

        public void setUnvalidatedKeyBindingData​(KeyBindingData newKeyBindingData)
        Users creating actions should not call this method, but should instead call setKeyBindingData(KeyBindingData).
        Specified by:
        setUnvalidatedKeyBindingData in interface DockingActionIf
        Parameters:
        newKeyBindingData - the KeyBindingData to be used to assign this action to a keybinding.
        validate - true signals that this method should convert keybindings to their OS-dependent form (for example, on Mac a Ctrl key is changed to the Command key).
      • setDescription

        public void setDescription​(java.lang.String newDescription)
        Sets the description to be used in the tooltip.
        Parameters:
        description - the description to be set.
      • dispose

        public void dispose()
        Cleans up any resources used by the action.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getHelpInfo

        public java.lang.String getHelpInfo()
        Description copied from interface: HelpDescriptor
        Returns a descriptive String about the help object that this descriptor represents.
        Specified by:
        getHelpInfo in interface HelpDescriptor
      • firePropertyChanged

        public void firePropertyChanged​(java.lang.String propertyName,
                                        java.lang.Object oldValue,
                                        java.lang.Object newValue)
      • getHelpObject

        public java.lang.Object getHelpObject()
        Description copied from interface: HelpDescriptor
        Returns the object for which help locations are defined. This may be the implementor of this interface or some other delegate object.
        Specified by:
        getHelpObject in interface HelpDescriptor
      • doCreateButton

        protected javax.swing.JButton doCreateButton()
      • doCreateMenuItem

        protected javax.swing.JMenuItem doCreateMenuItem()