Class SharedStubKeyBindingAction
- All Implemented Interfaces:
DockingActionIf,OptionsChangeListener,HelpDescriptor
Some ways this class is used:
- As a central action to manage key bindings for multiple actions from different clients (plugins) that are conceptually the same. When the plugins are loaded these actions get registered and are wired to listen to key binding changes to this stub.
- As a placeholder action to manage key bindings for actions that have not yet been registered and may not get registered during the lifetime of a single tool session. This can happen when a plugin has transient component providers that only get shown upon a user request. This stub allows the key binding for those actions to be managed, even if they do not get registered when the tool is shown.
Clients should not be using this class directly.
-
Field Summary
Fields inherited from interface docking.action.DockingActionIf
DESCRIPTION_PROPERTY, ENABLEMENT_PROPERTY, GLOBALCONTEXT_PROPERTY, KEYBINDING_DATA_PROPERTY, MENUBAR_DATA_PROPERTY, POPUP_MENU_DATA_PROPERTY, TOOLBAR_DATA_PROPERTY -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerformed(ActionContext context) method to actually perform the action logic for this action.voiddispose()Cleans up any resources used by the action.Returns a short description of this action.Returns a description of this actions owner.booleanisAddToPopup(ActionContext context) method is used to determine if this action should be displayed on the current popup.booleanisEnabledForContext(ActionContext context) Method used to determine if this action should be enabled for the given context.booleanisValidContext(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.voidoptionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue) Notification that an option changed.voidsetUnvalidatedKeyBindingData(KeyBindingData newKeyBindingData) Users creating actions should not call this method, but should instead callDockingActionIf.setKeyBindingData(KeyBindingData).toString()Methods inherited from class docking.action.DockingAction
addPropertyChangeListener, addToWindowWhen, createButton, createMenuItem, doCreateButton, doCreateMenuItem, enabledWhen, firePropertyChanged, getContextClass, getDefaultKeyBindingData, getFullName, getHelpInfo, getHelpLocation, getHelpObject, getInceptionFromTheFirstClassThatIsNotUsOrABuilder, getInceptionInformation, getKeyBinding, getKeyBindingData, getKeyBindingType, getMenuBarData, getName, getOwner, getPopupMenuData, getPreferredKeyBindingType, getToolBarData, isEnabled, markHelpUnnecessary, popupWhen, removePropertyChangeListener, setAddToAllWindows, setContextClass, setDefaultKeyBindingData, setDescription, setEnabled, setHelpLocation, setKeyBindingData, setMenuBarData, setPopupMenuData, setToolBarData, shouldAddToWindow, supportsDefaultContext, validContextWhenMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface docking.action.DockingActionIf
createMenuComponent
-
Method Details
-
getOwnerDescription
Description copied from interface:DockingActionIfReturns a description of this actions owner. For most actions this will return the same value asDockingActionIf.getOwner().- Specified by:
getOwnerDescriptionin interfaceDockingActionIf- Returns:
- the description
-
getDescription
Description copied from interface:DockingActionIfReturns a short description of this action. Generally used for a tooltip- Specified by:
getDescriptionin interfaceDockingActionIf- Overrides:
getDescriptionin classDockingAction- Returns:
- the description
-
setUnvalidatedKeyBindingData
Description copied from interface:DockingActionIfUsers creating actions should not call this method, but should instead callDockingActionIf.setKeyBindingData(KeyBindingData).Call this method when you wish to bypass the validation of
DockingActionIf.setKeyBindingData(KeyBindingData)so that keybindings are set exactly as they are given (such as when set by the user and not by the programmer).- Specified by:
setUnvalidatedKeyBindingDatain interfaceDockingActionIf- Overrides:
setUnvalidatedKeyBindingDatain classDockingAction- Parameters:
newKeyBindingData- the KeyBindingData to be used to assign this action to a keybinding
-
optionsChanged
public void optionsChanged(ToolOptions options, String optionName, Object oldValue, Object newValue) Description copied from interface:OptionsChangeListenerNotification that an option changed.Note: to reject an options change, you can throw a
OptionsVetoException.- Specified by:
optionsChangedin interfaceOptionsChangeListener- Parameters:
options- options object containing the property that changedoptionName- name of option that changedoldValue- old value of the optionnewValue- new value of the option
-
actionPerformed
Description copied from interface:DockingActionIfmethod to actually perform the action logic for this action.- Specified by:
actionPerformedin interfaceDockingActionIf- Specified by:
actionPerformedin classDockingAction- Parameters:
context- theActionContextobject that provides information about where and how this action was invoked.
-
isAddToPopup
Description copied from interface:DockingActionIfmethod is used to determine if this action should be displayed on the current popup. This method will only be called if the action has popupPopupMenuDataset.Generally, actions don't need to override this method as the default implementation will defer to the
DockingActionIf.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 theDockingActionIf.isEnabledForContext(ActionContext)method will return false, resulting in the action appearing in the popup menu, but begin disabled.- Specified by:
isAddToPopupin interfaceDockingActionIf- Overrides:
isAddToPopupin classDockingAction- Parameters:
context- theActionContextfrom the active provider.- Returns:
- true if this action is appropriate for the given context.
-
isValidContext
Description copied from interface:DockingActionIfMethod 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:
isValidContextin interfaceDockingActionIf- Overrides:
isValidContextin classDockingAction- Parameters:
context- theActionContextfrom the active provider.- Returns:
- true if this action is appropriate for the given context.
-
isEnabledForContext
Description copied from interface:DockingActionIfMethod 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:
- when the user invokes the action via its keyBinding,
- the user changes focus from one component provider to another,
- the user moves a component to another position in the window or into another window,
- a component provider reports a change in it's context,
- any plugin or software component reports a general change in context (calls the tool.contextChanged(ComponentProvider) with a null parameter).
- Specified by:
isEnabledForContextin interfaceDockingActionIf- Overrides:
isEnabledForContextin classDockingAction- Parameters:
context- the currentActionContextfor the window.- Returns:
- true if the action should be enabled for the context or false otherwise.
-
dispose
public void dispose()Description copied from class:DockingActionCleans up any resources used by the action.- Specified by:
disposein interfaceDockingActionIf- Overrides:
disposein classDockingAction
-
toString
- Overrides:
toStringin classDockingAction
-