Class DebugCommandAction
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.jface.action.AbstractAction
-
- org.eclipse.jface.action.Action
-
- org.eclipse.debug.ui.actions.DebugCommandAction
-
- All Implemented Interfaces:
IDebugContextListener
,IAction
public abstract class DebugCommandAction extends Action implements IDebugContextListener
Abstract base class for re-targeting actions which delegate execution toIDebugCommandHandler
handlers. The specific type ofIDebugCommandHandler
is determined by the abstractgetCommandType()
method.This base class is an action which can be instantiated directly by views, etc. In order to contribute an action using an extension point, a class implementing
IActionDelegate
should be created first. The delegate should then use aDebugCommandAction
to implement the needed functionality. The IActionDelegate must usesetActionProxy(IAction)
specifying the workbench's action that is a proxy to the action delegate. This way, the workbench action can be updated visually as needed.
Note:IDebugCommandHandler
command typically act on the active debug context as opposed to the active selection in view or window. The action delegate should ignore the active window selection, and instead allow theDebugCommandAction
to update itself based on the active debug context.Clients may subclass this class.
- Since:
- 3.6
- See Also:
IDebugCommandHandler
-
-
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 DebugCommandAction()
Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
debugContextChanged(DebugContextEvent event)
Notification the debug context has changed as specified by the given event.void
dispose()
Clean up when removingprotected IAction
getActionProxy()
Returns the workbench proxy associated with this action ornull
if none.protected abstract Class<?>
getCommandType()
Returns theIDebugCommandHandler
command handler that type this action executes.protected ISelection
getContext()
Returns the context (selection) this action operates on.protected IDebugContextService
getDebugContextService()
Returns the context service this action linked to.abstract ImageDescriptor
getDisabledImageDescriptor()
Returns the disabled image for this action as an image descriptor.abstract String
getHelpContextId()
Returns the help context id for this action ornull
if none.abstract ImageDescriptor
getHoverImageDescriptor()
Returns the hover image for this action as an image descriptor.abstract String
getId()
Returns a unique identifier for this action, ornull
if it has none.abstract ImageDescriptor
getImageDescriptor()
Returns the image for this action as an image descriptor.protected boolean
getInitialEnablement()
Returns whether this action should be enabled when initialized and there is no active debug context.abstract String
getText()
Returns the text for this action.abstract String
getToolTipText()
Returns the tool tip text for this action.void
init(IWorkbenchPart part)
Initializes this action for a specific part.void
init(IWorkbenchWindow window)
Initializes this action for a workbench window.protected void
postExecute(IRequest request, Object[] targets)
This method is called after the completion of the execution of this command.void
run()
The default implementation of thisIAction
method does nothing.void
runWithEvent(Event event)
The default implementation of thisIAction
method ignores the event argument, and simply callsrun()
.void
setActionProxy(IAction action)
Sets the current workbench action that is a proxy to anIActionDelegate
that is using this action to perform its actual work.void
setEnabled(boolean enabled)
Sets the enabled state of this action.-
Methods inherited from class org.eclipse.jface.action.Action
convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, getAccelerator, getActionDefinitionId, getDescription, getHelpListener, getMenuCreator, getStyle, isChecked, isEnabled, isHandled, notifyResult, removeAcceleratorText, removeMnemonics, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setHelpListener, 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
-
-
-
-
Method Detail
-
setActionProxy
public void setActionProxy(IAction action)
Sets the current workbench action that is a proxy to anIActionDelegate
that is using this action to perform its actual work. This only needs to be called when anIActionDelegate
is using one of these actions to perform its function.- Parameters:
action
- workbench proxy action
-
postExecute
protected void postExecute(IRequest request, Object[] targets)
This method is called after the completion of the execution of this command. Extending classes may override this method to perform additional operation after command execution.- Parameters:
request
- The completed request object which was given to the debug command handler.targets
- Objects which were the targets of this action
-
getCommandType
protected abstract Class<?> getCommandType()
Returns theIDebugCommandHandler
command handler that type this action executes.- Returns:
- command class.
- See Also:
IDebugCommandHandler
-
debugContextChanged
public void debugContextChanged(DebugContextEvent event)
Description copied from interface:IDebugContextListener
Notification the debug context has changed as specified by the given event.- Specified by:
debugContextChanged
in interfaceIDebugContextListener
- Parameters:
event
- debug context event- See Also:
IDebugContextListener.debugContextChanged(org.eclipse.debug.ui.contexts.DebugContextEvent)
-
setEnabled
public void setEnabled(boolean enabled)
Description copied from interface:IAction
Sets the enabled state of this action.When an action is in the enabled state, the control associated with it is active; triggering it will end up inkoking this action's
run
method.Fires a property change event for the
ENABLED
property if the enabled state actually changes as a consequence.- Specified by:
setEnabled
in interfaceIAction
- Overrides:
setEnabled
in classAction
- Parameters:
enabled
-true
to enable, andfalse
to disable- See Also:
Action.setEnabled(boolean)
-
init
public void init(IWorkbenchPart part)
Initializes this action for a specific part.- Parameters:
part
- workbench part
-
init
public void init(IWorkbenchWindow window)
Initializes this action for a workbench window.- Parameters:
window
- the window
-
getInitialEnablement
protected boolean getInitialEnablement()
Returns whether this action should be enabled when initialized and there is no active debug context. By default,false
is returned.- Returns:
- initial enabled state when there is no active context.
-
getContext
protected ISelection getContext()
Returns the context (selection) this action operates on. By default the active debug context in this action's associated part or window is used, but subclasses may override as required.- Returns:
- the context this action operates on
- Since:
- 3.7
-
run
public void run()
Description copied from class:Action
The default implementation of thisIAction
method does nothing. Subclasses should override this method if they do not need information from the triggering event, or overriderunWithEvent(Event)
if they do.- 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)
Description copied from class:Action
The default implementation of thisIAction
method ignores the event argument, and simply callsrun()
. Subclasses should override this method if they need information from the triggering event, or overriderun()
if not.- 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
-
dispose
public void dispose()
Clean up when removing
-
getDebugContextService
protected IDebugContextService getDebugContextService()
Returns the context service this action linked to. By default, this actions is associated with the context service for the window this action is operating in.- Returns:
- associated context service
-
getHelpContextId
public abstract String getHelpContextId()
Returns the help context id for this action ornull
if none.- Returns:
- The help context id for this action or
null
-
getId
public abstract String getId()
Description copied from interface:IAction
Returns a unique identifier for this action, ornull
if it has none.
-
getText
public abstract String getText()
Description copied from interface:IAction
Returns the text for this action.This method is associated with the
TEXT
property; property change events are reported when its value changes.- Specified by:
getText
in interfaceIAction
- Overrides:
getText
in classAction
- Returns:
- the text, or
null
if none - See Also:
IAction.TEXT
-
getToolTipText
public abstract String getToolTipText()
Description copied from interface:IAction
Returns the tool tip text for this action.This method is associated with the
TOOL_TIP_TEXT
property; property change events are reported when its value changes.- Specified by:
getToolTipText
in interfaceIAction
- Overrides:
getToolTipText
in classAction
- Returns:
- the tool tip text, or
null
if none - See Also:
IAction.TOOL_TIP_TEXT
-
getDisabledImageDescriptor
public abstract ImageDescriptor getDisabledImageDescriptor()
Description copied from interface:IAction
Returns the disabled image for this action as an image descriptor.This method is associated with the
IMAGE
property; property change events are reported when its value changes.- Specified by:
getDisabledImageDescriptor
in interfaceIAction
- Overrides:
getDisabledImageDescriptor
in classAction
- Returns:
- the image, or
null
if this action has no image - See Also:
IAction.IMAGE
-
getHoverImageDescriptor
public abstract ImageDescriptor getHoverImageDescriptor()
Description copied from interface:IAction
Returns the hover image for this action as an image descriptor.Hover images will be used on platforms that support changing the image when the user hovers over the item. This method is associated with the
IMAGE
property; property change events are reported when its value changes.- Specified by:
getHoverImageDescriptor
in interfaceIAction
- Overrides:
getHoverImageDescriptor
in classAction
- Returns:
- the image, or
null
if this action has no image - See Also:
IAction.IMAGE
-
getImageDescriptor
public abstract ImageDescriptor getImageDescriptor()
Description copied from interface:IAction
Returns the image for this action as an image descriptor.This method is associated with the
IMAGE
property; property change events are reported when its value changes.- Specified by:
getImageDescriptor
in interfaceIAction
- Overrides:
getImageDescriptor
in classAction
- Returns:
- the image, or
null
if this action has no image - See Also:
IAction.IMAGE
-
getActionProxy
protected IAction getActionProxy()
Returns the workbench proxy associated with this action ornull
if none. This is the workbench proxy to anIActionDelegate
that is using this action to perform its actual work. This is only used when anIActionDelegate
is using one of these actions to perform its function.- Returns:
- workbench proxy action or
null
-
-