Restart actions moved to RunContentDescriptor

This commit is contained in:
Ilya.Kazakevich
2014-09-12 00:24:06 +04:00
parent 34da5ae2a9
commit c0474c8a59
5 changed files with 15 additions and 23 deletions
@@ -270,12 +270,10 @@ public class DebuggerSessionTab extends DebuggerSessionTabBase implements Dispos
if (executionResult instanceof DefaultExecutionResult) {
final AnAction[] actions = ((DefaultExecutionResult)executionResult).getRestartActions();
if (actions != null) {
leftToolbar.addAll(actions);
if (actions.length > 0) {
leftToolbar.addSeparator();
}
}
}
final AnAction[] profileActions = executionResult.getActions();
leftToolbar.addAll(profileActions);
@@ -34,7 +34,8 @@ public class DefaultExecutionResult implements ExecutionResult {
private final ExecutionConsole myConsole;
private final ProcessHandler myProcessHandler;
private AnAction[] myActions;
private AnAction[] myRestartActions;
@NotNull
private AnAction[] myRestartActions = AnAction.EMPTY_ARRAY;
private final List<AnAction> myStopActions = new ArrayList<AnAction>();
public DefaultExecutionResult() {
@@ -67,14 +68,14 @@ public class DefaultExecutionResult implements ExecutionResult {
myActions = actions;
}
@Nullable
@Override
@NotNull
public AnAction[] getRestartActions() {
return myRestartActions;
}
public void setRestartActions(AnAction... restartActions) {
myRestartActions = restartActions;
// TODO: Find all usages, make sure there is no null and make this method NotNull
public void setRestartActions(@Nullable AnAction... restartActions) {
myRestartActions = (restartActions != null ? restartActions : AnAction.EMPTY_ARRAY);
}
public void addStopAction(AnAction action) {
@@ -106,7 +107,7 @@ public class DefaultExecutionResult implements ExecutionResult {
@Override
public void actionPerformed(final AnActionEvent e) {
if(myProcessHandler.detachIsDefault()) {
if (myProcessHandler.detachIsDefault()) {
myProcessHandler.detachProcess();
}
else {
@@ -18,7 +18,6 @@ package com.intellij.execution;
import com.intellij.execution.process.ProcessHandler;
import com.intellij.execution.ui.ExecutionConsole;
import com.intellij.openapi.actionSystem.AnAction;
import org.jetbrains.annotations.Nullable;
/**
* The result of executing a process.
@@ -41,11 +40,6 @@ public interface ExecutionResult {
*/
AnAction[] getActions();
/**
* @return actions to restart or rerun
*/
@Nullable
AnAction[] getRestartActions();
/**
* Returns the ProcessHandler attached to the running process.
@@ -15,6 +15,7 @@
*/
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;
@@ -71,9 +72,8 @@ 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());
final AnAction[] restartActions = executionResult.getRestartActions();
if (restartActions != null) {
myRestartActions = restartActions;
if (executionResult instanceof DefaultExecutionResult) {
myRestartActions = ((DefaultExecutionResult)executionResult).getRestartActions();
}
}
@@ -180,14 +180,13 @@ public class RunContentBuilder extends RunTab {
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 = contentDescriptor.getRestartActions();
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());