Package org.eclipse.ui.actions
Class RetargetAction
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.jface.action.AbstractAction
-
- org.eclipse.jface.action.Action
-
- org.eclipse.ui.actions.PartEventAction
-
- org.eclipse.ui.actions.RetargetAction
-
- All Implemented Interfaces:
IAction
,ActionFactory.IWorkbenchAction
,IPartListener
- Direct Known Subclasses:
LabelRetargetAction
public class RetargetAction extends PartEventAction implements ActionFactory.IWorkbenchAction
ARetargetAction
tracks the active part in the workbench. Each RetargetAction has an ID. If the active part provides an action handler for the ID the enable and check state of the RetargetAction is determined from the enable and check state of the handler. If the active part does not provide an action handler then this action is disabled.Note: instances of this class add themselves as listeners to their action handler. It is important for the creator of a retarget action to call dispose when the action is no longer needed. This will ensure that the listener is removed.
This class may be instantiated. It is not intented to be subclassed.
- Since:
- 2.0
- Restriction:
- This class is not intended to be subclassed by clients.
-
-
Field Summary
-
Fields inherited from interface org.eclipse.jface.action.IAction
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, HANDLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT
-
-
Constructor Summary
Constructors Constructor Description RetargetAction(String actionID, String text)
Constructs a RetargetAction with the given action id and text.RetargetAction(String actionID, String text, int style)
Constructs a RetargetAction with the given action id, text and style.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
dispose()
Disposes of the action and any resources held.void
enableAccelerator(boolean b)
Enables the accelerator for this action.int
getAccelerator()
Returns the accelerator keycode for this action.IAction
getActionHandler()
Returns the action handler.boolean
isHandled()
Returns whether this action is handled.void
partActivated(IWorkbenchPart part)
A workbench part has been activated.void
partClosed(IWorkbenchPart part)
A workbench part has been closed.void
partDeactivated(IWorkbenchPart part)
A workbench part has been deactivated.protected void
propagateChange(PropertyChangeEvent event)
Either the action handler itself has changed, or the configured action handlers on the action bars have changed.void
run()
Invoked when an action occurs.void
runWithEvent(Event event)
Invoked when an action occurs.protected void
setActionHandler(IAction newHandler)
Sets the action handler.void
setChecked(boolean checked)
Sets the checked status of this action.void
setHelpListener(HelpListener listener)
TheRetargetAction
implementation of this method declared onIAction
stores the help listener in a local field.String
toString()
Returns a string representation of this action.-
Methods inherited from class org.eclipse.ui.actions.PartEventAction
getActivePart, partBroughtToTop, partOpened
-
Methods inherited from class org.eclipse.jface.action.Action
convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, notifyResult, removeAcceleratorText, removeMnemonics, setAccelerator, setActionDefinitionId, setDescription, setDisabledImageDescriptor, setEnabled, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
-
Methods inherited from class org.eclipse.jface.action.AbstractAction
addPropertyChangeListener, firePropertyChange, firePropertyChange, removePropertyChangeListener
-
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.jface.action.IAction
addPropertyChangeListener, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, removePropertyChangeListener, setAccelerator, setActionDefinitionId, setDescription, setDisabledImageDescriptor, setEnabled, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
-
-
-
-
Constructor Detail
-
RetargetAction
public RetargetAction(String actionID, String text)
Constructs a RetargetAction with the given action id and text.- Parameters:
actionID
- the retargetable action idtext
- the action's text, ornull
if there is no text
-
RetargetAction
public RetargetAction(String actionID, String text, int style)
Constructs a RetargetAction with the given action id, text and style.- Parameters:
actionID
- the retargetable action idtext
- the action's text, ornull
if there is no textstyle
- one ofAS_PUSH_BUTTON
,AS_CHECK_BOX
,AS_DROP_DOWN_MENU
,AS_RADIO_BUTTON
, andAS_UNSPECIFIED
- Since:
- 3.0
-
-
Method Detail
-
dispose
public void dispose()
Disposes of the action and any resources held.- Specified by:
dispose
in interfaceActionFactory.IWorkbenchAction
-
enableAccelerator
public void enableAccelerator(boolean b)
Enables the accelerator for this action.- Parameters:
b
- the new enable state
-
getAccelerator
public int getAccelerator()
Description copied from interface:IAction
Returns the accelerator keycode for this action. The result is the bit-wise OR of zero or more modifier masks and a key, as explained inMenuItem.getAccelerator
.- Specified by:
getAccelerator
in interfaceIAction
- Overrides:
getAccelerator
in classAction
- Returns:
- the accelerator keycode
- See Also:
MenuItem.getAccelerator()
-
partActivated
public void partActivated(IWorkbenchPart part)
A workbench part has been activated. Try to connect to it.- Specified by:
partActivated
in interfaceIPartListener
- Overrides:
partActivated
in classPartEventAction
- Parameters:
part
- the workbench part that has been activated- See Also:
IWorkbenchPage.activate(org.eclipse.ui.IWorkbenchPart)
-
partClosed
public void partClosed(IWorkbenchPart part)
A workbench part has been closed.- Specified by:
partClosed
in interfaceIPartListener
- Overrides:
partClosed
in classPartEventAction
- Parameters:
part
- the workbench part that has been closed- See Also:
IWorkbenchPage.hideView(IViewPart)
-
partDeactivated
public void partDeactivated(IWorkbenchPart part)
A workbench part has been deactivated. Disconnect from it.- Specified by:
partDeactivated
in interfaceIPartListener
- Overrides:
partDeactivated
in classPartEventAction
- Parameters:
part
- the workbench part that has been deactivated- See Also:
IWorkbenchPage.activate(IWorkbenchPart)
-
propagateChange
protected void propagateChange(PropertyChangeEvent event)
Either the action handler itself has changed, or the configured action handlers on the action bars have changed. Update self.
-
run
public void run()
Invoked when an action occurs.- Specified by:
run
in interfaceIAction
- Overrides:
run
in classAction
- See Also:
How radio buttons are handled
,How check boxes are handled
-
runWithEvent
public void runWithEvent(Event event)
Invoked when an action occurs.- Specified by:
runWithEvent
in interfaceIAction
- Overrides:
runWithEvent
in classAction
- Parameters:
event
- the SWT event which triggered this action being run- See Also:
How radio buttons are handled
,How check boxes are handled
-
getActionHandler
public IAction getActionHandler()
Returns the action handler. This method was made public in 3.0.- Returns:
- The current action handling this retargettable action. This handler
will be
null
if there is no current handler.
-
isHandled
public final boolean isHandled()
Description copied from interface:IAction
Returns whether this action is handled. In the default case, this is alwaystrue
. However, if the action delegates some of its behaviour to some other object, then this method should answer whether such an object is currently available.
-
setActionHandler
protected void setActionHandler(IAction newHandler)
Sets the action handler.
-
setChecked
public void setChecked(boolean checked)
Description copied from interface:IAction
Sets the checked status of this action. Applicable for the stylesAS_CHECK_BOX
orAS_RADIO_BUTTON
.Fires a property change event for the
CHECKED
property if the checked status actually changes as a consequence.- Specified by:
setChecked
in interfaceIAction
- Overrides:
setChecked
in classAction
- Parameters:
checked
- the new checked status- See Also:
IAction.CHECKED
-
setHelpListener
public void setHelpListener(HelpListener listener)
TheRetargetAction
implementation of this method declared onIAction
stores the help listener in a local field. The supplied listener is only used if there is no hanlder.- Specified by:
setHelpListener
in interfaceIAction
- Overrides:
setHelpListener
in classAction
- Parameters:
listener
- a help listener for this action
-
-