mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
RunDashboard: rename dashboard interfaces
- Add 'RunDashboard' prefix to all Run Dashboard interfaces for compliance
This commit is contained in:
@@ -21,7 +21,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
* @author Konstantin Aleev
|
||||
*/
|
||||
public interface RunDashboardAnimator {
|
||||
void addNode(@NotNull DashboardNode node);
|
||||
void addNode(@NotNull RunDashboardNode node);
|
||||
|
||||
void removeNode(@NotNull DashboardNode node);
|
||||
void removeNode(@NotNull RunDashboardNode node);
|
||||
}
|
||||
|
||||
@@ -50,11 +50,11 @@ public abstract class RunDashboardContributor {
|
||||
return myType;
|
||||
}
|
||||
|
||||
public void updatePresentation(@NotNull PresentationData presentation, @NotNull DashboardNode node) {
|
||||
public void updatePresentation(@NotNull PresentationData presentation, @NotNull RunDashboardNode node) {
|
||||
}
|
||||
|
||||
public boolean customizeCellRenderer(@NotNull ColoredTreeCellRenderer cellRenderer, @NotNull JLabel nodeLabel,
|
||||
@NotNull DashboardNode node,
|
||||
@NotNull RunDashboardNode node,
|
||||
boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
|
||||
return false;
|
||||
}
|
||||
@@ -66,8 +66,8 @@ public abstract class RunDashboardContributor {
|
||||
* @return node's status. Returned status is used for grouping nodes by status.
|
||||
*/
|
||||
@NotNull
|
||||
public DashboardRunConfigurationStatus getStatus(@NotNull DashboardRunConfigurationNode node) {
|
||||
return DashboardRunConfigurationStatus.getStatus(node);
|
||||
public RunDashboardRunConfigurationStatus getStatus(@NotNull RunDashboardRunConfigurationNode node) {
|
||||
return RunDashboardRunConfigurationStatus.getStatus(node);
|
||||
}
|
||||
|
||||
public boolean isShowInDashboard(@NotNull RunConfiguration runConfiguration) {
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ import javax.swing.*;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public interface DashboardGroup {
|
||||
public interface RunDashboardGroup {
|
||||
String getName();
|
||||
|
||||
Icon getIcon();
|
||||
+4
-4
@@ -27,10 +27,10 @@ import java.util.Comparator;
|
||||
*
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public interface DashboardGroupingRule extends TreeAction {
|
||||
ExtensionPointName<DashboardGroupingRule> EP_NAME = ExtensionPointName.create("com.intellij.runDashboardGroupingRule");
|
||||
public interface RunDashboardGroupingRule extends TreeAction {
|
||||
ExtensionPointName<RunDashboardGroupingRule> EP_NAME = ExtensionPointName.create("com.intellij.runDashboardGroupingRule");
|
||||
|
||||
Comparator<DashboardGroupingRule> PRIORITY_COMPARATOR = (o1, o2) -> {
|
||||
Comparator<RunDashboardGroupingRule> PRIORITY_COMPARATOR = (o1, o2) -> {
|
||||
final int res = o2.getPriority() - o1.getPriority();
|
||||
return res != 0 ? res : (o1.getName().compareTo(o2.getName()));
|
||||
};
|
||||
@@ -58,7 +58,7 @@ public interface DashboardGroupingRule extends TreeAction {
|
||||
* @return a group which node belongs to or {@code null} if node could not be grouped by this rule.
|
||||
*/
|
||||
@Nullable
|
||||
DashboardGroup getGroup(AbstractTreeNode<?> node);
|
||||
RunDashboardGroup getGroup(AbstractTreeNode<?> node);
|
||||
|
||||
interface Priorities {
|
||||
int BY_RUN_CONFIG = 200;
|
||||
+1
-1
@@ -18,6 +18,6 @@ package com.intellij.execution.dashboard;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public interface DashboardListener {
|
||||
public interface RunDashboardListener {
|
||||
void contentChanged(boolean withStructure);
|
||||
}
|
||||
@@ -38,8 +38,8 @@ import java.util.Set;
|
||||
*/
|
||||
@ApiStatus.Experimental
|
||||
public interface RunDashboardManager {
|
||||
Topic<DashboardListener> DASHBOARD_TOPIC =
|
||||
Topic.create("run dashboard", DashboardListener.class, Topic.BroadcastDirection.TO_PARENT);
|
||||
Topic<RunDashboardListener> DASHBOARD_TOPIC =
|
||||
Topic.create("run dashboard", RunDashboardListener.class, Topic.BroadcastDirection.TO_PARENT);
|
||||
|
||||
static RunDashboardManager getInstance(Project project) {
|
||||
return ServiceManager.getService(project, RunDashboardManager.class);
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public interface DashboardNode {
|
||||
public interface RunDashboardNode {
|
||||
@Nullable
|
||||
default RunContentDescriptor getDescriptor() {
|
||||
return null;
|
||||
+1
-1
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public interface DashboardRunConfigurationNode extends DashboardNode, UserDataHolder {
|
||||
public interface RunDashboardRunConfigurationNode extends RunDashboardNode, UserDataHolder {
|
||||
@NotNull
|
||||
RunnerAndConfigurationSettings getConfigurationSettings();
|
||||
|
||||
+6
-6
@@ -25,18 +25,18 @@ import javax.swing.*;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class DashboardRunConfigurationStatus {
|
||||
public static final DashboardRunConfigurationStatus STARTED = new DashboardRunConfigurationStatus(
|
||||
public class RunDashboardRunConfigurationStatus {
|
||||
public static final RunDashboardRunConfigurationStatus STARTED = new RunDashboardRunConfigurationStatus(
|
||||
ExecutionBundle.message("run.dashboard.started.group.name"), AllIcons.Toolwindows.ToolWindowRun);
|
||||
public static final DashboardRunConfigurationStatus STOPPED = new DashboardRunConfigurationStatus(
|
||||
public static final RunDashboardRunConfigurationStatus STOPPED = new RunDashboardRunConfigurationStatus(
|
||||
ExecutionBundle.message("run.dashboard.stopped.group.name"), AllIcons.Actions.Suspend);
|
||||
public static final DashboardRunConfigurationStatus FAILED = new DashboardRunConfigurationStatus(
|
||||
public static final RunDashboardRunConfigurationStatus FAILED = new RunDashboardRunConfigurationStatus(
|
||||
ExecutionBundle.message("run.dashboard.failed.group.name"), AllIcons.General.Error);
|
||||
|
||||
private final String myName;
|
||||
private final Icon myIcon;
|
||||
|
||||
public DashboardRunConfigurationStatus(String name, Icon icon) {
|
||||
public RunDashboardRunConfigurationStatus(String name, Icon icon) {
|
||||
myName = name;
|
||||
myIcon = icon;
|
||||
}
|
||||
@@ -49,7 +49,7 @@ public class DashboardRunConfigurationStatus {
|
||||
return myIcon;
|
||||
}
|
||||
|
||||
public static DashboardRunConfigurationStatus getStatus(DashboardRunConfigurationNode node) {
|
||||
public static RunDashboardRunConfigurationStatus getStatus(RunDashboardRunConfigurationNode node) {
|
||||
RunContentDescriptor descriptor = node.getDescriptor();
|
||||
if (descriptor == null) {
|
||||
return STOPPED;
|
||||
+2
-2
@@ -33,8 +33,8 @@ import java.util.stream.Collectors;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public abstract class DashboardTreeAction<T, C extends TreeContent> extends AnAction {
|
||||
protected DashboardTreeAction(String text, String description, Icon icon) {
|
||||
public abstract class RunDashboardTreeAction<T, C extends TreeContent> extends AnAction {
|
||||
protected RunDashboardTreeAction(String text, String description, Icon icon) {
|
||||
super(text, description, icon);
|
||||
}
|
||||
|
||||
@@ -85,7 +85,7 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
|
||||
private RunDashboardAnimator myAnimator;
|
||||
private AbstractTreeNode<?> myLastSelection;
|
||||
private final Set<Object> myCollapsedTreeNodeValues = new HashSet<>();
|
||||
private final List<DashboardGrouper> myGroupers;
|
||||
private final List<RunDashboardGrouper> myGroupers;
|
||||
|
||||
@NotNull private final ContentManager myContentManager;
|
||||
@NotNull private final ContentManagerListener myContentManagerListener;
|
||||
@@ -96,7 +96,7 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
|
||||
private final DefaultActionGroup myDashboardContentActions = new DefaultActionGroup();
|
||||
private final Map<Content, List<AnAction>> myContentActions = new WeakHashMap<>();
|
||||
|
||||
public RunDashboardContent(@NotNull Project project, @NotNull ContentManager contentManager, @NotNull List<DashboardGrouper> groupers) {
|
||||
public RunDashboardContent(@NotNull Project project, @NotNull ContentManager contentManager, @NotNull List<RunDashboardGrouper> groupers) {
|
||||
super(new BorderLayout());
|
||||
myProject = project;
|
||||
myGroupers = groupers;
|
||||
@@ -164,9 +164,9 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
|
||||
return;
|
||||
}
|
||||
contentAdded(event);
|
||||
myBuilder.queueUpdate().doWhenDone(() -> myBuilder.accept(DashboardNode.class, new TreeVisitor<DashboardNode>() {
|
||||
myBuilder.queueUpdate().doWhenDone(() -> myBuilder.accept(RunDashboardNode.class, new TreeVisitor<RunDashboardNode>() {
|
||||
@Override
|
||||
public boolean visit(@NotNull DashboardNode node) {
|
||||
public boolean visit(@NotNull RunDashboardNode node) {
|
||||
if (node.getContent() == event.getContent()) {
|
||||
myBuilder.select(node);
|
||||
}
|
||||
@@ -231,8 +231,8 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
|
||||
new DoubleClickListener() {
|
||||
@Override
|
||||
protected boolean onDoubleClick(MouseEvent event) {
|
||||
if (myLastSelection instanceof DashboardRunConfigurationNode && myLastSelection.getChildren().isEmpty()) {
|
||||
DashboardRunConfigurationNode node = (DashboardRunConfigurationNode)myLastSelection;
|
||||
if (myLastSelection instanceof RunDashboardRunConfigurationNode && myLastSelection.getChildren().isEmpty()) {
|
||||
RunDashboardRunConfigurationNode node = (RunDashboardRunConfigurationNode)myLastSelection;
|
||||
RunDashboardContributor contributor = node.getContributor();
|
||||
if (contributor != null) {
|
||||
return contributor.handleDoubleClick(node.getConfigurationSettings().getConfiguration());
|
||||
@@ -292,8 +292,8 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
|
||||
}
|
||||
|
||||
myLastSelection = node;
|
||||
if (node instanceof DashboardNode) {
|
||||
Content content = ((DashboardNode)node).getContent();
|
||||
if (node instanceof RunDashboardNode) {
|
||||
Content content = ((RunDashboardNode)node).getContent();
|
||||
if (content != null && content.getManager() != myContentManager) {
|
||||
content = null;
|
||||
}
|
||||
@@ -307,7 +307,7 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
|
||||
showContentPanel();
|
||||
return;
|
||||
}
|
||||
if (node instanceof DashboardRunConfigurationNode) {
|
||||
if (node instanceof RunDashboardRunConfigurationNode) {
|
||||
showMessagePanel(ExecutionBundle.message("run.dashboard.not.started.configuration.message"));
|
||||
return;
|
||||
}
|
||||
@@ -433,9 +433,9 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
|
||||
}
|
||||
|
||||
private class GroupAction extends ToggleAction implements DumbAware {
|
||||
private final DashboardGrouper myGrouper;
|
||||
private final RunDashboardGrouper myGrouper;
|
||||
|
||||
GroupAction(DashboardGrouper grouper) {
|
||||
GroupAction(RunDashboardGrouper grouper) {
|
||||
super();
|
||||
myGrouper = grouper;
|
||||
}
|
||||
@@ -475,8 +475,8 @@ public class RunDashboardContent extends JPanel implements TreeContent, Disposab
|
||||
super.update(e);
|
||||
boolean enabled = true;
|
||||
if (isSelected(e)) {
|
||||
if (myLastSelection instanceof DashboardNode) {
|
||||
Content content = ((DashboardNode)myLastSelection).getContent();
|
||||
if (myLastSelection instanceof RunDashboardNode) {
|
||||
Content content = ((RunDashboardNode)myLastSelection).getContent();
|
||||
enabled = content != null && content.getManager() == myContentManager;
|
||||
}
|
||||
else {
|
||||
|
||||
+7
-7
@@ -18,7 +18,7 @@ package com.intellij.execution.dashboard;
|
||||
import com.intellij.execution.*;
|
||||
import com.intellij.execution.configurations.ConfigurationType;
|
||||
import com.intellij.execution.configurations.RunConfiguration;
|
||||
import com.intellij.execution.dashboard.tree.DashboardGrouper;
|
||||
import com.intellij.execution.dashboard.tree.RunDashboardGrouper;
|
||||
import com.intellij.execution.impl.ExecutionManagerImpl;
|
||||
import com.intellij.execution.process.ProcessHandler;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
@@ -64,7 +64,7 @@ public class RunDashboardManagerImpl implements RunDashboardManager, PersistentS
|
||||
@NotNull private final Project myProject;
|
||||
@NotNull private final ContentManager myContentManager;
|
||||
@NotNull private final Set<String> myTypes = ContainerUtil.newHashSet();
|
||||
@NotNull private final List<DashboardGrouper> myGroupers;
|
||||
@NotNull private final List<RunDashboardGrouper> myGroupers;
|
||||
private boolean myShowConfigurations = true;
|
||||
private float myContentProportion = DEFAULT_CONTENT_PROPORTION;
|
||||
|
||||
@@ -78,9 +78,9 @@ public class RunDashboardManagerImpl implements RunDashboardManager, PersistentS
|
||||
ContentUI contentUI = new PanelContentUI();
|
||||
myContentManager = contentFactory.createContentManager(contentUI, false, project);
|
||||
|
||||
myGroupers = Arrays.stream(DashboardGroupingRule.EP_NAME.getExtensions())
|
||||
.sorted(DashboardGroupingRule.PRIORITY_COMPARATOR)
|
||||
.map(DashboardGrouper::new)
|
||||
myGroupers = Arrays.stream(RunDashboardGroupingRule.EP_NAME.getExtensions())
|
||||
.sorted(RunDashboardGroupingRule.PRIORITY_COMPARATOR)
|
||||
.map(RunDashboardGrouper::new)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ public class RunDashboardManagerImpl implements RunDashboardManager, PersistentS
|
||||
updateDashboardIfNeeded(env.getRunnerAndConfigurationSettings());
|
||||
}
|
||||
});
|
||||
connection.subscribe(RunDashboardManager.DASHBOARD_TOPIC, new DashboardListener() {
|
||||
connection.subscribe(RunDashboardManager.DASHBOARD_TOPIC, new RunDashboardListener() {
|
||||
@Override
|
||||
public void contentChanged(boolean withStructure) {
|
||||
updateDashboard(withStructure);
|
||||
@@ -405,7 +405,7 @@ public class RunDashboardManagerImpl implements RunDashboardManager, PersistentS
|
||||
myTypes.clear();
|
||||
myTypes.addAll(state.configurationTypes);
|
||||
state.ruleStates.forEach(ruleState -> {
|
||||
for (DashboardGrouper grouper : myGroupers) {
|
||||
for (RunDashboardGrouper grouper : myGroupers) {
|
||||
if (grouper.getRule().getName().equals(ruleState.name) && !grouper.getRule().isAlwaysEnabled()) {
|
||||
grouper.setEnabled(ruleState.enabled);
|
||||
return;
|
||||
|
||||
+3
-3
@@ -20,7 +20,7 @@ import com.intellij.execution.RunManager;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.configuration.ConfigurationFactoryEx;
|
||||
import com.intellij.execution.configurations.ConfigurationFactory;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.impl.RunDialog;
|
||||
import com.intellij.execution.impl.RunnerAndConfigurationSettingsImpl;
|
||||
import com.intellij.openapi.actionSystem.ActionPlaces;
|
||||
@@ -47,13 +47,13 @@ public class CopyConfigurationAction extends RunConfigurationTreeAction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isEnabled4(DashboardRunConfigurationNode node) {
|
||||
protected boolean isEnabled4(RunDashboardRunConfigurationNode node) {
|
||||
return RunManager.getInstance(node.getProject()).hasSettings(node.getConfigurationSettings());
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
protected void doActionPerformed(DashboardRunConfigurationNode node) {
|
||||
protected void doActionPerformed(RunDashboardRunConfigurationNode node) {
|
||||
RunManager runManager = RunManager.getInstance(node.getProject());
|
||||
RunnerAndConfigurationSettings settings = node.getConfigurationSettings();
|
||||
|
||||
|
||||
+3
-3
@@ -17,7 +17,7 @@ package com.intellij.execution.dashboard.actions;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.RunManager;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.impl.RunDialog;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.actionSystem.ActionPlaces;
|
||||
@@ -40,12 +40,12 @@ public class EditConfigurationAction extends RunConfigurationTreeAction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isEnabled4(DashboardRunConfigurationNode node) {
|
||||
protected boolean isEnabled4(RunDashboardRunConfigurationNode node) {
|
||||
return RunManager.getInstance(node.getProject()).hasSettings(node.getConfigurationSettings());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doActionPerformed(DashboardRunConfigurationNode node) {
|
||||
protected void doActionPerformed(RunDashboardRunConfigurationNode node) {
|
||||
RunDialog.editConfiguration(node.getProject(), node.getConfigurationSettings(),
|
||||
ExecutionBundle.message("run.dashboard.edit.configuration.dialog.title"));
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.ProgramRunnerUtil;
|
||||
import com.intellij.execution.configurations.RuntimeConfigurationError;
|
||||
import com.intellij.execution.configurations.RuntimeConfigurationException;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardManager;
|
||||
import com.intellij.execution.runners.ExecutionEnvironment;
|
||||
import com.intellij.execution.runners.ProgramRunner;
|
||||
@@ -41,13 +41,13 @@ import java.util.List;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public abstract class ExecutorAction extends RunDashboardTreeLeafAction<DashboardRunConfigurationNode> {
|
||||
public abstract class ExecutorAction extends RunDashboardTreeLeafAction<RunDashboardRunConfigurationNode> {
|
||||
protected ExecutorAction(String text, String description, Icon icon) {
|
||||
super(text, description, icon);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isEnabled4(DashboardRunConfigurationNode node) {
|
||||
protected boolean isEnabled4(RunDashboardRunConfigurationNode node) {
|
||||
String executorId = getExecutor().getId();
|
||||
ProgramRunner runner = ProgramRunnerUtil.getRunner(executorId, node.getConfigurationSettings());
|
||||
return runner != null && runner.canRun(executorId, node.getConfigurationSettings().getConfiguration());
|
||||
@@ -61,7 +61,7 @@ public abstract class ExecutorAction extends RunDashboardTreeLeafAction<Dashboar
|
||||
update(e, false);
|
||||
return;
|
||||
}
|
||||
List<DashboardRunConfigurationNode> targetNodes = getTargetNodes(e);
|
||||
List<RunDashboardRunConfigurationNode> targetNodes = getTargetNodes(e);
|
||||
if (RunDashboardManager.getInstance(project).isShowConfigurations()) {
|
||||
boolean running = targetNodes.stream().anyMatch(node -> {
|
||||
Content content = node.getContent();
|
||||
@@ -77,7 +77,7 @@ public abstract class ExecutorAction extends RunDashboardTreeLeafAction<Dashboar
|
||||
}
|
||||
}
|
||||
|
||||
private boolean isValid(DashboardRunConfigurationNode node) {
|
||||
private boolean isValid(RunDashboardRunConfigurationNode node) {
|
||||
try {
|
||||
node.getConfigurationSettings().checkSettings(getExecutor());
|
||||
return true;
|
||||
@@ -121,7 +121,7 @@ public abstract class ExecutorAction extends RunDashboardTreeLeafAction<Dashboar
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doActionPerformed(DashboardRunConfigurationNode node) {
|
||||
protected void doActionPerformed(RunDashboardRunConfigurationNode node) {
|
||||
if (!isValid(node)) return;
|
||||
|
||||
RunContentDescriptor descriptor = node.getDescriptor();
|
||||
@@ -133,8 +133,8 @@ public abstract class ExecutorAction extends RunDashboardTreeLeafAction<Dashboar
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<DashboardRunConfigurationNode> getTargetNodeClass() {
|
||||
return DashboardRunConfigurationNode.class;
|
||||
protected Class<RunDashboardRunConfigurationNode> getTargetNodeClass() {
|
||||
return RunDashboardRunConfigurationNode.class;
|
||||
}
|
||||
|
||||
protected abstract Executor getExecutor();
|
||||
|
||||
+3
-3
@@ -16,7 +16,7 @@
|
||||
package com.intellij.execution.dashboard.actions;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardContent;
|
||||
import com.intellij.execution.impl.RunManagerImpl;
|
||||
import com.intellij.icons.AllIcons;
|
||||
@@ -42,11 +42,11 @@ public class GroupConfigurationsAction extends RunConfigurationTreeAction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doActionPerformed(@NotNull RunDashboardContent content, AnActionEvent e, List<DashboardRunConfigurationNode> nodes) {
|
||||
protected void doActionPerformed(@NotNull RunDashboardContent content, AnActionEvent e, List<RunDashboardRunConfigurationNode> nodes) {
|
||||
Project project = e.getProject();
|
||||
if (project == null) return;
|
||||
|
||||
DashboardRunConfigurationNode firstNode = ContainerUtil.getFirstItem(nodes);
|
||||
RunDashboardRunConfigurationNode firstNode = ContainerUtil.getFirstItem(nodes);
|
||||
String initialValue = firstNode != null ? firstNode.getConfigurationSettings().getFolderName() : null;
|
||||
String value = Messages.showInputDialog(project, ExecutionBundle.message("run.dashboard.group.configurations.label"),
|
||||
ExecutionBundle.message("run.dashboard.group.configurations.title"), null, initialValue, null);
|
||||
|
||||
+4
-4
@@ -17,7 +17,7 @@ package com.intellij.execution.dashboard.actions;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.RunManager;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardContent;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
@@ -38,7 +38,7 @@ public class RemoveConfigurationAction extends RunConfigurationTreeAction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean isEnabled4(DashboardRunConfigurationNode node) {
|
||||
protected boolean isEnabled4(RunDashboardRunConfigurationNode node) {
|
||||
return RunManager.getInstance(node.getProject()).hasSettings(node.getConfigurationSettings());
|
||||
}
|
||||
|
||||
@@ -48,7 +48,7 @@ public class RemoveConfigurationAction extends RunConfigurationTreeAction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doActionPerformed(@NotNull RunDashboardContent content, AnActionEvent e, List<DashboardRunConfigurationNode> nodes) {
|
||||
protected void doActionPerformed(@NotNull RunDashboardContent content, AnActionEvent e, List<RunDashboardRunConfigurationNode> nodes) {
|
||||
if (Messages.showYesNoDialog((Project)null,
|
||||
ExecutionBundle.message("run.dashboard.remove.configuration.dialog.message"),
|
||||
ExecutionBundle.message("run.dashboard.remove.configuration.dialog.title"),
|
||||
@@ -60,7 +60,7 @@ public class RemoveConfigurationAction extends RunConfigurationTreeAction {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doActionPerformed(DashboardRunConfigurationNode node) {
|
||||
protected void doActionPerformed(RunDashboardRunConfigurationNode node) {
|
||||
RunManager.getInstance(node.getProject()).removeConfiguration(node.getConfigurationSettings());
|
||||
}
|
||||
}
|
||||
|
||||
+4
-4
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.actions;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -24,14 +24,14 @@ import javax.swing.*;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public abstract class RunConfigurationTreeAction extends RunDashboardTreeAction<DashboardRunConfigurationNode> {
|
||||
public abstract class RunConfigurationTreeAction extends RunDashboardTreeActionImpl<RunDashboardRunConfigurationNode> {
|
||||
protected RunConfigurationTreeAction(String text, String description, Icon icon) {
|
||||
super(text, description, icon);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<DashboardRunConfigurationNode> getTargetNodeClass() {
|
||||
return DashboardRunConfigurationNode.class;
|
||||
protected Class<RunDashboardRunConfigurationNode> getTargetNodeClass() {
|
||||
return RunDashboardRunConfigurationNode.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
+4
-4
@@ -15,8 +15,8 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.actions;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardNode;
|
||||
import com.intellij.execution.dashboard.DashboardTreeAction;
|
||||
import com.intellij.execution.dashboard.RunDashboardNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardTreeAction;
|
||||
import com.intellij.execution.dashboard.RunDashboardContent;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -26,8 +26,8 @@ import javax.swing.*;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public abstract class RunDashboardTreeAction<T extends DashboardNode> extends DashboardTreeAction<T, RunDashboardContent> {
|
||||
protected RunDashboardTreeAction(String text, String description, Icon icon) {
|
||||
public abstract class RunDashboardTreeActionImpl<T extends RunDashboardNode> extends RunDashboardTreeAction<T, RunDashboardContent> {
|
||||
protected RunDashboardTreeActionImpl(String text, String description, Icon icon) {
|
||||
super(text, description, icon);
|
||||
}
|
||||
|
||||
+2
-2
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.actions;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardNode;
|
||||
import com.intellij.execution.dashboard.tree.GroupingNode;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeBuilder;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
@@ -27,7 +27,7 @@ import java.util.*;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public abstract class RunDashboardTreeLeafAction<T extends DashboardNode> extends RunDashboardTreeAction<T> {
|
||||
public abstract class RunDashboardTreeLeafAction<T extends RunDashboardNode> extends RunDashboardTreeActionImpl<T> {
|
||||
protected RunDashboardTreeLeafAction(String text, String description, Icon icon) {
|
||||
super(text, description, icon);
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
package com.intellij.execution.dashboard.actions;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardManager;
|
||||
import com.intellij.execution.impl.ExecutionManagerImpl;
|
||||
import com.intellij.execution.ui.RunContentManagerImpl;
|
||||
@@ -31,7 +31,7 @@ import java.util.List;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class StopAction extends RunDashboardTreeLeafAction<DashboardRunConfigurationNode> {
|
||||
public class StopAction extends RunDashboardTreeLeafAction<RunDashboardRunConfigurationNode> {
|
||||
public StopAction() {
|
||||
super(ExecutionBundle.message("run.dashboard.stop.action.name"),
|
||||
ExecutionBundle.message("run.dashboard.stop.action.description"),
|
||||
@@ -42,7 +42,7 @@ public class StopAction extends RunDashboardTreeLeafAction<DashboardRunConfigura
|
||||
public void update(@NotNull AnActionEvent e) {
|
||||
Project project = e.getProject();
|
||||
if (project == null || RunDashboardManager.getInstance(project).isShowConfigurations()) {
|
||||
List<DashboardRunConfigurationNode> targetNodes = getTargetNodes(e);
|
||||
List<RunDashboardRunConfigurationNode> targetNodes = getTargetNodes(e);
|
||||
e.getPresentation().setEnabled(targetNodes.stream().anyMatch(node -> {
|
||||
Content content = node.getContent();
|
||||
return content != null && !RunContentManagerImpl.isTerminated(content);
|
||||
@@ -69,12 +69,12 @@ public class StopAction extends RunDashboardTreeLeafAction<DashboardRunConfigura
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void doActionPerformed(DashboardRunConfigurationNode node) {
|
||||
protected void doActionPerformed(RunDashboardRunConfigurationNode node) {
|
||||
ExecutionManagerImpl.stopProcess(node.getDescriptor());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<DashboardRunConfigurationNode> getTargetNodeClass() {
|
||||
return DashboardRunConfigurationNode.class;
|
||||
protected Class<RunDashboardRunConfigurationNode> getTargetNodeClass() {
|
||||
return RunDashboardRunConfigurationNode.class;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ import org.jetbrains.annotations.NotNull;
|
||||
/**
|
||||
* @author Konstantin Aleev
|
||||
*/
|
||||
public class UngroupConfigurationsActions extends RunDashboardTreeAction<GroupingNode> {
|
||||
public class UngroupConfigurationsActions extends RunDashboardTreeActionImpl<GroupingNode> {
|
||||
protected UngroupConfigurationsActions() {
|
||||
super(ExecutionBundle.message("run.dashboard.ungroup.configurations.action.name"), null, AllIcons.General.Remove);
|
||||
}
|
||||
|
||||
+8
-8
@@ -18,9 +18,9 @@ package com.intellij.execution.dashboard.tree;
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.configurations.ConfigurationType;
|
||||
import com.intellij.execution.dashboard.DashboardGroup;
|
||||
import com.intellij.execution.dashboard.DashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroup;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
import com.intellij.ide.util.treeView.smartTree.ActionPresentation;
|
||||
@@ -32,7 +32,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class ConfigurationTypeDashboardGroupingRule implements DashboardGroupingRule {
|
||||
public class ConfigurationTypeDashboardGroupingRule implements RunDashboardGroupingRule {
|
||||
@NonNls private static final String NAME = "ConfigurationTypeDashboardGroupingRule";
|
||||
|
||||
@Override
|
||||
@@ -66,11 +66,11 @@ public class ConfigurationTypeDashboardGroupingRule implements DashboardGrouping
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public DashboardGroup getGroup(AbstractTreeNode<?> node) {
|
||||
if (node instanceof DashboardRunConfigurationNode) {
|
||||
RunnerAndConfigurationSettings configurationSettings = ((DashboardRunConfigurationNode)node).getConfigurationSettings();
|
||||
public RunDashboardGroup getGroup(AbstractTreeNode<?> node) {
|
||||
if (node instanceof RunDashboardRunConfigurationNode) {
|
||||
RunnerAndConfigurationSettings configurationSettings = ((RunDashboardRunConfigurationNode)node).getConfigurationSettings();
|
||||
ConfigurationType type = configurationSettings.getType();
|
||||
return new DashboardGroupImpl<>(type, type.getDisplayName(), type.getIcon());
|
||||
return new RunDashboardGroupImpl<>(type, type.getDisplayName(), type.getIcon());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
+8
-8
@@ -17,9 +17,9 @@ package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.ExecutionBundle;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.dashboard.DashboardGroup;
|
||||
import com.intellij.execution.dashboard.DashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroup;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
import com.intellij.ide.util.treeView.smartTree.ActionPresentation;
|
||||
@@ -33,7 +33,7 @@ import javax.swing.*;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class FolderDashboardGroupingRule implements DashboardGroupingRule {
|
||||
public class FolderDashboardGroupingRule implements RunDashboardGroupingRule {
|
||||
@NonNls private static final String NAME = "FolderDashboardGroupingRule";
|
||||
|
||||
@Override
|
||||
@@ -67,9 +67,9 @@ public class FolderDashboardGroupingRule implements DashboardGroupingRule {
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public DashboardGroup getGroup(AbstractTreeNode<?> node) {
|
||||
if (node instanceof DashboardRunConfigurationNode) {
|
||||
RunnerAndConfigurationSettings configurationSettings = ((DashboardRunConfigurationNode)node).getConfigurationSettings();
|
||||
public RunDashboardGroup getGroup(AbstractTreeNode<?> node) {
|
||||
if (node instanceof RunDashboardRunConfigurationNode) {
|
||||
RunnerAndConfigurationSettings configurationSettings = ((RunDashboardRunConfigurationNode)node).getConfigurationSettings();
|
||||
String folderName = configurationSettings.getFolderName();
|
||||
if (folderName != null) {
|
||||
return new FolderDashboardGroup(folderName, folderName, AllIcons.Nodes.Folder);
|
||||
@@ -78,7 +78,7 @@ public class FolderDashboardGroupingRule implements DashboardGroupingRule {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static class FolderDashboardGroup extends DashboardGroupImpl<String> {
|
||||
public static class FolderDashboardGroup extends RunDashboardGroupImpl<String> {
|
||||
public FolderDashboardGroup(String value, String name, Icon icon) {
|
||||
super(value, name, icon);
|
||||
}
|
||||
|
||||
@@ -15,8 +15,8 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardGroup;
|
||||
import com.intellij.execution.dashboard.DashboardNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroup;
|
||||
import com.intellij.execution.dashboard.RunDashboardNode;
|
||||
import com.intellij.ide.projectView.PresentationData;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -30,14 +30,14 @@ import java.util.List;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class GroupingNode extends AbstractTreeNode<Pair<Object, DashboardGroup>> implements DashboardNode {
|
||||
public class GroupingNode extends AbstractTreeNode<Pair<Object, RunDashboardGroup>> implements RunDashboardNode {
|
||||
private final List<AbstractTreeNode> myChildren = new ArrayList<>();
|
||||
|
||||
public GroupingNode(Project project, Object parent, DashboardGroup group) {
|
||||
public GroupingNode(Project project, Object parent, RunDashboardGroup group) {
|
||||
super(project, Pair.create(parent, group));
|
||||
}
|
||||
|
||||
public DashboardGroup getGroup() {
|
||||
public RunDashboardGroup getGroup() {
|
||||
//noinspection ConstantConditions ???
|
||||
return getValue().getSecond();
|
||||
}
|
||||
|
||||
+9
-9
@@ -16,9 +16,9 @@
|
||||
package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.dashboard.DashboardGroup;
|
||||
import com.intellij.execution.dashboard.DashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroup;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeNode;
|
||||
import com.intellij.ide.util.treeView.smartTree.ActionPresentation;
|
||||
import com.intellij.ide.util.treeView.smartTree.ActionPresentationData;
|
||||
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class RunConfigurationDashboardGroupingRule implements DashboardGroupingRule {
|
||||
public class RunConfigurationDashboardGroupingRule implements RunDashboardGroupingRule {
|
||||
@NotNull
|
||||
@Override
|
||||
public ActionPresentation getPresentation() {
|
||||
@@ -58,11 +58,11 @@ public class RunConfigurationDashboardGroupingRule implements DashboardGroupingR
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public DashboardGroup getGroup(AbstractTreeNode<?> node) {
|
||||
if (node instanceof DashboardRunConfigurationNode) {
|
||||
RunnerAndConfigurationSettings configurationSettings = ((DashboardRunConfigurationNode)node).getConfigurationSettings();
|
||||
return new DashboardGroupImpl<>(configurationSettings, configurationSettings.getName(),
|
||||
configurationSettings.getConfiguration().getIcon());
|
||||
public RunDashboardGroup getGroup(AbstractTreeNode<?> node) {
|
||||
if (node instanceof RunDashboardRunConfigurationNode) {
|
||||
RunnerAndConfigurationSettings configurationSettings = ((RunDashboardRunConfigurationNode)node).getConfigurationSettings();
|
||||
return new RunDashboardGroupImpl<>(configurationSettings, configurationSettings.getName(),
|
||||
configurationSettings.getConfiguration().getIcon());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
+6
-6
@@ -19,8 +19,8 @@ import com.intellij.execution.Executor;
|
||||
import com.intellij.execution.RunManager;
|
||||
import com.intellij.execution.RunManagerEx;
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationStatus;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationStatus;
|
||||
import com.intellij.execution.dashboard.RunDashboardContributor;
|
||||
import com.intellij.execution.ui.RunContentDescriptor;
|
||||
import com.intellij.execution.ui.RunContentManagerImpl;
|
||||
@@ -41,7 +41,7 @@ import java.util.Collections;
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
class RunConfigurationNode extends AbstractTreeNode<Pair<RunnerAndConfigurationSettings, Content>>
|
||||
implements DashboardRunConfigurationNode {
|
||||
implements RunDashboardRunConfigurationNode {
|
||||
|
||||
@Nullable private final RunDashboardContributor myContributor;
|
||||
private final UserDataHolder myUserDataHolder = new UserDataHolderBase();
|
||||
@@ -84,11 +84,11 @@ class RunConfigurationNode extends AbstractTreeNode<Pair<RunnerAndConfigurationS
|
||||
isStored ? SimpleTextAttributes.REGULAR_ATTRIBUTES : SimpleTextAttributes.GRAY_ATTRIBUTES);
|
||||
Icon icon = null;
|
||||
if (myContributor != null) {
|
||||
DashboardRunConfigurationStatus status = myContributor.getStatus(this);
|
||||
if (DashboardRunConfigurationStatus.STARTED.equals(status)) {
|
||||
RunDashboardRunConfigurationStatus status = myContributor.getStatus(this);
|
||||
if (RunDashboardRunConfigurationStatus.STARTED.equals(status)) {
|
||||
icon = getExecutorIcon();
|
||||
}
|
||||
else if (DashboardRunConfigurationStatus.FAILED.equals(status)) {
|
||||
else if (RunDashboardRunConfigurationStatus.FAILED.equals(status)) {
|
||||
icon = status.getIcon();
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardAnimator;
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.util.treeView.AbstractTreeBuilder;
|
||||
@@ -42,7 +42,7 @@ public class RunDashboardAnimatorImpl implements RunDashboardAnimator, Runnable,
|
||||
private long myLastInvocationTime = -1;
|
||||
|
||||
private Alarm myAlarm;
|
||||
private Set<DashboardNode> myNodes = new HashSet<>();
|
||||
private Set<RunDashboardNode> myNodes = new HashSet<>();
|
||||
private AbstractTreeBuilder myTreeBuilder;
|
||||
|
||||
public RunDashboardAnimatorImpl(AbstractTreeBuilder builder) {
|
||||
@@ -98,14 +98,14 @@ public class RunDashboardAnimatorImpl implements RunDashboardAnimator, Runnable,
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addNode(@NotNull DashboardNode node) {
|
||||
public void addNode(@NotNull RunDashboardNode node) {
|
||||
if (myNodes.add(node) && myNodes.size() == 1) {
|
||||
scheduleRepaint();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeNode(@NotNull DashboardNode node) {
|
||||
public void removeNode(@NotNull RunDashboardNode node) {
|
||||
if (myNodes.remove(node) && myNodes.isEmpty()) {
|
||||
repaintSubTree();
|
||||
if (myAlarm != null) {
|
||||
@@ -127,8 +127,8 @@ public class RunDashboardAnimatorImpl implements RunDashboardAnimator, Runnable,
|
||||
private void repaintSubTree() {
|
||||
if (myTreeBuilder == null || myTreeBuilder.isDisposed()) return;
|
||||
|
||||
List<DashboardNode> toRemove = ContainerUtil.newSmartList();
|
||||
for (DashboardNode node : myNodes) {
|
||||
List<RunDashboardNode> toRemove = ContainerUtil.newSmartList();
|
||||
for (RunDashboardNode node : myNodes) {
|
||||
DefaultMutableTreeNode treeNode = myTreeBuilder.getUi().getNodeForElement(node, false);
|
||||
if (treeNode != null) {
|
||||
myTreeBuilder.queueUpdateFrom(node, false, false);
|
||||
|
||||
+5
-5
@@ -15,19 +15,19 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardGroup;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroup;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class DashboardGroupImpl<T> implements DashboardGroup {
|
||||
public class RunDashboardGroupImpl<T> implements RunDashboardGroup {
|
||||
private final T myValue;
|
||||
private final String myName;
|
||||
private final Icon myIcon;
|
||||
|
||||
public DashboardGroupImpl(T value, String name, Icon icon) {
|
||||
public RunDashboardGroupImpl(T value, String name, Icon icon) {
|
||||
myValue = value;
|
||||
myName = name;
|
||||
myIcon = icon;
|
||||
@@ -50,8 +50,8 @@ public class DashboardGroupImpl<T> implements DashboardGroup {
|
||||
|
||||
@Override
|
||||
public final boolean equals(Object obj) {
|
||||
if (obj instanceof DashboardGroupImpl) {
|
||||
return myValue.equals(((DashboardGroupImpl)obj).myValue);
|
||||
if (obj instanceof RunDashboardGroupImpl) {
|
||||
return myValue.equals(((RunDashboardGroupImpl)obj).myValue);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
+5
-5
@@ -15,22 +15,22 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroupingRule;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class DashboardGrouper {
|
||||
@NotNull private final DashboardGroupingRule myRule;
|
||||
public class RunDashboardGrouper {
|
||||
@NotNull private final RunDashboardGroupingRule myRule;
|
||||
private boolean myEnabled = true;
|
||||
|
||||
public DashboardGrouper(@NotNull DashboardGroupingRule rule) {
|
||||
public RunDashboardGrouper(@NotNull RunDashboardGroupingRule rule) {
|
||||
myRule = rule;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public DashboardGroupingRule getRule() {
|
||||
public RunDashboardGroupingRule getRule() {
|
||||
return myRule;
|
||||
}
|
||||
|
||||
+3
-3
@@ -15,7 +15,7 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardContributor;
|
||||
import com.intellij.ide.util.treeView.NodeRenderer;
|
||||
import com.intellij.ui.ColoredTreeCellRenderer;
|
||||
@@ -50,8 +50,8 @@ public class RunDashboardTreeCellRenderer extends JPanel implements TreeCellRend
|
||||
boolean hasFocus) {
|
||||
myNodeRender.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
|
||||
Object userObject = TreeUtil.getUserObject(value);
|
||||
if (userObject instanceof DashboardRunConfigurationNode) {
|
||||
DashboardRunConfigurationNode node = (DashboardRunConfigurationNode)userObject;
|
||||
if (userObject instanceof RunDashboardRunConfigurationNode) {
|
||||
RunDashboardRunConfigurationNode node = (RunDashboardRunConfigurationNode)userObject;
|
||||
RunDashboardContributor contributor = node.getContributor();
|
||||
if (contributor != null) {
|
||||
if (contributor.customizeCellRenderer(myNodeRender, myLabel, node, selected, expanded, leaf, row, hasFocus)) {
|
||||
|
||||
+7
-7
@@ -16,7 +16,7 @@
|
||||
package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.RunnerAndConfigurationSettings;
|
||||
import com.intellij.execution.dashboard.DashboardRunConfigurationNode;
|
||||
import com.intellij.execution.dashboard.RunDashboardRunConfigurationNode;
|
||||
import com.intellij.execution.impl.RunManagerImpl;
|
||||
import com.intellij.openapi.project.DumbService;
|
||||
import com.intellij.openapi.project.Project;
|
||||
@@ -69,7 +69,7 @@ public class RunDashboardTreeModel extends DefaultTreeModel implements EditableM
|
||||
if (myProject.isDisposed() || DumbService.getInstance(myProject).isDumb()) return false;
|
||||
|
||||
|
||||
DashboardRunConfigurationNode oldNode = getRunConfigurationNode(oldIndex);
|
||||
RunDashboardRunConfigurationNode oldNode = getRunConfigurationNode(oldIndex);
|
||||
if (oldNode == null) return false;
|
||||
|
||||
GroupingNode newNode = getGroupingNode(newIndex);
|
||||
@@ -80,7 +80,7 @@ public class RunDashboardTreeModel extends DefaultTreeModel implements EditableM
|
||||
public boolean canDrop(int oldIndex, int newIndex, @NotNull Position position) {
|
||||
if (myProject.isDisposed() || DumbService.getInstance(myProject).isDumb()) return false;
|
||||
|
||||
DashboardRunConfigurationNode oldNode = getRunConfigurationNode(oldIndex);
|
||||
RunDashboardRunConfigurationNode oldNode = getRunConfigurationNode(oldIndex);
|
||||
if (oldNode == null) return false;
|
||||
|
||||
if (position == Position.INTO) {
|
||||
@@ -95,7 +95,7 @@ public class RunDashboardTreeModel extends DefaultTreeModel implements EditableM
|
||||
public void drop(int oldIndex, int newIndex, @NotNull Position position) {
|
||||
if (myProject.isDisposed() || DumbService.getInstance(myProject).isDumb()) return;
|
||||
|
||||
DashboardRunConfigurationNode oldNode = getRunConfigurationNode(oldIndex);
|
||||
RunDashboardRunConfigurationNode oldNode = getRunConfigurationNode(oldIndex);
|
||||
if (oldNode == null) return;
|
||||
|
||||
final RunManagerImpl runManager = RunManagerImpl.getInstanceImpl(myProject);
|
||||
@@ -109,7 +109,7 @@ public class RunDashboardTreeModel extends DefaultTreeModel implements EditableM
|
||||
return;
|
||||
}
|
||||
|
||||
DashboardRunConfigurationNode newNode = getRunConfigurationNode(newIndex);
|
||||
RunDashboardRunConfigurationNode newNode = getRunConfigurationNode(newIndex);
|
||||
if (newNode == null) return;
|
||||
|
||||
oldNode.getConfigurationSettings().setFolderName(newNode.getConfigurationSettings().getFolderName());
|
||||
@@ -141,8 +141,8 @@ public class RunDashboardTreeModel extends DefaultTreeModel implements EditableM
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private DashboardRunConfigurationNode getRunConfigurationNode(int index) {
|
||||
return getDashboardNode(index, DashboardRunConfigurationNode.class);
|
||||
private RunDashboardRunConfigurationNode getRunConfigurationNode(int index) {
|
||||
return getDashboardNode(index, RunDashboardRunConfigurationNode.class);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
||||
+9
-9
@@ -15,8 +15,8 @@
|
||||
*/
|
||||
package com.intellij.execution.dashboard.tree;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardGroup;
|
||||
import com.intellij.execution.dashboard.DashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroup;
|
||||
import com.intellij.execution.dashboard.RunDashboardGroupingRule;
|
||||
import com.intellij.execution.dashboard.RunDashboardManager;
|
||||
import com.intellij.ide.projectView.PresentationData;
|
||||
import com.intellij.ide.projectView.TreeStructureProvider;
|
||||
@@ -34,10 +34,10 @@ import java.util.stream.Collectors;
|
||||
*/
|
||||
public class RunDashboardTreeStructure extends AbstractTreeStructureBase {
|
||||
private final Project myProject;
|
||||
private final List<DashboardGrouper> myGroupers;
|
||||
private final List<RunDashboardGrouper> myGroupers;
|
||||
private final RunConfigurationsTreeRootNode myRootElement;
|
||||
|
||||
public RunDashboardTreeStructure(@NotNull Project project, @NotNull List<DashboardGrouper> groupers) {
|
||||
public RunDashboardTreeStructure(@NotNull Project project, @NotNull List<RunDashboardGrouper> groupers) {
|
||||
super(project);
|
||||
myProject = project;
|
||||
myGroupers = groupers;
|
||||
@@ -79,7 +79,7 @@ public class RunDashboardTreeStructure extends AbstractTreeStructureBase {
|
||||
|
||||
return group(myProject,
|
||||
this,
|
||||
myGroupers.stream().filter(DashboardGrouper::isEnabled).map(DashboardGrouper::getRule).collect(Collectors.toList()),
|
||||
myGroupers.stream().filter(RunDashboardGrouper::isEnabled).map(RunDashboardGrouper::getRule).collect(Collectors.toList()),
|
||||
nodes);
|
||||
}
|
||||
|
||||
@@ -89,13 +89,13 @@ public class RunDashboardTreeStructure extends AbstractTreeStructureBase {
|
||||
}
|
||||
|
||||
private static Collection<? extends AbstractTreeNode> group(final Project project, final AbstractTreeNode parent,
|
||||
List<DashboardGroupingRule> rules, List<RunConfigurationNode> nodes) {
|
||||
List<RunDashboardGroupingRule> rules, List<RunConfigurationNode> nodes) {
|
||||
if (rules.isEmpty()) {
|
||||
return nodes;
|
||||
}
|
||||
final List<DashboardGroupingRule> remaining = new ArrayList<>(rules);
|
||||
DashboardGroupingRule rule = remaining.remove(0);
|
||||
Map<Optional<DashboardGroup>, List<RunConfigurationNode>> groups = nodes.stream().collect(
|
||||
final List<RunDashboardGroupingRule> remaining = new ArrayList<>(rules);
|
||||
RunDashboardGroupingRule rule = remaining.remove(0);
|
||||
Map<Optional<RunDashboardGroup>, List<RunConfigurationNode>> groups = nodes.stream().collect(
|
||||
Collectors.groupingBy(node -> Optional.ofNullable(rule.getGroup(node))));
|
||||
final List<AbstractTreeNode> result = new ArrayList<>();
|
||||
final List<AbstractTreeNode> ungroupedNodes = new ArrayList<>();
|
||||
|
||||
+7
-7
@@ -28,7 +28,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
/**
|
||||
* @author konstantin.aleev
|
||||
*/
|
||||
public class StatusDashboardGroupingRule implements DashboardGroupingRule {
|
||||
public class StatusDashboardGroupingRule implements RunDashboardGroupingRule {
|
||||
@NonNls private static final String NAME = "StatusDashboardGroupingRule";
|
||||
|
||||
@Override
|
||||
@@ -62,13 +62,13 @@ public class StatusDashboardGroupingRule implements DashboardGroupingRule {
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public DashboardGroup getGroup(AbstractTreeNode<?> node) {
|
||||
if (node instanceof DashboardRunConfigurationNode) {
|
||||
DashboardRunConfigurationNode runConfigurationNode = (DashboardRunConfigurationNode)node;
|
||||
public RunDashboardGroup getGroup(AbstractTreeNode<?> node) {
|
||||
if (node instanceof RunDashboardRunConfigurationNode) {
|
||||
RunDashboardRunConfigurationNode runConfigurationNode = (RunDashboardRunConfigurationNode)node;
|
||||
RunDashboardContributor contributor = runConfigurationNode.getContributor();
|
||||
DashboardRunConfigurationStatus status = contributor != null ? contributor.getStatus(runConfigurationNode) :
|
||||
DashboardRunConfigurationStatus.getStatus(runConfigurationNode);
|
||||
return new DashboardGroupImpl<>(status, status.getName(), status.getIcon());
|
||||
RunDashboardRunConfigurationStatus status = contributor != null ? contributor.getStatus(runConfigurationNode) :
|
||||
RunDashboardRunConfigurationStatus.getStatus(runConfigurationNode);
|
||||
return new RunDashboardGroupImpl<>(status, status.getName(), status.getIcon());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -462,7 +462,7 @@
|
||||
<extensionPoint name="runDashboardContributor"
|
||||
interface="com.intellij.execution.dashboard.RunDashboardContributor"/>
|
||||
<extensionPoint name="runDashboardGroupingRule"
|
||||
interface="com.intellij.execution.dashboard.DashboardGroupingRule"/>
|
||||
interface="com.intellij.execution.dashboard.RunDashboardGroupingRule"/>
|
||||
|
||||
<extensionPoint name="hectorComponentProvider" interface="com.intellij.openapi.editor.HectorComponentPanelsProvider"
|
||||
area="IDEA_PROJECT"/>
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
package com.intellij.remoteServer.impl.runtime.ui.tree.actions;
|
||||
|
||||
import com.intellij.execution.dashboard.DashboardTreeAction;
|
||||
import com.intellij.execution.dashboard.RunDashboardTreeAction;
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.Presentation;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import javax.swing.*;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class ServersTreeAction<T extends ServersTreeNode> extends DashboardTreeAction<T, ServersToolWindowContent>
|
||||
public abstract class ServersTreeAction<T extends ServersTreeNode> extends RunDashboardTreeAction<T, ServersToolWindowContent>
|
||||
implements DumbAware {
|
||||
protected ServersTreeAction(String text, String description, Icon icon) {
|
||||
super(text, description, icon);
|
||||
|
||||
Reference in New Issue
Block a user