mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-18 09:34:34 +07:00
Restart actions moved to RunContentDescriptor
This commit is contained in:
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user