Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Piech2009-09-11 18:54:31 +0000
committerPawel Piech2009-09-11 18:54:31 +0000
commitc4038c98424e7972ac934c397f48eabf6f9222d6 (patch)
tree8e0ca2c7e562dfba64f66e49a471bd3ef98aa993 /org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch
parentb4a5f63c927fcca911789d0a42a6695eb017a5fd (diff)
downloadeclipse.platform.debug-c4038c98424e7972ac934c397f48eabf6f9222d6.tar.gz
eclipse.platform.debug-c4038c98424e7972ac934c397f48eabf6f9222d6.tar.xz
eclipse.platform.debug-c4038c98424e7972ac934c397f48eabf6f9222d6.zip
Bug 286256 - Request to move Restart icon to core debug framework
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
index 563dbdc8a..fff336567 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/launch/LaunchView.java
@@ -31,6 +31,7 @@ import org.eclipse.debug.core.DebugException;
import org.eclipse.debug.core.DebugPlugin;
import org.eclipse.debug.core.ILaunch;
import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.debug.core.commands.IRestartHandler;
import org.eclipse.debug.core.model.IDebugElement;
import org.eclipse.debug.core.model.IDebugTarget;
import org.eclipse.debug.core.model.IProcess;
@@ -43,6 +44,7 @@ import org.eclipse.debug.internal.ui.actions.AddToFavoritesAction;
import org.eclipse.debug.internal.ui.actions.EditLaunchConfigurationAction;
import org.eclipse.debug.internal.ui.commands.actions.DisconnectCommandAction;
import org.eclipse.debug.internal.ui.commands.actions.DropToFrameCommandAction;
+import org.eclipse.debug.internal.ui.commands.actions.RestartCommandAction;
import org.eclipse.debug.internal.ui.commands.actions.ResumeCommandAction;
import org.eclipse.debug.internal.ui.commands.actions.StepIntoCommandAction;
import org.eclipse.debug.internal.ui.commands.actions.StepOverCommandAction;
@@ -155,7 +157,9 @@ public class LaunchView extends AbstractDebugView implements ISelectionChangedLi
private static final String TERMINATE_AND_RELAUNCH = "terminate_relaunch"; //$NON-NLS-1$
private static final String TOGGLE_STEP_FILTERS = "toggle_step_filters"; //$NON-NLS-1$
-
+
+ private static final String RESTART = "restart"; //$NON-NLS-1$
+
private static final int BREADCRUMB_TRIGGER_RANGE = 5; // pixels
private static final int BREADCRUMB_STICKY_RANGE = 20; // pixels
@@ -502,6 +506,7 @@ public class LaunchView extends AbstractDebugView implements ISelectionChangedLi
addCapabilityAction(new DropToFrameCommandAction(), DROP_TO_FRAME);
addCapabilityAction(new TerminateAndRemoveAction(), TERMINATE_AND_REMOVE);
addCapabilityAction(new TerminateAndRelaunchAction(), TERMINATE_AND_RELAUNCH);
+ addCapabilityAction(new RestartCommandAction(), RESTART);
addCapabilityAction(new TerminateAllAction(), TERMINATE_ALL);
addCapabilityAction(new ToggleStepFiltersAction(), TOGGLE_STEP_FILTERS);
}
@@ -1019,6 +1024,7 @@ public class LaunchView extends AbstractDebugView implements ISelectionChangedLi
disposeCommandAction(DROP_TO_FRAME);
disposeCommandAction(TERMINATE_AND_REMOVE);
disposeCommandAction(TERMINATE_AND_RELAUNCH);
+ disposeCommandAction(RESTART);
disposeCommandAction(TERMINATE_ALL);
}
@@ -1103,6 +1109,8 @@ public class LaunchView extends AbstractDebugView implements ISelectionChangedLi
* @see org.eclipse.debug.ui.AbstractDebugView#fillContextMenu(org.eclipse.jface.action.IMenuManager)
*/
protected void fillContextMenu(IMenuManager menu) {
+ TreeSelection sel = (TreeSelection) fTreeViewerDebugContextProvider.getActiveContext();
+ Object element = sel != null && sel.size() > 0 ? sel.getFirstElement() : null;
menu.add(new Separator(IDebugUIConstants.EMPTY_EDIT_GROUP));
menu.add(new Separator(IDebugUIConstants.EDIT_GROUP));
@@ -1129,12 +1137,7 @@ public class LaunchView extends AbstractDebugView implements ISelectionChangedLi
/**
* TODO hack to get around bug 148424, remove if UI ever fixes the PropertyDialogAction to respect enablesWhen conditions
*/
- TreeSelection sel = (TreeSelection) fTreeViewerDebugContextProvider.getActiveContext();
- boolean enabled = true;
- if(sel != null && sel.size() > 0) {
- enabled = !(sel.getFirstElement() instanceof ILaunch);
- }
- action.setEnabled(action.isApplicableForSelection() && enabled);
+ action.setEnabled(action.isApplicableForSelection() && !(element instanceof ILaunch));
menu.add(action);
menu.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
@@ -1145,6 +1148,9 @@ public class LaunchView extends AbstractDebugView implements ISelectionChangedLi
menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(SUSPEND));
menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(TERMINATE));
menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(TERMINATE_AND_RELAUNCH));
+ if (element instanceof IAdaptable && ((IAdaptable)element).getAdapter(IRestartHandler.class) != null) {
+ menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(RESTART));
+ }
menu.appendToGroup(IDebugUIConstants.THREAD_GROUP, getAction(DISCONNECT));
menu.appendToGroup(IDebugUIConstants.STEP_INTO_GROUP, getAction(STEP_INTO));

Back to the top