Bug 539029: [NiConsole] Update icons of commands
- Add high dpi and disabled versions
- Convert Terminate Tool action to command handler
Rendering-Pipe: G-2.1/I-1.1.1
Change-Id: Id1e9d3acf5a36e15b8b5e6653435dc4f8bdb7e03
diff --git a/r/org.eclipse.statet.nico.ui/icons/loctool_16/cancel.png b/r/org.eclipse.statet.nico.ui/icons/loctool_16/cancel.png
deleted file mode 100644
index 797b129..0000000
--- a/r/org.eclipse.statet.nico.ui/icons/loctool_16/cancel.png
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/loctool_16/pause.png b/r/org.eclipse.statet.nico.ui/icons/loctool_16/pause.png
deleted file mode 100644
index 86b1386..0000000
--- a/r/org.eclipse.statet.nico.ui/icons/loctool_16/pause.png
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/loctool_16/terminate.png b/r/org.eclipse.statet.nico.ui/icons/loctool_16/terminate.png
deleted file mode 100644
index f242a8d..0000000
--- a/r/org.eclipse.statet.nico.ui/icons/loctool_16/terminate.png
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/cancel.png b/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/cancel.png
deleted file mode 100644
index a60736b..0000000
--- a/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/cancel.png
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/pause.png b/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/pause.png
deleted file mode 100644
index c2a61a9..0000000
--- a/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/pause.png
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/terminate.png b/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/terminate.png
deleted file mode 100644
index b0520ef..0000000
--- a/r/org.eclipse.statet.nico.ui/icons/loctool_16_d/terminate.png
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel$d.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel$d.png
new file mode 100644
index 0000000..27c786d
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel$d.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel$d@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel$d@2x.png
new file mode 100644
index 0000000..0bd2842
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel$d@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel.png
new file mode 100644
index 0000000..a3e9c04
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel@2x.png
new file mode 100644
index 0000000..3523457
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/cancel@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output$d.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output$d.png
new file mode 100644
index 0000000..906ec17
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output$d.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output$d@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output$d@2x.png
new file mode 100644
index 0000000..2a27c13
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output$d@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output.gif b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output.gif
deleted file mode 100644
index af30a42..0000000
--- a/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output.gif
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output.png
new file mode 100644
index 0000000..7425f91
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output@2x.png
new file mode 100644
index 0000000..d7775b6
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/clear_output@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/pause$d.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/pause$d.png
new file mode 100644
index 0000000..79041ff
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/pause$d.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/pause$d@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/pause$d@2x.png
new file mode 100644
index 0000000..41c9746
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/pause$d@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/pause.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/pause.png
new file mode 100644
index 0000000..ebf7561
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/pause.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/pause@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/pause@2x.png
new file mode 100644
index 0000000..ced8101
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/pause@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool$d.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool$d.png
new file mode 100644
index 0000000..00de1d5
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool$d.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool$d@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool$d@2x.png
new file mode 100644
index 0000000..f5d4726
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool$d@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool.png
index a859fcc..071c862 100644
--- a/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool.png
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool@2x.png
index c31166c..10f4b11 100644
--- a/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool@2x.png
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/relaunch_tool@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo$d.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo$d.png
new file mode 100644
index 0000000..fbdf308
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo$d.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo$d@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo$d@2x.png
new file mode 100644
index 0000000..5937220
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo$d@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo.png
new file mode 100644
index 0000000..801e9fd
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo@2x.png b/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo@2x.png
new file mode 100644
index 0000000..a94be4a
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/icons/tool_16_d/clear_output.gif b/r/org.eclipse.statet.nico.ui/icons/tool_16_d/clear_output.gif
deleted file mode 100644
index 6775edf..0000000
--- a/r/org.eclipse.statet.nico.ui/icons/tool_16_d/clear_output.gif
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.nico.ui/plugin.xml b/r/org.eclipse.statet.nico.ui/plugin.xml
index 7fff8cb..3890efb 100644
--- a/r/org.eclipse.statet.nico.ui/plugin.xml
+++ b/r/org.eclipse.statet.nico.ui/plugin.xml
@@ -246,19 +246,20 @@
point="org.eclipse.ui.commandImages">
<image
commandId="org.eclipse.statet.nico.commands.RelaunchTool"
- icon="icons/tool_16/relaunch_tool.png"/>
+ icon="icons/tool_16/relaunch_tool.png"
+ disabledIcon="icons/tool_16/relaunch_tool$d.png"/>
<image
commandId="org.eclipse.statet.nico.commands.PauseTool"
- icon="icons/loctool_16/pause.png"
- disabledIcon="icons/loctool_16_d/pause.png"/>
+ icon="icons/tool_16/pause.png"
+ disabledIcon="icons/tool_16/pause$d.png"/>
<image
commandId="org.eclipse.statet.nico.commands.CancelCurrent"
- icon="icons/loctool_16/cancel.png"
- disabledIcon="icons/loctool_16_d/cancel.png"/>
+ icon="icons/tool_16/cancel.png"
+ disabledIcon="icons/tool_16/cancel$d.png"/>
<image
commandId="org.eclipse.statet.nico.commands.ClearOutput"
- icon="icons/tool_16/clear_output.gif"
- disabledIcon="icons/tool_16_d/clear_output.gif"/>
+ icon="icons/tool_16/clear_output.png"
+ disabledIcon="icons/tool_16/clear_output$d.png"/>
</extension>
<extension
point="org.eclipse.ui.services">
@@ -304,7 +305,7 @@
</runnable>
<runnable
typeId="common/quit"
- icon="icons/loctool_16/terminate.png">
+ icon="platform:/plugin/org.eclipse.statet.ecommons.debug.ui/icons/tool_16/terminate.png">
</runnable>
</extension>
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/Messages.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/Messages.java
index d614045..2c785e5 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/Messages.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/Messages.java
@@ -56,6 +56,7 @@
public static String TerminatingMonitor_Force_error_message;
public static String TerminatingMonitor_WaitButton_label;
+ public static String TerminateToolAction_tooltip;
public static String RelaunchToolAction_tooltip;
public static String Tracking_Name_label;
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/Messages.properties b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/Messages.properties
index ffd681c..c850b4c 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/Messages.properties
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/Messages.properties
@@ -53,6 +53,7 @@
TerminatingMonitor_Force_error_message = An error occurred when trying to kill the tool process.
TerminatingMonitor_CancelButton_label = Cancel (quit requests)
+TerminateToolAction_tooltip= Terminate Tool
RelaunchToolAction_tooltip= Relaunch Tool Session
Tracking_Name_label = Name:
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/NicoUIPlugin.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/NicoUIPlugin.java
index 109515b..e5366c4 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/NicoUIPlugin.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/NicoUIPlugin.java
@@ -22,6 +22,9 @@
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.ui.statushandlers.StatusManager;
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+import org.eclipse.statet.jcommons.lang.Nullable;
+
import org.eclipse.statet.ecommons.ts.ui.workbench.WorkbenchToolRegistryListener;
import org.eclipse.statet.ecommons.ts.ui.workbench.WorkbenchToolSessionData;
import org.eclipse.statet.ecommons.ui.actions.WindowContributionsProvider;
@@ -35,6 +38,7 @@
/**
* The activator class controls the plug-in life cycle
*/
+@NonNullByDefault
public final class NicoUIPlugin extends AbstractUIPlugin {
@@ -58,10 +62,10 @@
}
- private ToolRegistry fToolRegistry;
+ private ToolRegistry toolRegistry;
private WindowContributionsProvider fContributionProvider;
- private DecoratorsRegistry fUIDecoratorsRegistry;
+ private @Nullable DecoratorsRegistry uiDecoratorsRegistry;
/**
@@ -76,15 +80,16 @@
public void start(final BundleContext context) throws Exception {
super.start(context);
- fToolRegistry = new ToolRegistry();
- fToolRegistry.addListener(new WorkbenchToolRegistryListener() {
+ this.toolRegistry= new ToolRegistry();
+
+ this.toolRegistry.addListener(new WorkbenchToolRegistryListener() {
@Override
public void toolSessionActivated(final WorkbenchToolSessionData sessionData) {
if (sessionData.getTool() != null) {
- fToolRegistry.removeListener(this);
+ NicoUIPlugin.this.toolRegistry.removeListener(this);
- if (fContributionProvider == null) {
- fContributionProvider = new NicoWindowContributions();
+ if (NicoUIPlugin.this.fContributionProvider == null) {
+ NicoUIPlugin.this.fContributionProvider= new NicoWindowContributions();
}
}
}
@@ -97,16 +102,16 @@
@Override
public void stop(final BundleContext context) throws Exception {
try {
- if (fToolRegistry != null) {
- fToolRegistry.dispose();
- fToolRegistry = null;
+ if (this.toolRegistry != null) {
+ this.toolRegistry.dispose();
+ this.toolRegistry= null;
}
- if (fContributionProvider != null) {
- fContributionProvider.dispose();
- fContributionProvider = null;
+ if (this.fContributionProvider != null) {
+ this.fContributionProvider.dispose();
+ this.fContributionProvider = null;
}
- if (fUIDecoratorsRegistry != null) {
- fUIDecoratorsRegistry = null;
+ if (this.uiDecoratorsRegistry != null) {
+ this.uiDecoratorsRegistry= null;
}
}
finally {
@@ -120,27 +125,22 @@
protected void initializeImageRegistry(final ImageRegistry reg) {
final ImageRegistryUtil util = new ImageRegistryUtil(this);
- util.register(NicoUIResources.LOCTOOL_CANCEL_IMAGE_ID, ImageRegistryUtil.T_LOCTOOL, "cancel.png"); //$NON-NLS-1$
- util.register(NicoUIResources.LOCTOOLD_CANCEL_IMAGE_ID, ImageRegistryUtil.T_LOCTOOL_D, "cancel.png"); //$NON-NLS-1$
- util.register(NicoUIResources.LOCTOOL_PAUSE_IMAGE_ID, ImageRegistryUtil.T_LOCTOOL, "pause.png"); //$NON-NLS-1$
- util.register(NicoUIResources.LOCTOOLD_PAUSE_IMAGE_ID, ImageRegistryUtil.T_LOCTOOL_D, "pause.png"); //$NON-NLS-1$
- util.register(NicoUIResources.LOCTOOL_TERMINATE_IMAGE_ID, ImageRegistryUtil.T_LOCTOOL, "terminate.png"); //$NON-NLS-1$
- util.register(NicoUIResources.LOCTOOLD_TERMINATE_IMAGE_ID, ImageRegistryUtil.T_LOCTOOL_D, "terminate.png"); //$NON-NLS-1$
-
util.register(NicoUIResources.OBJ_TASK_CONSOLECOMMAND_IMAGE_ID, ImageRegistryUtil.T_OBJ, "task-consolecommand.png"); //$NON-NLS-1$
util.register(NicoUIResources.OBJ_TASK_DUMMY_IMAGE_ID, ImageRegistryUtil.T_OBJ, "task-dummy.png"); //$NON-NLS-1$
util.register(NicoUIResources.OBJ_CONSOLECOMMAND_IMAGE_ID, ImageRegistryUtil.T_OBJ, "consolecommand.png"); //$NON-NLS-1$
}
public ToolRegistry getToolRegistry() {
- return fToolRegistry;
+ return this.toolRegistry;
}
public synchronized DecoratorsRegistry getUIDecoratorsRegistry() {
- if (fUIDecoratorsRegistry == null) {
- fUIDecoratorsRegistry = new DecoratorsRegistry();
+ var registry= this.uiDecoratorsRegistry;
+ if (registry == null) {
+ registry= new DecoratorsRegistry();
+ this.uiDecoratorsRegistry= registry;
}
- return fUIDecoratorsRegistry;
+ return registry;
}
}
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/actions/TerminateToolHandler.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/actions/TerminateToolHandler.java
new file mode 100644
index 0000000..e2f25b7
--- /dev/null
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/internal/nico/ui/actions/TerminateToolHandler.java
@@ -0,0 +1,106 @@
+/*=============================================================================#
+ # Copyright (c) 2022 Stephan Wahlbrink and others.
+ #
+ # This program and the accompanying materials are made available under the
+ # terms of the Eclipse Public License 2.0 which is available at
+ # https://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
+ # which is available at https://www.apache.org/licenses/LICENSE-2.0.
+ #
+ # SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
+ #
+ # Contributors:
+ # Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
+ #=============================================================================*/
+
+package org.eclipse.statet.internal.nico.ui.actions;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.expressions.IEvaluationContext;
+import org.eclipse.core.runtime.IExecutableExtension;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.debug.core.DebugException;
+import org.eclipse.debug.ui.DebugUITools;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.commands.IElementUpdater;
+import org.eclipse.ui.console.IConsole;
+import org.eclipse.ui.statushandlers.StatusManager;
+
+import org.eclipse.statet.jcommons.lang.NonNullByDefault;
+import org.eclipse.statet.jcommons.lang.Nullable;
+import org.eclipse.statet.jcommons.ts.core.Tool;
+
+import org.eclipse.statet.ecommons.debug.ui.ECommonsDebugUI;
+import org.eclipse.statet.ecommons.ui.actions.AbstractScopeHandler;
+import org.eclipse.statet.ecommons.ui.actions.WorkbenchScopingHandler;
+import org.eclipse.statet.ecommons.ui.util.UIAccess;
+
+import org.eclipse.statet.internal.nico.ui.Messages;
+import org.eclipse.statet.nico.core.runtime.ToolProcess;
+import org.eclipse.statet.nico.ui.NicoUI;
+import org.eclipse.statet.nico.ui.NicoUITools;
+import org.eclipse.statet.nico.ui.actions.AbstractToolScopeHandler;
+import org.eclipse.statet.nico.ui.console.NIConsole;
+
+
+@NonNullByDefault
+public class TerminateToolHandler extends AbstractToolScopeHandler<ToolProcess> {
+
+
+ public TerminateToolHandler(final Object scope) {
+ super(scope, ECommonsDebugUI.TERMINATE_COMMAND_ID);
+ }
+
+
+ @Override
+ protected boolean isSupported(final Tool tool) {
+ return (tool instanceof ToolProcess);
+ }
+
+ @Override
+ protected boolean evaluateIsEnabled(final ToolProcess tool) {
+ return (tool.canTerminate());
+ }
+
+
+ @Override
+ public @Nullable Object execute(final ExecutionEvent event,
+ final ToolProcess tool, final IEvaluationContext evalContext)
+ throws ExecutionException {
+ try {
+ tool.terminate();
+
+ final IWorkbenchPage page= UIAccess.getActiveWorkbenchPage(false);
+ final IConsole console= DebugUITools.getConsole(tool);
+ if (console instanceof NIConsole) {
+ NicoUITools.showConsole((NIConsole)console, page, true);
+ }
+ }
+ catch (final DebugException e) {
+ final int severity= e.getStatus().getSeverity();
+ StatusManager.getManager().handle(new Status(severity, NicoUI.BUNDLE_ID, -1, Messages.TerminateToolAction_error_message, e),
+ (severity >= IStatus.ERROR) ? StatusManager.LOG | StatusManager.SHOW : StatusManager.LOG);
+ }
+ return null;
+ }
+
+
+ public static class WorkbenchHandler extends WorkbenchScopingHandler
+ implements IElementUpdater, IExecutableExtension {
+
+
+ /** For instantiation via plugin.xml */
+ public WorkbenchHandler() {
+ }
+
+
+ @Override
+ protected AbstractScopeHandler createScopeHandler(final Object scope) {
+ return new TerminateToolHandler(scope);
+ }
+
+
+ }
+
+}
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/NicoUIResources.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/NicoUIResources.java
index d2b92e4..9a095d6 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/NicoUIResources.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/NicoUIResources.java
@@ -28,19 +28,10 @@
private static final String NS= "org.eclipse.statet.nico"; //$NON-NLS-1$
- public static final String LOCTOOL_CANCEL_IMAGE_ID= NS + "/image/loctool/cancel"; //$NON-NLS-1$
- public static final String LOCTOOLD_CANCEL_IMAGE_ID= NS + "/image/loctoold/cancel"; //$NON-NLS-1$
+ public static final String OBJ_TASK_CONSOLECOMMAND_IMAGE_ID= NS + "/images/obj/task.consolecommand"; //$NON-NLS-1$
+ public static final String OBJ_TASK_DUMMY_IMAGE_ID= NS + "/images/obj/task.commanddummy"; //$NON-NLS-1$
- public static final String LOCTOOL_PAUSE_IMAGE_ID= NS + "/image/loctool/pause"; //$NON-NLS-1$
- public static final String LOCTOOLD_PAUSE_IMAGE_ID= NS + "/image/loctoold/pause"; //$NON-NLS-1$
-
- public static final String LOCTOOL_TERMINATE_IMAGE_ID= NS + "/image/loctool/terminate"; //$NON-NLS-1$
- public static final String LOCTOOLD_TERMINATE_IMAGE_ID= NS + "/image/loctoold/terminate"; //$NON-NLS-1$
-
- public static final String OBJ_TASK_CONSOLECOMMAND_IMAGE_ID= NS + "/image/obj/task.consolecommand"; //$NON-NLS-1$
- public static final String OBJ_TASK_DUMMY_IMAGE_ID= NS + "/image/obj/task.commanddummy"; //$NON-NLS-1$
-
- public static final String OBJ_CONSOLECOMMAND_IMAGE_ID= NS + "/image/obj/consolecommand"; //$NON-NLS-1$
+ public static final String OBJ_CONSOLECOMMAND_IMAGE_ID= NS + "/images/obj/consolecommand"; //$NON-NLS-1$
static final NicoUIResources INSTANCE= new NicoUIResources();
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/NIConsolePage.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/NIConsolePage.java
index 8dec567..498c3ee 100644
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/NIConsolePage.java
+++ b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/NIConsolePage.java
@@ -16,6 +16,7 @@
import static org.eclipse.statet.jcommons.lang.ObjectUtils.nonNullAssert;
+import static org.eclipse.statet.ecommons.debug.ui.ECommonsDebugUI.TERMINATE_COMMAND_ID;
import static org.eclipse.statet.ecommons.ui.SharedUIResources.FIND_NEXT_COMMAND_ID;
import static org.eclipse.statet.ecommons.ui.SharedUIResources.FIND_PREVIOUS_COMMAND_ID;
import static org.eclipse.statet.ecommons.ui.actions.UIActions.ADDITIONS_GROUP_ID;
@@ -137,6 +138,7 @@
import org.eclipse.statet.internal.nico.ui.NicoUIPlugin;
import org.eclipse.statet.internal.nico.ui.actions.CancelRunnableHandler;
import org.eclipse.statet.internal.nico.ui.actions.RelaunchToolHandler;
+import org.eclipse.statet.internal.nico.ui.actions.TerminateToolHandler;
import org.eclipse.statet.internal.nico.ui.console.OutputViewer;
import org.eclipse.statet.ltk.ui.sourceediting.SourceEditor;
import org.eclipse.statet.ltk.ui.sourceediting.SourceEditorViewerConfigurator;
@@ -454,7 +456,6 @@
private StatusListener debugListener;
private ConsoleRemoveLaunchAction removeAction;
private ConsoleRemoveAllTerminatedAction removeAllAction;
- private TerminateToolAction terminateAction;
private ContextHandlers pageHandlers;
private ContextHandlers inputHandlers;
@@ -688,7 +689,8 @@
this.removeAction= new ConsoleRemoveLaunchAction(this.console.getProcess().getLaunch());
this.removeAllAction= new ConsoleRemoveAllTerminatedAction();
- this.terminateAction= new TerminateToolAction(this.console.getProcess());
+ this.pageHandlers.addActivate(TERMINATE_COMMAND_ID,
+ new TerminateToolHandler(this) );
this.pageHandlers.addActivate(CANCEL_CURRENT_COMMAND_ID,
new CancelRunnableHandler(this, CANCEL_CURRENT_COMMAND_ID) );
this.pageHandlers.addActivate(CANCEL_CURRENT_PAUSE_COMMAND_ID,
@@ -847,7 +849,13 @@
null, null, Messages.RelaunchToolAction_tooltip,
HandlerContributionItem.STYLE_PUSH, null, false ),
handlers ));
- toolBarManager.appendToGroup(IConsoleConstants.LAUNCH_GROUP, this.terminateAction);
+ toolBarManager.appendToGroup(IConsoleConstants.LAUNCH_GROUP, new HandlerContributionItem(
+ new CommandContributionItemParameter(serviceLocator,
+ null, TERMINATE_COMMAND_ID, null,
+ null, null, null,
+ null, null, Messages.TerminateToolAction_tooltip,
+ HandlerContributionItem.STYLE_PUSH, null, false ),
+ handlers ));
toolBarManager.appendToGroup(IConsoleConstants.LAUNCH_GROUP, this.removeAction);
toolBarManager.appendToGroup(IConsoleConstants.LAUNCH_GROUP, this.removeAllAction);
@@ -985,8 +993,6 @@
this.removeAction= null;
this.removeAllAction.dispose();
this.removeAllAction= null;
- this.terminateAction.dispose();
- this.terminateAction= null;
this.outputViewer= null;
}
@@ -1131,7 +1137,6 @@
protected void onToolTerminated() {
if (this.isCreated) {
- this.terminateAction.update();
final ActiveToolEvent event= new ActiveToolEvent(ActiveToolEvent.TOOL_TERMINATED, getTool());
for (final ActiveToolListener listener : this.toolListeners) {
listener.onToolChanged(event);
diff --git a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/TerminateToolAction.java b/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/TerminateToolAction.java
deleted file mode 100644
index 0e823cf..0000000
--- a/r/org.eclipse.statet.nico.ui/src/org/eclipse/statet/nico/ui/console/TerminateToolAction.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*=============================================================================#
- # Copyright (c) 2000, 2022 IBM Corporation and others.
- #
- # This program and the accompanying materials are made available under the
- # terms of the Eclipse Public License 2.0 which is available at
- # https://www.eclipse.org/legal/epl-2.0.
- #
- # SPDX-License-Identifier: EPL-2.0
- #
- # Contributors:
- # IBM Corporation - org.eclipse.ui.console: initial API and implementation
- # Stephan Wahlbrink <sw@wahlbrink.eu> - initial API and implementation
- #=============================================================================*/
-
-package org.eclipse.statet.nico.ui.console;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.debug.core.DebugException;
-import org.eclipse.debug.core.DebugPlugin;
-import org.eclipse.debug.core.ILaunch;
-import org.eclipse.debug.core.ILaunchManager;
-import org.eclipse.debug.core.model.IDebugTarget;
-import org.eclipse.debug.core.model.IProcess;
-import org.eclipse.debug.internal.ui.IDebugHelpContextIds;
-import org.eclipse.debug.internal.ui.views.console.ConsoleMessages;
-import org.eclipse.debug.ui.DebugUITools;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.console.IConsole;
-import org.eclipse.ui.statushandlers.StatusManager;
-import org.eclipse.ui.texteditor.IUpdate;
-
-import org.eclipse.statet.ecommons.ui.util.UIAccess;
-
-import org.eclipse.statet.internal.nico.ui.Messages;
-import org.eclipse.statet.internal.nico.ui.NicoUIPlugin;
-import org.eclipse.statet.nico.ui.NicoUI;
-import org.eclipse.statet.nico.ui.NicoUIResources;
-import org.eclipse.statet.nico.ui.NicoUITools;
-
-
-public class TerminateToolAction extends Action implements IUpdate {
-
-
- private IProcess process;
-
-
- /**
- * Creates a terminate action for the console
- */
- public TerminateToolAction(final IProcess process) {
- super(ConsoleMessages.ConsoleTerminateAction_0);
- PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IDebugHelpContextIds.CONSOLE_TERMINATE_ACTION);
- this.process= process;
- setToolTipText(ConsoleMessages.ConsoleTerminateAction_1);
- final ImageRegistry registry= NicoUIPlugin.getInstance().getImageRegistry();
- setImageDescriptor(registry.getDescriptor(NicoUIResources.LOCTOOL_TERMINATE_IMAGE_ID));
- setDisabledImageDescriptor(registry.getDescriptor(NicoUIResources.LOCTOOLD_TERMINATE_IMAGE_ID));
- update();
- }
-
-
- @Override
- public void update() {
- setEnabled(this.process.canTerminate());
- }
-
- @Override
- public void run() {
- try {
-// killTargets(fProcess);
- this.process.terminate();
-
- final IWorkbenchPage page= UIAccess.getActiveWorkbenchPage(false);
- final IConsole console= DebugUITools.getConsole(this.process);
- if (console instanceof NIConsole) {
- NicoUITools.showConsole((NIConsole) console, page, true);
- }
- } catch (final DebugException e) {
- final int severity= e.getStatus().getSeverity();
- StatusManager.getManager().handle(new Status(severity, NicoUI.BUNDLE_ID, -1, Messages.TerminateToolAction_error_message, e),
- (severity >= IStatus.ERROR) ? StatusManager.LOG | StatusManager.SHOW : StatusManager.LOG);
- }
- }
-
- private void killTargets(final IProcess process) throws DebugException {
- final ILaunchManager launchManager= DebugPlugin.getDefault().getLaunchManager();
- final ILaunch[] launches= launchManager.getLaunches();
-
- for (int i= 0; i < launches.length; i++) {
- final ILaunch launch= launches[i];
- final IProcess[] processes= launch.getProcesses();
- for (int j= 0; j < processes.length; j++) {
- final IProcess process2= processes[j];
- if (process2.equals(process)) {
- final IDebugTarget[] debugTargets= launch.getDebugTargets();
- for (int k= 0; k < debugTargets.length; k++) {
- final IDebugTarget target= debugTargets[k];
- if (target.canTerminate()) {
- target.terminate();
- }
- }
- return; // all possible targets have been terminated for the launch.
- }
- }
- }
- }
-
- public void dispose() {
- this.process= null;
- }
-
-}
diff --git a/r/org.eclipse.statet.r.doc/icons/loctool/cancel.png b/r/org.eclipse.statet.r.doc/icons/loctool/cancel.png
deleted file mode 100644
index 797b129..0000000
--- a/r/org.eclipse.statet.r.doc/icons/loctool/cancel.png
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/icons/loctool/clear_output.gif b/r/org.eclipse.statet.r.doc/icons/loctool/clear_output.gif
deleted file mode 100644
index af30a42..0000000
--- a/r/org.eclipse.statet.r.doc/icons/loctool/clear_output.gif
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/icons/loctool/terminate.gif b/r/org.eclipse.statet.r.doc/icons/loctool/terminate.gif
deleted file mode 100644
index dc47edf..0000000
--- a/r/org.eclipse.statet.r.doc/icons/loctool/terminate.gif
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/icons/tool/cancel.png b/r/org.eclipse.statet.r.doc/icons/tool/cancel.png
new file mode 100644
index 0000000..a3e9c04
--- /dev/null
+++ b/r/org.eclipse.statet.r.doc/icons/tool/cancel.png
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/icons/tool/cancel@2x.png b/r/org.eclipse.statet.r.doc/icons/tool/cancel@2x.png
new file mode 100644
index 0000000..3523457
--- /dev/null
+++ b/r/org.eclipse.statet.r.doc/icons/tool/cancel@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/icons/tool/clear_output.png b/r/org.eclipse.statet.r.doc/icons/tool/clear_output.png
new file mode 100644
index 0000000..a422818
--- /dev/null
+++ b/r/org.eclipse.statet.r.doc/icons/tool/clear_output.png
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/icons/tool/clear_output@2x.png b/r/org.eclipse.statet.r.doc/icons/tool/clear_output@2x.png
new file mode 100644
index 0000000..59618a1
--- /dev/null
+++ b/r/org.eclipse.statet.r.doc/icons/tool/clear_output@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/icons/tool/terminate.png b/r/org.eclipse.statet.r.doc/icons/tool/terminate.png
new file mode 100644
index 0000000..45fa44b
--- /dev/null
+++ b/r/org.eclipse.statet.r.doc/icons/tool/terminate.png
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/icons/tool/terminate@2x.png b/r/org.eclipse.statet.r.doc/icons/tool/terminate@2x.png
new file mode 100644
index 0000000..7decbf2
--- /dev/null
+++ b/r/org.eclipse.statet.r.doc/icons/tool/terminate@2x.png
Binary files differ
diff --git a/r/org.eclipse.statet.r.doc/reference/r_console-page.xhtml b/r/org.eclipse.statet.r.doc/reference/r_console-page.xhtml
index a51a510..57b4014 100644
--- a/r/org.eclipse.statet.r.doc/reference/r_console-page.xhtml
+++ b/r/org.eclipse.statet.r.doc/reference/r_console-page.xhtml
@@ -119,7 +119,7 @@
<th>Availability</th>
</tr></thead>
<tr>
- <td><img alt="Icon" src="../icons/loctool/cancel.png" style="vertical-align: text-top"/></td>
+ <td><img alt="Icon" src="../icons/tool/cancel.png" style="vertical-align: text-top"/></td>
<td><span class="uilabel">Cancel Task</span></td>
<td><p>Cancel Tasks is a menu that allows to cancel the execution of the currently running
R task. This can be useful e.g. when one launches an intensive simulation, but discovers
@@ -135,7 +135,7 @@
<kbd>Break</kbd></td>
</tr>
<tr>
- <td><img alt="Icon" src="../icons/loctool/terminate.gif" style="vertical-align: text-top"/></td>
+ <td><img alt="Icon" src="../icons/tool/terminate.png" style="vertical-align: text-top"/></td>
<td><span class="uilabel">Terminate</span></td>
<td><p>The Stop Console button allows to quit a given R. On pressing this button, the user will
be prompted to save the workspace or not (can be disabled by launch arguments).</p>
@@ -166,7 +166,7 @@
</tr>
<tr><th colspan="4">Output</th></tr>
<tr>
- <td><img alt="Icon" src="../icons/loctool/clear_output.gif" style="vertical-align: text-top"/></td>
+ <td><img alt="Icon" src="../icons/tool/clear_output.png" style="vertical-align: text-top"/></td>
<td><span class="uilabel">Clear Console</span> /<br/>
<span class="uilabel">Clear Console Output</span></td>
<td><p>The Clear command will clean the output window of the console. After clearing the
diff --git a/r/org.eclipse.statet.r.doc/reference/r_debug-execution_control.xhtml b/r/org.eclipse.statet.r.doc/reference/r_debug-execution_control.xhtml
index b31fe17..d51f467 100644
--- a/r/org.eclipse.statet.r.doc/reference/r_debug-execution_control.xhtml
+++ b/r/org.eclipse.statet.r.doc/reference/r_debug-execution_control.xhtml
@@ -94,7 +94,7 @@
<kbd>F7</kbd></td>
</tr>
<tr>
- <td><img alt="Icon" src="../icons/loctool/terminate.gif" style="vertical-align: text-top"/></td>
+ <td><img alt="Icon" src="../icons/tool/terminate.png" style="vertical-align: text-top"/></td>
<td><span class="uilabel">Terminate</span></td>
<td><p>Terminates the selected element (debug target/R engine, process, ...).</p>
<p>If the R thread is suspend, the terminate action for the R engine/R thread exits the
diff --git a/r/org.eclipse.statet.r.ui/icons/tool_16/echo.png b/r/org.eclipse.statet.r.ui/icons/tool_16/echo.png
deleted file mode 100644
index 5494287..0000000
--- a/r/org.eclipse.statet.r.ui/icons/tool_16/echo.png
+++ /dev/null
Binary files differ
diff --git a/r/org.eclipse.statet.r.ui/plugin.xml b/r/org.eclipse.statet.r.ui/plugin.xml
index 097da19..bb84f4b 100644
--- a/r/org.eclipse.statet.r.ui/plugin.xml
+++ b/r/org.eclipse.statet.r.ui/plugin.xml
@@ -1733,7 +1733,8 @@
</image>
<image
commandId="org.eclipse.statet.r.commands.ToggleRunEcho"
- icon="icons/tool_16/echo.png">
+ icon="platform:/plugin/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo.png"
+ disabledIcon="platform:/plugin/org.eclipse.statet.nico.ui/icons/tool_16/toggle_echo$d.png">
</image>
</extension>
<extension