summaryrefslogtreecommitdiff
path: root/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java')
-rw-r--r--platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java b/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java
index 60e7f03d54db..5a23ed45b1a9 100644
--- a/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java
+++ b/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java
@@ -15,11 +15,13 @@
*/
package com.intellij.execution.ui;
+import com.intellij.execution.DefaultExecutionResult;
import com.intellij.execution.ExecutionResult;
import com.intellij.execution.configurations.RunProfile;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.ide.HelpIdProvider;
import com.intellij.openapi.Disposable;
+import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.util.Computable;
import com.intellij.openapi.util.Disposer;
import com.intellij.ui.content.Content;
@@ -44,6 +46,8 @@ public class RunContentDescriptor implements Disposable {
private Content myContent;
private Runnable myRestarter;
+ @NotNull
+ private AnAction[] myRestartActions = AnAction.EMPTY_ARRAY;
public RunContentDescriptor(@Nullable ExecutionConsole executionConsole,
@Nullable ProcessHandler processHandler,
@@ -66,7 +70,19 @@ public class RunContentDescriptor implements Disposable {
}
public RunContentDescriptor(@NotNull RunProfile profile, @NotNull ExecutionResult executionResult, @NotNull RunnerLayoutUi ui) {
- this(executionResult.getExecutionConsole(), executionResult.getProcessHandler(), ui.getComponent(), profile.getName(), profile.getIcon());
+ this(executionResult.getExecutionConsole(), executionResult.getProcessHandler(), ui.getComponent(), profile.getName(),
+ profile.getIcon());
+ if (executionResult instanceof DefaultExecutionResult) {
+ myRestartActions = ((DefaultExecutionResult)executionResult).getRestartActions();
+ }
+ }
+
+ /**
+ * @return actions to restart or rerun
+ */
+ @NotNull
+ public AnAction[] getRestartActions() {
+ return myRestartActions.clone();
}
public ExecutionConsole getExecutionConsole() {
@@ -81,6 +97,8 @@ public class RunContentDescriptor implements Disposable {
}
myComponent = null;
myRestarter = null;
+ myProcessHandler = null;
+ myContent = null;
}
/**
@@ -127,6 +145,7 @@ public class RunContentDescriptor implements Disposable {
myContent = content;
}
+ @SuppressWarnings("UnusedDeclaration")
@Nullable
@Deprecated
/**