Class MultiActionDockingAction
- java.lang.Object
-
- docking.action.DockingAction
-
- docking.menu.MultiActionDockingAction
-
- All Implemented Interfaces:
DockingActionIf
,MultiActionDockingActionIf
,HelpDescriptor
public abstract class MultiActionDockingAction extends DockingAction implements MultiActionDockingActionIf
A class that supports multiple sub-actions, as well as a primary action. This is useful for actions that perform navigation operations.Clients may add actions to this class with the intention that they will be accessible to the user via a GUI; for example, from a popup menu.
Actions added must have menu bar data set.
This action has a drop-down button that shows a popup menu of all available actions for the user to execute.
If the user executes this action directly, then
DockingAction.actionPerformed(ActionContext)
will be called. Otherwise, theDockingAction.actionPerformed(ActionContext)
method of the sub-action that was executed will be called.- See Also:
MultiStateDockingAction
-
-
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
-
-
Constructor Summary
Constructors Constructor Description MultiActionDockingAction(java.lang.String name, java.lang.String owner)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static DockingActionIf
createSeparator()
javax.swing.JButton
doCreateButton()
java.util.List<DockingActionIf>
getActionList(ActionContext context)
boolean
isEnabledForContext(ActionContext context)
Method used to determine if this action should be enabled for the given context.void
setActions(java.util.List<DockingActionIf> actionList)
void
setPerformActionOnButtonClick(boolean performActionOnButtonClick)
By default a click on this action will triggeractionPerformed()
to be called.-
Methods inherited from class docking.action.DockingAction
actionPerformed, addPropertyChangeListener, addToWindowWhen, createButton, createMenuItem, dispose, doCreateMenuItem, enabledWhen, firePropertyChanged, getDefaultKeyBindingData, getDescription, getFullName, getHelpInfo, getHelpObject, getInceptionFromTheFirstClassThatIsNotUsOrABuilder, getInceptionInformation, getKeyBinding, getKeyBindingData, getKeyBindingType, getMenuBarData, getName, getOwner, getPopupMenuData, getPreferredKeyBindingType, getToolBarData, isAddToPopup, isEnabled, isValidContext, markHelpUnnecessary, popupWhen, removePropertyChangeListener, setAddToAllWindows, setDescription, setEnabled, setHelpLocation, setKeyBindingData, setMenuBarData, setPopupMenuData, setSupportsDefaultToolContext, setToolBarData, setUnvalidatedKeyBindingData, shouldAddToWindow, supportsDefaultToolContext, toString, validContextWhen
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface docking.action.DockingActionIf
getOwnerDescription
-
-
-
-
Method Detail
-
setActions
public void setActions(java.util.List<DockingActionIf> actionList)
-
getActionList
public java.util.List<DockingActionIf> getActionList(ActionContext context)
- Specified by:
getActionList
in interfaceMultiActionDockingActionIf
-
doCreateButton
public javax.swing.JButton doCreateButton()
- Overrides:
doCreateButton
in classDockingAction
-
setPerformActionOnButtonClick
public void setPerformActionOnButtonClick(boolean performActionOnButtonClick)
By default a click on this action will triggeractionPerformed()
to be called. You can call this method to disable that feature. When called withfalse
, this method will effectively let the user click anywhere on the button or its drop-down arrow to show the popup menu. During normal operation, the user can only show the popup by clicking the drop-down arrow.- Parameters:
performActionOnButtonClick
- if true, pressing the button calls actionPerformed; otherwise it pops up the menu.
-
createSeparator
public static DockingActionIf createSeparator()
-
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:
- 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:
isEnabledForContext
in interfaceDockingActionIf
- Overrides:
isEnabledForContext
in classDockingAction
- Parameters:
context
- the currentActionContext
for the window.- Returns:
- true if the action should be enabled for the context or false otherwise.
-
-