org.openide.util.actions
Class NodeAction
java.lang.Object
|
+--org.openide.util.SharedClassObject
|
+--org.openide.util.actions.SystemAction
|
+--org.openide.util.actions.CallableSystemAction
|
+--org.openide.util.actions.NodeAction
- All Implemented Interfaces:
- Action, ActionListener, EventListener, Externalizable, Presenter, Presenter.Menu, Presenter.Popup, Presenter.Toolbar, Serializable
- Direct Known Subclasses:
- AbstractCompileAction, CookieAction, CustomizeAction, GoAction, InstantiateAction, MoveDownAction, MoveUpAction, NewAction, NewTemplateAction, OpenLocalExplorerAction, PropertiesAction, RenameAction, SaveAsTemplateAction, StartDebuggerAction
- public abstract class NodeAction
- extends CallableSystemAction
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.
- See Also:
- Serialized Form
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, writeExternal, writeReplace |
NodeAction
public NodeAction()
initialize
protected void initialize()
- Description copied from class:
SystemAction
- Initialize the action.
The default implementation just enabled it.
- Overrides:
initialize
in class SystemAction
addNotify
protected void addNotify()
- Initializes selection listener.
If you override this method, you must always call the super method first.
- Overrides:
addNotify
in class SharedClassObject
removeNotify
protected void removeNotify()
- Shuts down the selection listener.
If you override this method, you must always call the super method last.
- Overrides:
removeNotify
in class SharedClassObject
isEnabled
public boolean isEnabled()
- Test for enablement based on
enable(org.openide.nodes.Node[])
.
You probably ought not ever override this.
- Overrides:
isEnabled
in class SystemAction
- Returns:
true
to enable
setEnabled
public void setEnabled(boolean e)
- Description copied from class:
SystemAction
- Set whether the action should be enabled.
- Overrides:
setEnabled
in class SystemAction
- Following copied from class:
org.openide.util.actions.SystemAction
- Parameters:
value
- true
to enable it
actionPerformed
public void actionPerformed(ActionEvent ev)
- Perform the action with a specific action event.
Normally this simply calls
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).
- Overrides:
actionPerformed
in class CallableSystemAction
- Parameters:
ev
- action event
performAction
public void performAction()
- Performs the action.
In the default implementation, calls
performAction(Node[])
.
In general you need not override this.
- Overrides:
performAction
in class CallableSystemAction
getActivatedNodes
public final Node[] getActivatedNodes()
- Get the currently activated nodes.
- Returns:
- the nodes (may be empty but not
null
)
surviveFocusChange
protected boolean surviveFocusChange()
- Specify the behavior of the action when a window with no
activated nodes is selected.
If the action should then be disabled,
return
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.
- Returns:
true
in the default implementation
performAction
protected abstract void performAction(Node[] activatedNodes)
- Perform the action based on the currently activated nodes.
Note that if the source of the event triggering this action was itself
a node, that node will be the sole argument to this method, rather
than the activated nodes.
- Parameters:
activatedNodes
- current activated nodes, may be empty but not null
enable
protected abstract boolean enable(Node[] activatedNodes)
- Test whether the action should be enabled based
on the currently activated nodes.
- Parameters:
activatedNodes
- current activated nodes, may be empty but not null
- Returns:
true
to be enabled, false
to be disabled
Built on December 12 2001. | Portions Copyright 1997-2001 Sun Microsystems, Inc. All rights reserved.