public class IdeAction extends ToggleAction
IdeAction
is used when adding a menu and/or toobar button.
An action object is associated with a specific command. When a menu or
toolbar button is clicked on, the action determines the active view
and tells the view controller to handle the command.An action may also have a controller associated with it. When this is the case, the action uses this controller to execute the command. Otherwise, it tries to use the active view controller.
When an action cannot find a controller, it uses the IDE controller.
In addition, actions can store additional information such as: extra data, and a context.
Command
,
Controller
,
Serialized FormModifier and Type | Class and Description |
---|---|
protected class |
IdeAction.ControllerIterator |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CONTROLLER_HANDLING_UPDATE
Internal use only.
|
static boolean |
DEBUG
Internal use only.
|
static java.lang.String |
INVOKED_FROM
Key which may be set on the action to specify where it was invoked from.
|
static java.lang.String |
LAST_TOOLTIP_SUFFIX
Internal use only.
|
static java.lang.String |
ORIGINAL_ACTION_NAME
Internal use only.
|
static java.lang.String |
PERMANENTLY_DISABLED_KEY
Intended for use only with the MenuCustomizationHook to support permanently disabling an action.
|
ACCELERATOR, ACTION, ACTION_MENU_ACTIONS, ACTION_MENU_HAS_DEFAULT_ACTION, BUTTON_GROUP_NAME, CAN_BE_PLACED_ON_MAIN_TOOLBAR, CATEGORY, CONTEXT_INDEPENDENT_NAME, DISABLED_ICON, HIDDEN, MENU_WEIGHT, MENU_WEIGHT_UNASSIGNED, MNEMONIC, PERFORM_ACTION_LATER, RADIO, STATE, TOGGLES, USER_DATA
Modifier | Constructor and Description |
---|---|
protected |
IdeAction()
Deprecated.
Do not use. This constructor just throws an exception.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent event)
This method is called when the user clicks on a menu or toolbar button
associated with this action.
|
void |
addController(Controller controller)
Adds the specified controller to the list of controllers that
manage this IdeAction.
|
static void |
addController(int actionID,
Controller controller)
Convenience method for looking up the specified IdeAction by its
action ID and, if found, adding the specified controller to it.
|
void |
addControllerLast(Controller controller) |
static IdeAction |
find(int cmdId)
Finds the action associated with the specified command if it already
exists.
|
static IdeAction |
find(java.lang.String commandName)
Finds the action associated with the specified command name if it already exists.
|
static IdeAction[] |
findGroup(java.lang.String groupName)
Finds the actions associated with the specified
groupName . |
static IdeAction |
findOrCreate(int cmdId,
MetaClass cmdClass,
java.lang.String name)
Gets the action associated with the specified command if it already
exits.
|
static IdeAction |
findOrCreate(int cmdId,
MetaClass cmdClass,
java.lang.String name,
java.lang.String sCategory,
java.lang.Integer mnemonic,
javax.swing.Icon icon,
java.lang.Object data,
boolean enabled)
Gets the action associated with the specified command if it already
exits.
|
static IdeAction |
findOrCreate(int cmdId,
MetaClass cmdClass,
java.lang.String name,
java.lang.String sCategory,
java.lang.Integer mnemonic,
java.util.ResourceBundle bundle,
java.lang.String key,
java.lang.Object data,
boolean enabled)
Gets the action associated with the specified command if it already
exits.
|
static IdeAction |
get(int cmdId)
Gets the action associated with the specified command id if it already
exists.
|
static IdeAction |
get(int cmdId,
java.lang.String name,
java.lang.Integer mnemonic)
Deprecated.
use the MetaClass version of this method
|
static IdeAction |
get(int cmdId,
java.lang.String cmdClass,
java.lang.String name)
Deprecated.
use the MetaClass version of this method
|
static IdeAction |
get(int cmdId,
java.lang.String cmdClass,
java.lang.String name,
ArrayResourceBundle bundle,
int key)
Deprecated.
since 11.0. Declare actions in an extension manifest, or
use one of the get methods that takes an Icon directly.
Note for internal JDEVADF developers: The addin policy that
icons must not be loaded during product startup is still in effect.
You should avoid incurring the cost of icon loading during product
startup by using the
OracleIcons API. |
static IdeAction |
get(int cmdId,
java.lang.String cmdClass,
java.lang.String name,
java.lang.String sCategory,
java.lang.Integer mnemonic,
ArrayResourceBundle bundle,
int key,
java.lang.Object data,
boolean enabled)
Deprecated.
since 11.0. Declare actions in an extension manifest, or
use one of the get methods that takes an Icon directly.
Note for internal JDEVADF developers: The addin policy that
icons must not be loaded during product startup is still in effect.
You should avoid incurring the cost of icon loading during product
startup by using the
OracleIcons API. |
static IdeAction |
get(int cmdId,
java.lang.String cmdClass,
java.lang.String name,
java.lang.String sCategory,
java.lang.Integer mnemonic,
javax.swing.Icon icon,
java.lang.Object data,
boolean enabled)
Deprecated.
use the MetaClass version of this method
|
static IdeAction |
get(int cmdId,
java.lang.String cmdClass,
java.lang.String name,
java.lang.String sCategory,
java.lang.Integer mnemonic,
java.util.ResourceBundle bundle,
java.lang.String key,
java.lang.Object data,
boolean enabled)
Deprecated.
use the MetaClass version of this method
|
java.lang.ClassLoader |
getClassloader() |
java.lang.String |
getCommand()
Gets the action command.
|
int |
getCommandId()
Gets the action data.
|
MetaClass |
getCommandMetaClass()
Gets the action command.
|
static IdeAction |
getEnabled(int cmdId,
java.lang.String name) |
static IdeAction |
getEnabled(int cmdId,
java.lang.String name,
javax.swing.Icon icon) |
static IdeAction |
getEnabled(int cmdId,
java.lang.String name,
java.util.ResourceBundle bundle) |
static IdeAction |
getEnabled(int cmdId,
java.lang.String name,
java.lang.String category) |
LabelUpdater |
getLabelUpdater() |
java.lang.Object |
getValue(java.lang.String key)
Gets the
Object associated with the specified key.Overriddden to handle the special case when a LabelUpdater may need to update the action's name and updateAction() has not been called yet. |
static boolean |
isHandlerInProgress()
Internal only.
|
boolean |
isLocalAction()
Returns
true if this IdeAction is a local action,
false if global. |
static IdeAction |
newLocalAction(int cmdId,
View view)
Creates a new local IdeAction for the specified cmdId and
for the specified View.
|
IdeAction |
newLocalAction(View view)
Creates a new local IdeAction for the specified View.
|
void |
performAction() |
void |
performAction(Context context) |
void |
putValueDirectly(java.lang.String key,
java.lang.Object value)
This method has the same effect of calling putValue, except that
it does not propagate the value to any linked IdeAction.
|
static void |
remove(int cmdId)
Removes the action associated with the specified command, if it
exists, from the IdeActionMap.
|
void |
removeController(Controller controller)
Removes the specified controller from the list of controllers that
manage this IdeAction.
|
static void |
removeController(int actionID,
Controller controller)
Convenience method for looking up the specified IdeAction by its
action ID and, if found, removing the specified controller from it.
|
void |
setClassloader(java.lang.ClassLoader classloader) |
void |
setCommand(MetaClass metaClass) |
void |
setCommand(java.lang.String command)
Deprecated.
use setCommand(MetaClass) instead
|
void |
setCommandId(int commandId)
Sets the command id data.
|
void |
setLabelUpdater(LabelUpdater labelUpdater) |
void |
updateAction() |
void |
updateAction(Context context) |
addPropertyResolver, freezeKeyboard, getBooleanValue, getMenuWeight, getState, isActionMenu, isRadio, isToggle, listenForItemEvent, putValue, removePropertyResolver, setBooleanValue, setMenuWeight, setName, setState, toString
public static final java.lang.String INVOKED_FROM
public static final java.lang.String ORIGINAL_ACTION_NAME
public static final java.lang.String PERMANENTLY_DISABLED_KEY
public static final java.lang.String LAST_TOOLTIP_SUFFIX
public static final java.lang.String CONTROLLER_HANDLING_UPDATE
public static final boolean DEBUG
@Deprecated protected IdeAction()
@Deprecated public static IdeAction get(int cmdId, java.lang.String cmdClass, java.lang.String name)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.cmdClass
- command class namename
- command label.public static IdeAction findOrCreate(int cmdId, MetaClass cmdClass, java.lang.String name)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.cmdClass
- command MetaClassname
- command label.@Deprecated public static IdeAction get(int cmdId, java.lang.String cmdClass, java.lang.String name, ArrayResourceBundle bundle, int key)
OracleIcons
API.cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.cmdClass
- command class namename
- command label.bundle
- the resource bundle to be used to look up the icon
resource pointed to by the key
parameter.key
- resource key used to look up and load the icon resource.@Deprecated public static IdeAction get(int cmdId, java.lang.String cmdClass, java.lang.String name, java.lang.String sCategory, java.lang.Integer mnemonic, javax.swing.Icon icon, java.lang.Object data, boolean enabled)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.cmdClass
- command class name.name
- command label.sCategory
- the category this command belongs to. Categories group
actions functionally. Existing categories include: Code Editor, Debug,
Edit, File, Help, Model, Project, Run, Search, Tools, View, Window,
Others.mnemonic
- mnemonic to appear in the command label.icon
- name the icon to display along side label.data
- user data associated with this action.enabled
- indicates whether this action is available.public static IdeAction findOrCreate(int cmdId, MetaClass cmdClass, java.lang.String name, java.lang.String sCategory, java.lang.Integer mnemonic, javax.swing.Icon icon, java.lang.Object data, boolean enabled)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.cmdClass
- command class name.name
- command label.sCategory
- the category this command belongs to. Categories group
actions functionally. Existing categories include: Code Editor, Debug,
Edit, File, Help, Model, Project, Run, Search, Tools, View, Window,
Others.mnemonic
- mnemonic to appear in the command label.icon
- name the icon to display along side label.data
- user data associated with this action.enabled
- indicates whether this action is available.public static IdeAction getEnabled(int cmdId, java.lang.String name)
public static IdeAction getEnabled(int cmdId, java.lang.String name, java.lang.String category)
public static IdeAction getEnabled(int cmdId, java.lang.String name, javax.swing.Icon icon)
@Deprecated public static IdeAction get(int cmdId, java.lang.String cmdClass, java.lang.String name, java.lang.String sCategory, java.lang.Integer mnemonic, ArrayResourceBundle bundle, int key, java.lang.Object data, boolean enabled)
OracleIcons
API.cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.cmdClass
- command class name.name
- command label.sCategory
- the category this command belongs to. Categories group
actions functionally. Existing categories include: Code Editor, Debug,
Edit, File, Help, Model, Project, Run, Search, Tools, View, Window,
Others.mnemonic
- mnemonic to appear in the command label.bundle
- the resource bundle to be used to look up the icon
resource pointed to by the key
parameter.key
- resource key used to look up and load the icon resource.data
- user data associated with this action.enabled
- indicates whether this action is available.@Deprecated public static IdeAction get(int cmdId, java.lang.String cmdClass, java.lang.String name, java.lang.String sCategory, java.lang.Integer mnemonic, java.util.ResourceBundle bundle, java.lang.String key, java.lang.Object data, boolean enabled)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.cmdClass
- command class name.name
- command label.sCategory
- the category this command belongs to. Categories group
actions functionally. Existing categories include: Code Editor, Debug,
Edit, File, Help, Model, Project, Run, Search, Tools, View, Window,
Others.mnemonic
- mnemonic to appear in the command label.bundle
- the resource bundle to be used to look up the icon
resource pointed to by the key
parameter.key
- resource key used to look up and load the icon resource.data
- user data associated with this action.enabled
- indicates whether this action is available.public static IdeAction findOrCreate(int cmdId, MetaClass cmdClass, java.lang.String name, java.lang.String sCategory, java.lang.Integer mnemonic, java.util.ResourceBundle bundle, java.lang.String key, java.lang.Object data, boolean enabled)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.cmdClass
- command class name.name
- command label.sCategory
- the category this command belongs to. Categories group
actions functionally. Existing categories include: Code Editor, Debug,
Edit, File, Help, Model, Project, Run, Search, Tools, View, Window,
Others.mnemonic
- mnemonic to appear in the command label.bundle
- the resource bundle to be used to look up the icon
resource pointed to by the key
parameter.key
- resource key used to look up and load the icon resource.data
- user data associated with this action.enabled
- indicates whether this action is available.public static IdeAction getEnabled(int cmdId, java.lang.String name, java.util.ResourceBundle bundle)
public static IdeAction get(int cmdId)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.@Deprecated public static IdeAction get(int cmdId, java.lang.String name, java.lang.Integer mnemonic)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.name
- command label.mnemonic
- mnemonic to appear in the command label.public static IdeAction find(int cmdId)
cmdId
- command identifier. Must be unique. A unique identifier
can be generated using the method Ide.findOrCreateCmdID(String)
.public static IdeAction find(java.lang.String commandName)
commandName
- public static void remove(int cmdId)
cmdId
- command name identifier.public static IdeAction[] findGroup(java.lang.String groupName)
groupName
.groupName
- identifies the group whose actions want to be found.public final void actionPerformed(java.awt.event.ActionEvent event)
It first checks if this action has a preferred controller, if it does, that controller is used. Otherwise, the method gets the active view controller and tells it to handle the command. If no view is active, it delegates to the Ide controller.
If no controller handled the command, as a last resort, the command processor is used to handle the command. The command processor will use the action command class to instantiate a command and execute it.
event
- an action event.public final void performAction() throws java.lang.Exception
java.lang.Exception
public final void performAction(Context context) throws java.lang.Exception
java.lang.Exception
public final void updateAction()
public final void updateAction(Context context)
public void setLabelUpdater(LabelUpdater labelUpdater)
public LabelUpdater getLabelUpdater()
public java.lang.Object getValue(java.lang.String key)
Object
associated with the specified key.getValue
in interface javax.swing.Action
getValue
in class ToggleAction
key
- a string containing the specified key
Object
stored with this key; if there
are no keys, it will return null
Action.getValue(java.lang.String)
public final void addController(Controller controller)
public final void addControllerLast(Controller controller)
public static void addController(int actionID, Controller controller)
public final void removeController(Controller controller)
public static void removeController(int actionID, Controller controller)
public final java.lang.String getCommand()
public final MetaClass getCommandMetaClass()
@Deprecated public final void setCommand(java.lang.String command)
command
- the action command.public final void setCommand(MetaClass metaClass)
public final void setCommandId(int commandId)
commandId
- command id.public final int getCommandId()
public final void putValueDirectly(java.lang.String key, java.lang.Object value)
public static IdeAction newLocalAction(int cmdId, View view)
public IdeAction newLocalAction(View view)
public final boolean isLocalAction()
true
if this IdeAction is a local action,
false
if global.public static boolean isHandlerInProgress()
public void setClassloader(java.lang.ClassLoader classloader)
public java.lang.ClassLoader getClassloader()