From 9b7825ba9ef4825c25e0985447a98c9d038b833d Mon Sep 17 00:00:00 2001 From: Nikolay Chashnikov Date: Tue, 15 Sep 2009 15:30:21 +0400 Subject: [PATCH] 'Shutdown server' action moved to a more suitable place at toolbar --- .../intellij/debugger/ui/DebuggerSessionTab.java | 4 +++- .../intellij/execution/DefaultExecutionResult.java | 13 +++++++++++++ .../execution/runners/RunContentBuilder.java | 3 +++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerSessionTab.java b/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerSessionTab.java index 7c053ab8892f..927a4ef55c86 100644 --- a/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerSessionTab.java +++ b/java/debugger/impl/src/com/intellij/debugger/ui/DebuggerSessionTab.java @@ -296,8 +296,10 @@ public class DebuggerSessionTab extends DebuggerLogConsoleManagerBase implements addActionToGroup(group, XDebuggerActions.RESUME); addActionToGroup(group, XDebuggerActions.PAUSE); - //group.add(new KillProcessAction()); addActionToGroup(group, IdeActions.ACTION_STOP_PROGRAM); + if (executionResult instanceof DefaultExecutionResult) { + group.addAll(((DefaultExecutionResult)executionResult).getAdditionalStopActions()); + } group.addSeparator(); diff --git a/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java b/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java index e817ada13f18..408f6fed44d9 100644 --- a/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java +++ b/platform/lang-api/src/com/intellij/execution/DefaultExecutionResult.java @@ -22,6 +22,9 @@ import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.util.IconLoader; import org.jetbrains.annotations.NotNull; +import java.util.List; +import java.util.ArrayList; + /** * @author dyoma */ @@ -30,6 +33,7 @@ public class DefaultExecutionResult implements ExecutionResult { private final ProcessHandler myProcessHandler; private AnAction[] myActions; private AnAction[] myRestartActions; + private List myStopActions = new ArrayList(); public DefaultExecutionResult(final ExecutionConsole console, final ProcessHandler processHandler) { this(console, processHandler, AnAction.EMPTY_ARRAY); @@ -61,6 +65,15 @@ public class DefaultExecutionResult implements ExecutionResult { myRestartActions = restartActions; } + public void addStopAction(AnAction action) { + myStopActions.add(action); + } + + @NotNull + public AnAction[] getAdditionalStopActions() { + return myStopActions.toArray(new AnAction[myStopActions.size()]); + } + public ProcessHandler getProcessHandler() { return myProcessHandler; } diff --git a/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java b/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java index d3565b1d80e5..fb9c915830bc 100644 --- a/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java +++ b/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java @@ -197,6 +197,9 @@ public class RunContentBuilder implements LogConsoleManager, Disposable { final AnAction stopAction = ActionManager.getInstance().getAction(IdeActions.ACTION_STOP_PROGRAM); actionGroup.add(stopAction); + if (myExecutionResult instanceof DefaultExecutionResult) { + actionGroup.addAll(((DefaultExecutionResult)myExecutionResult).getAdditionalStopActions()); + } actionGroup.addAll(myExecutionResult.getActions());