Class AbstractLaunchHistoryAction
- java.lang.Object
-
- org.eclipse.debug.ui.actions.AbstractLaunchHistoryAction
-
- All Implemented Interfaces:
org.eclipse.debug.internal.ui.ILaunchHistoryChangedListener
,IActionDelegate
,IActionDelegate2
,IWorkbenchWindowActionDelegate
,IWorkbenchWindowPulldownDelegate
,IWorkbenchWindowPulldownDelegate2
- Direct Known Subclasses:
AbstractLaunchToolbarAction
public abstract class AbstractLaunchHistoryAction extends Object implements IActionDelegate2, IWorkbenchWindowPulldownDelegate2, org.eclipse.debug.internal.ui.ILaunchHistoryChangedListener
Abstract implementation of an action that displays a drop-down launch history for a specific launch group.Clients may subclass this class.
- Since:
- 2.1
- See Also:
LaunchingResourceManager
,ILaunchLabelChangedListener
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
fRecreateMenu
Indicates whether the launch history has changed and the sub menu needs to be recreated.
-
Constructor Summary
Constructors Constructor Description AbstractLaunchHistoryAction(String launchGroupIdentifier)
Constructs a launch history action.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
addSeparator(Menu menu)
Adds a separator to the given menuprotected void
addToMenu(Menu menu, IAction action, int accelerator)
Adds the given action to the specified menu with an accelerator specified by the given number.void
dispose()
Allows the action delegate to clean up.protected void
fillMenu(Menu menu)
Fills the drop-down menu with favorites and launch historyprotected IAction
getAction()
Returns the action used to render this delegate.protected ILaunchConfiguration[]
getFavorites()
Returns the launch favorites associated with this action's launch mode and group in user preference order.protected ILaunchConfiguration[]
getHistory()
Returns the launch history associated with this action's launch mode and group in most recently launched order.protected ILaunchConfiguration
getLastLaunch()
Return the last launch in this action's launch history.protected String
getLaunchGroupIdentifier()
Returns the identifier of the launch group this action is associated with.protected org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory
getLaunchHistory()
Deprecated.this method returns a class that is not API and is not intended for clients of the debug platform.Menu
getMenu(Control parent)
Returns the menu for this pull down action.Menu
getMenu(Menu parent)
Returns the menu for this pull down action.protected String
getMode()
Returns the mode (e.g., 'run' or 'debug') of this drop down.protected String
getToolTip(ILaunchConfiguration configuration)
Returns the tooltip specific to a configuration.void
init(IAction action)
Allows the action delegate to initialize itself after being created by the proxy action.void
init(IWorkbenchWindow window)
Initializes this action delegate with the workbench window it will work in.void
launchHistoryChanged()
Notification that the launch history has changed.void
run(IAction action)
Performs this action.protected void
runInternal(IAction action, boolean isShift)
void
runWithEvent(IAction action, Event event)
Performs this action, passing the SWT event which triggered it.void
selectionChanged(IAction action, ISelection selection)
Notifies this action delegate that the selection in the workbench has changed.protected void
updateTooltip()
Updates this action's tool-tip.
-
-
-
Constructor Detail
-
AbstractLaunchHistoryAction
public AbstractLaunchHistoryAction(String launchGroupIdentifier)
Constructs a launch history action.- Parameters:
launchGroupIdentifier
- unique identifier of the launch group extension that this action displays a launch history for.
-
-
Method Detail
-
getAction
protected IAction getAction()
Returns the action used to render this delegate.- Returns:
- the action used to render this delegate
-
addToMenu
protected void addToMenu(Menu menu, IAction action, int accelerator)
Adds the given action to the specified menu with an accelerator specified by the given number.- Parameters:
menu
- the menu to add the action toaction
- the action to addaccelerator
- the number that should appear as an accelerator
-
updateTooltip
protected void updateTooltip()
Updates this action's tool-tip. The tooltip is based on user preference settings for launching - either the previous launch, or based on the selection and which configuration will be launched.Subclasses may override as required.
-
getToolTip
protected String getToolTip(ILaunchConfiguration configuration)
Returns the tooltip specific to a configuration.- Parameters:
configuration
- aILauncConfiguration
- Returns:
- the string for the tool tip
-
launchHistoryChanged
public void launchHistoryChanged()
Description copied from interface:org.eclipse.debug.internal.ui.ILaunchHistoryChangedListener
Notification that the launch history has changed. Any of the run history, debug history or last launched items could have changed. To examine the history items, retrieve them from theDebugUIPlugin
.- Specified by:
launchHistoryChanged
in interfaceorg.eclipse.debug.internal.ui.ILaunchHistoryChangedListener
- See Also:
ILaunchHistoryChangedListener.launchHistoryChanged()
-
dispose
public void dispose()
Description copied from interface:IActionDelegate2
Allows the action delegate to clean up. This lifecycle method is called when the proxy action is done with this action delegate. This is the last method called.- Specified by:
dispose
in interfaceIActionDelegate2
- Specified by:
dispose
in interfaceIWorkbenchWindowActionDelegate
- See Also:
IWorkbenchWindowActionDelegate.dispose()
-
getLastLaunch
protected ILaunchConfiguration getLastLaunch()
Return the last launch in this action's launch history.- Returns:
- the most recent configuration that was launched from this action's launch history that is not filtered from the menu
-
getMenu
public Menu getMenu(Control parent)
Description copied from interface:IWorkbenchWindowPulldownDelegate
Returns the menu for this pull down action. This method will only be called if the user opens the pull down menu for the action. Note that it is the responsibility of the implementor to properly dispose of any SWT menus created by this method.- Specified by:
getMenu
in interfaceIWorkbenchWindowPulldownDelegate
- Parameters:
parent
- the control to set the menu on- Returns:
- the menu
- See Also:
IWorkbenchWindowPulldownDelegate.getMenu(org.eclipse.swt.widgets.Control)
-
getMenu
public Menu getMenu(Menu parent)
Description copied from interface:IWorkbenchWindowPulldownDelegate2
Returns the menu for this pull down action. This method will only be called if the user opens the pull down menu for the action. Note that it is the responsibility of the implementor to properly dispose of any SWT menus created by this method.- Specified by:
getMenu
in interfaceIWorkbenchWindowPulldownDelegate2
- Parameters:
parent
- the menu to work with- Returns:
- the menu
-
fillMenu
protected void fillMenu(Menu menu)
Fills the drop-down menu with favorites and launch history- Parameters:
menu
- the menu to fill
-
addSeparator
protected void addSeparator(Menu menu)
Adds a separator to the given menu- Parameters:
menu
- the menu to add the separator to
-
run
public void run(IAction action)
Description copied from interface:IActionDelegate
Performs this action.This method is called by the proxy action when the action has been triggered. Implement this method to do the actual work.
Note: If the action delegate also implements
IActionDelegate2
, then this method is not invoked but instead therunWithEvent(IAction, Event)
method is called.- Specified by:
run
in interfaceIActionDelegate
- Parameters:
action
- the action proxy that handles the presentation portion of the action- See Also:
IActionDelegate.run(org.eclipse.jface.action.IAction)
-
runWithEvent
public void runWithEvent(IAction action, Event event)
Description copied from interface:IActionDelegate2
Performs this action, passing the SWT event which triggered it. This method is called by the proxy action when the action has been triggered. Implement this method to do the actual work.Note: This method is called instead of
run(IAction)
.- Specified by:
runWithEvent
in interfaceIActionDelegate2
- Parameters:
action
- the action proxy that handles the presentation portion of the actionevent
- the SWT event which triggered this action being run- Since:
- 3.6
- See Also:
IActionDelegate2.runWithEvent(org.eclipse.jface.action.IAction, org.eclipse.swt.widgets.Event)
-
runInternal
protected void runInternal(IAction action, boolean isShift)
- Since:
- 3.12
-
init
public void init(IAction action)
Description copied from interface:IActionDelegate2
Allows the action delegate to initialize itself after being created by the proxy action. This lifecycle method is called after the action delegate has been created and before any other method of the action delegate is called.- Specified by:
init
in interfaceIActionDelegate2
- Parameters:
action
- the proxy action that handles the presentation portion of the action.- Since:
- 3.6
- See Also:
IActionDelegate2.init(org.eclipse.jface.action.IAction)
-
selectionChanged
public void selectionChanged(IAction action, ISelection selection)
Description copied from interface:IActionDelegate
Notifies this action delegate that the selection in the workbench has changed.Implementers can use this opportunity to change the availability of the action or to modify other presentation properties.
When the selection changes, the action enablement state is updated based on the criteria specified in the plugin.xml file. Then the delegate is notified of the selection change regardless of whether the enablement criteria in the plugin.xml file is met.
- Specified by:
selectionChanged
in interfaceIActionDelegate
- Parameters:
action
- the action proxy that handles presentation portion of the actionselection
- the current selection, ornull
if there is no selection.- See Also:
IActionDelegate.selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
-
init
public void init(IWorkbenchWindow window)
Description copied from interface:IWorkbenchWindowActionDelegate
Initializes this action delegate with the workbench window it will work in.- Specified by:
init
in interfaceIWorkbenchWindowActionDelegate
- Parameters:
window
- the window that provides the context for this delegate- See Also:
IWorkbenchWindowActionDelegate.init(org.eclipse.ui.IWorkbenchWindow)
-
getLaunchHistory
@Deprecated protected org.eclipse.debug.internal.ui.launchConfigurations.LaunchHistory getLaunchHistory()
Deprecated.this method returns a class that is not API and is not intended for clients of the debug platform. Instead, usegetHistory()
,getFavorites()
, andgetLastLaunch()
.Returns the launch history associated with this action's launch group.- Returns:
- the launch history associated with this action's launch group
-
getHistory
protected ILaunchConfiguration[] getHistory()
Returns the launch history associated with this action's launch mode and group in most recently launched order. Configurations associated with disabled activities are not included in the list. As well, configurations are filtered based on workspace preference settings to filter configurations from closed projects, deleted projects, working sets and to filter specific launch configuration types.- Returns:
- launch history
- Since:
- 3.3
-
getFavorites
protected ILaunchConfiguration[] getFavorites()
Returns the launch favorites associated with this action's launch mode and group in user preference order. Configurations associated with disabled activities are not included in the list. As well, configurations are filtered based on workspace preference settings to filter configurations from closed projects, deleted projects, working sets and to filter specific launch configuration types.- Returns:
- favorite launch configurations
- Since:
- 3.3
-
getMode
protected String getMode()
Returns the mode (e.g., 'run' or 'debug') of this drop down.- Returns:
- the mode of this action
-
getLaunchGroupIdentifier
protected String getLaunchGroupIdentifier()
Returns the identifier of the launch group this action is associated with.- Returns:
- the identifier of the launch group this action is associated with
-
-