Interface DockingActionIf

    • Method Detail

      • getName

        java.lang.String getName()
        Returns the name of the action
        Returns:
        the name
      • getOwner

        java.lang.String getOwner()
        Returns the owner of this action
        Returns:
        the owner
      • getOwnerDescription

        default java.lang.String getOwnerDescription()
        Returns a description of this actions owner. For most actions this will return the same value as getOwner().
        Returns:
        the description
      • getDescription

        java.lang.String getDescription()
        Returns a short description of this action. Generally used for a tooltip
        Returns:
        the description
      • addPropertyChangeListener

        void addPropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Adds a listener to be notified if any property changes
        Parameters:
        listener - The property change listener that will be notified of property change events.
        See Also:
        Action.addPropertyChangeListener(java.beans.PropertyChangeListener)
      • removePropertyChangeListener

        void removePropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Removes a listener to be notified of property changes.
        Parameters:
        listener - The property change listener that will be notified of property change events.
        See Also:
        addPropertyChangeListener(PropertyChangeListener), Action.addPropertyChangeListener(java.beans.PropertyChangeListener)
      • setEnabled

        void setEnabled​(boolean newValue)
        Enables or disables the action
        Parameters:
        newValue - true to enable the action, false to disable it
      • setSupportsDefaultToolContext

        void setSupportsDefaultToolContext​(boolean newValue)
        Sets whether or not this action should be activated using the default tool context if the current focused provider's context is not valid for this action. Typically, this should be set on actions that are mostly independent of which component has focus such as those on the tool's main toolbar.
        Parameters:
        newValue - if true, the action will be activated using the default tool context if the local context is not valid for this action. If false, the action will only ever be activated using the focused context.
      • supportsDefaultToolContext

        boolean supportsDefaultToolContext()
        Returns true if this action can be activated using the default tool context if the focused context is invalid for this action. See setSupportsDefaultToolContext(boolean)
        Returns:
        true if this action can be activated using the default tool context if the local context is invalid for this action.
      • isEnabled

        boolean isEnabled()
        Returns true if the action is enabled.
        Returns:
        true if the action is enabled, false otherwise
      • getMenuBarData

        MenuData getMenuBarData()
        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.
        Returns:
        the MenuData for the menu bar or null if the action is not in the menu bar.
      • getPopupMenuData

        MenuData getPopupMenuData()
        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.
        Returns:
        the MenuData for a popup menu or null if the action is not to be in a popup menu.
      • getToolBarData

        ToolBarData getToolBarData()
        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 toolbar.
        Returns:
        the ToolBarData for the popup menu or null if the action is not in a popup menu.
      • getKeyBindingData

        KeyBindingData getKeyBindingData()
        Returns the KeyBindingData to be used to assign this action to a key binding. The KeyBindingData will be null if the action is not set to have a keyBinding.
        Returns:
        the KeyBindingData for the action or null if the action does not have a keyBinding.
      • getDefaultKeyBindingData

        KeyBindingData getDefaultKeyBindingData()
        Returns the default KeyBindingData to be used to assign this action to a key binding. The KeyBindingData will be null if the action is not set to have a keyBinding. The value of this method is that which is set from a call to setKeyBindingData(KeyBindingData).
        Returns:
        the KeyBindingData for the action or null if the action does not have a keyBinding.
      • getKeyBinding

        javax.swing.KeyStroke getKeyBinding()
        Convenience method for getting the keybinding for this action.
        Returns:
        the KeyStroke to be used as a keybinding for this action or null if there is no
      • getFullName

        java.lang.String getFullName()
        Returns the full name (the action name combined with the owner name)
        Returns:
        the full name
      • actionPerformed

        void actionPerformed​(ActionContext context)
        method to actually perform the action logic for this action.
        Parameters:
        context - the ActionContext object that provides information about where and how this action was invoked.
      • isAddToPopup

        boolean isAddToPopup​(ActionContext context)
        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(ActionContext), 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(ActionContext) method will return false, resulting in the action appearing in the popup menu, but begin disabled.

        Parameters:
        context - the ActionContext from the active provider.
        Returns:
        true if this action is appropriate for the given context.
      • isValidContext

        boolean isValidContext​(ActionContext context)
        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.
        Parameters:
        context - the ActionContext from the active provider.
        Returns:
        true if this action is appropriate for the given context.
      • isEnabledForContext

        boolean isEnabledForContext​(ActionContext context)
        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.
        Parameters:
        context - the current ActionContext for the window.
        Returns:
        true if the action should be enabled for the context or false otherwise.
      • getInceptionInformation

        java.lang.String getInceptionInformation()
        Returns a string that includes source file and line number information of where this action was created
        Returns:
        the inception information
      • createButton

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

        javax.swing.JMenuItem createMenuItem​(boolean isPopup)
        Returns a JMenuItem that is suitable for this action. For example, if the action is a ToggleDockingActionIf, then a JCheckBoxMenuItem will be created.
        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.
      • shouldAddToWindow

        boolean shouldAddToWindow​(boolean isMainWindow,
                                  java.util.Set<java.lang.Class<?>> contextTypes)
        Determines whether this action should be added to a window (either the main window or a secondary detached window). By default, this method will return true for the main window and false otherwise.
        Parameters:
        isMainWindow - true if the window in question is the main 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.
      • getKeyBindingType

        default KeyBindingType getKeyBindingType()
        Returns this actions level of support for key binding accelerator keys

        Actions support key bindings by default. Some reserved actions do not support key bindings, while others wish to share the same key bindings with multiple, equivalent actions (this allows the user to set one binding that works in many different contexts).

        Returns:
        the key binding support
      • setKeyBindingData

        void setKeyBindingData​(KeyBindingData keyBindingData)
        Sets the KeyBindingData on an action to either assign a keybinding or remove it (keyBindingData = null).
        Parameters:
        keyBindingData - if non-null, assigns a keybinding to the action. Otherwise, removes any keybinding from the action.
      • setUnvalidatedKeyBindingData

        void setUnvalidatedKeyBindingData​(KeyBindingData newKeyBindingData)
        Users creating actions should not call this method, but should instead call setKeyBindingData(KeyBindingData).

        Call this method when you wish to bypass the validation of setKeyBindingData(KeyBindingData) so that keybindings are set exactly as they are given (such as when set by the user and not by the programmer).

        Parameters:
        newKeyBindingData - the KeyBindingData to be used to assign this action to a keybinding
      • dispose

        void dispose()
        Called when the action's owner is removed from the tool