summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java')
-rw-r--r--platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java53
1 files changed, 16 insertions, 37 deletions
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 f16f8dadfb45..14877309db74 100644
--- a/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java
+++ b/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java
@@ -23,7 +23,6 @@ import com.intellij.execution.configurations.RunConfigurationBase;
import com.intellij.execution.configurations.RunProfile;
import com.intellij.execution.configurations.SearchScopeProvider;
import com.intellij.execution.impl.ConsoleViewImpl;
-import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.ui.*;
import com.intellij.execution.ui.actions.CloseAction;
import com.intellij.execution.ui.layout.PlaceInGrid;
@@ -41,7 +40,6 @@ import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
-import javax.swing.*;
import java.util.Collection;
import java.util.List;
@@ -113,14 +111,13 @@ public class RunContentBuilder extends RunTab {
@NotNull
private RunContentDescriptor createDescriptor() {
- final RunProfile profile = getEnvironment().getRunProfile();
+ final RunProfile profile = myEnvironment.getRunProfile();
if (ApplicationManager.getApplication().isUnitTestMode()) {
- RunContentDescriptor contentDescriptor = new RunContentDescriptor(profile, myExecutionResult, myUi);
- Disposer.register(contentDescriptor, this);
- return contentDescriptor;
+ return new RunContentDescriptor(profile, myExecutionResult, myUi);
}
final ExecutionConsole console = myExecutionResult.getExecutionConsole();
+ RunContentDescriptor contentDescriptor = new RunContentDescriptor(profile, myExecutionResult, myUi);
if (console != null) {
if (console instanceof ExecutionConsoleEx) {
((ExecutionConsoleEx)console).buildUi(myUi);
@@ -128,17 +125,15 @@ public class RunContentBuilder extends RunTab {
else {
buildConsoleUiDefault(myUi, console);
}
- initLogConsoles(profile, myExecutionResult.getProcessHandler(), console);
+ initLogConsoles(profile, contentDescriptor, console);
}
- RunContentDescriptor contentDescriptor = new RunContentDescriptor(profile, myExecutionResult, myUi);
- Disposer.register(contentDescriptor, this);
myUi.getOptions().setLeftToolbar(createActionToolbar(contentDescriptor), ActionPlaces.UNKNOWN);
if (profile instanceof RunConfigurationBase) {
if (console instanceof ObservableConsoleView && !ApplicationManager.getApplication().isUnitTestMode()) {
((ObservableConsoleView)console).addChangeListener(new ConsoleToFrontListener((RunConfigurationBase)profile,
- getProject(),
- getEnvironment().getExecutor(),
+ myProject,
+ myEnvironment.getExecutor(),
contentDescriptor,
myUi),
this);
@@ -182,19 +177,16 @@ public class RunContentBuilder extends RunTab {
}
@NotNull
- private ActionGroup createActionToolbar(@NotNull RunContentDescriptor contentDescriptor) {
+ private ActionGroup createActionToolbar(@NotNull final RunContentDescriptor contentDescriptor) {
final DefaultActionGroup actionGroup = new DefaultActionGroup();
actionGroup.add(ActionManager.getInstance().getAction(IdeActions.ACTION_RERUN));
- if (myExecutionResult instanceof DefaultExecutionResult) {
- final AnAction[] actions = ((DefaultExecutionResult)myExecutionResult).getRestartActions();
- if (actions != null) {
- actionGroup.addAll(actions);
- if (actions.length > 0) {
- actionGroup.addSeparator();
- }
- }
+ final AnAction[] actions = contentDescriptor.getRestartActions();
+ actionGroup.addAll(actions);
+ if (actions.length > 0) {
+ actionGroup.addSeparator();
}
+
actionGroup.add(ActionManager.getInstance().getAction(IdeActions.ACTION_STOP_PROGRAM));
if (myExecutionResult instanceof DefaultExecutionResult) {
actionGroup.addAll(((DefaultExecutionResult)myExecutionResult).getAdditionalStopActions());
@@ -215,37 +207,24 @@ public class RunContentBuilder extends RunTab {
actionGroup.add(myUi.getOptions().getLayoutActions());
actionGroup.addSeparator();
actionGroup.add(PinToolwindowTabAction.getPinAction());
- actionGroup.add(new CloseAction(getEnvironment().getExecutor(), contentDescriptor, getProject()));
+ actionGroup.add(new CloseAction(myEnvironment.getExecutor(), contentDescriptor, myProject));
final String helpId = contentDescriptor.getHelpId();
- actionGroup.add(new ContextHelpAction(helpId != null ? helpId : getEnvironment().getExecutor().getHelpId()));
+ actionGroup.add(new ContextHelpAction(helpId != null ? helpId : myEnvironment.getExecutor().getHelpId()));
return actionGroup;
}
- @Override
- public ProcessHandler getProcessHandler() {
- return myExecutionResult.getProcessHandler();
- }
-
/**
* @param reuseContent see {@link RunContentDescriptor#myContent}
*/
public RunContentDescriptor showRunContent(@Nullable RunContentDescriptor reuseContent) {
RunContentDescriptor descriptor = createDescriptor();
+ Disposer.register(descriptor, this);
+ Disposer.register(myProject, descriptor);
RunContentManagerImpl.copyContentAndBehavior(descriptor, reuseContent);
myRunContentDescriptor = descriptor;
return descriptor;
}
- @Override
- protected RunnerLayoutUi getUi() {
- return myUi;
- }
-
- @Override
- protected Icon getDefaultIcon() {
- return AllIcons.Debugger.Console;
- }
-
public static class ConsoleToFrontListener implements ConsoleViewImpl.ChangeListener {
@NotNull private final RunConfigurationBase myRunConfigurationBase;
@NotNull private final Project myProject;