|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.openide.util.SharedClassObject org.openide.util.actions.SystemAction org.openide.util.actions.CallableSystemAction org.openide.util.actions.NodeAction
An action which can listen to the activated node selection.
This means that the set of nodes active in a window
may change the enabled state of the action according to enable(org.openide.nodes.Node[])
.
Note: if your action involves getting cookies
from nodes, which in many cases is the correct design, please use
CookieAction
instead, as that permits sensitivity to cookies
and also listens to changes in supplied cookies.
Nested Class Summary |
Nested classes inherited from class org.openide.util.actions.Presenter |
Presenter.Menu, Presenter.Popup, Presenter.Toolbar |
Field Summary |
Fields inherited from class org.openide.util.actions.SystemAction |
PROP_ENABLED, PROP_ICON |
Fields inherited from interface javax.swing.Action |
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, SMALL_ICON |
Constructor Summary | |
NodeAction()
|
Method Summary | |
void |
actionPerformed(ActionEvent ev)
Deprecated. Using a special action event in this way is deprecated. Better is to use createContextAwareInstance(org.openide.util.Lookup) and pass
a lookup containing all desired Node instances. |
protected void |
addNotify()
Initializes selection listener. |
Action |
createContextAwareInstance(Lookup actionContext)
Implements ContextAwareAction interface method. |
protected abstract boolean |
enable(Node[] activatedNodes)
Test whether the action should be enabled based on the currently activated nodes. |
Node[] |
getActivatedNodes()
Get the currently activated nodes. |
protected void |
initialize()
Initialize the action. |
boolean |
isEnabled()
Test for enablement based on enable(org.openide.nodes.Node[]) . |
void |
performAction()
Deprecated. Do not call this programmatically. Use createContextAwareInstance(org.openide.util.Lookup) to pass in a node selection.
Do not override this method. |
protected abstract void |
performAction(Node[] activatedNodes)
Perform the action based on the currently activated nodes. |
protected void |
removeNotify()
Shuts down the selection listener. |
void |
setEnabled(boolean e)
Set whether the action should be enabled. |
protected boolean |
surviveFocusChange()
Specify the behavior of the action when a window with no activated nodes is selected. |
Methods inherited from class org.openide.util.actions.CallableSystemAction |
asynchronous, getMenuPresenter, getPopupPresenter, getToolbarPresenter |
Methods inherited from class org.openide.util.actions.SystemAction |
clearSharedData, createPopupMenu, createToolbarPresenter, get, getHelpCtx, getIcon, getIcon, getName, getValue, iconResource, linkActions, putValue, setIcon |
Methods inherited from class org.openide.util.SharedClassObject |
addPropertyChangeListener, equals, finalize, findObject, findObject, firePropertyChange, getLock, getProperty, hashCode, putProperty, putProperty, readExternal, removePropertyChangeListener, reset, writeExternal, writeReplace |
Methods inherited from class java.lang.Object |
clone, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface javax.swing.Action |
addPropertyChangeListener, getValue, putValue, removePropertyChangeListener |
Constructor Detail |
public NodeAction()
Method Detail |
protected void initialize()
SystemAction
initialize
in class SystemAction
protected void addNotify()
addNotify
in class SharedClassObject
protected void removeNotify()
removeNotify
in class SharedClassObject
public boolean isEnabled()
enable(org.openide.nodes.Node[])
.
You probably ought not ever override this.
isEnabled
in interface Action
isEnabled
in class SystemAction
true
to enablepublic void setEnabled(boolean e)
SystemAction
setEnabled
in interface Action
setEnabled
in class SystemAction
e
- true
to enable itpublic void actionPerformed(ActionEvent ev)
createContextAwareInstance(org.openide.util.Lookup)
and pass
a lookup containing all desired Node
instances.
performAction()
, that is using
the global node selection.
However you may call this directly, with an action event whose
source is either a node or an array of nodes, to invoke the action
directly on that nodes or nodes. If you do this, the action must
be such that it would be enabled on that node selection, otherwise
the action is not required to behave correctly (that is, it can
be written to assume that it is never called with a node selection
it is not enabled on).
actionPerformed
in interface ActionListener
actionPerformed
in class CallableSystemAction
ev
- action eventpublic void performAction()
createContextAwareInstance(org.openide.util.Lookup)
to pass in a node selection.
Do not override this method.
performAction(Node[])
.
performAction
in class CallableSystemAction
public final Node[] getActivatedNodes()
null
)protected boolean surviveFocusChange()
false
here; if the action should stay in the previous state,
return true
.
Note that getActivatedNodes()
and performAction()
are still
passed the set of selected nodes from the old window, if you keep this feature on.
This is useful, e.g., for an action like Compilation which should remain active
even if the user switches to a window like the Output Window that has no associated nodes;
then running the action will still use the last selection from e.g. an Explorer window
or the Editor, if there was one to begin with.
true
in the default implementationprotected abstract void performAction(Node[] activatedNodes)
activatedNodes
- current activated nodes, may be empty but not null
protected abstract boolean enable(Node[] activatedNodes)
activatedNodes
- current activated nodes, may be empty but not null
true
to be enabled, false
to be disabledpublic Action createContextAwareInstance(Lookup actionContext)
ContextAwareAction
interface method.
createContextAwareInstance
in interface ContextAwareAction
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |