analysis.lami: Use the openResource command to open reports
authorAlexandre Montplaisir <alexmonthy@efficios.com>
Fri, 3 Jun 2016 22:43:21 +0000 (18:43 -0400)
committerAlexandre Montplaisir <alexmonthy@efficios.com>
Tue, 7 Jun 2016 01:37:21 +0000 (21:37 -0400)
Instead of defining our own command, we can hook into the
Eclipse-provided org.eclipse.ui.navigate.openResource command,
so that the reports can then be opened using the usual
keybindings to open resources.

Also hook it into OpenAction so that Enter and double-click
opens the report.

Bug: 493941

Change-Id: I4c546b60a77c2d531c8c9f18961984e5962ef56f
Signed-off-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-on: https://git.eclipse.org/r/74569
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Reviewed-by: Hudson CI
analysis/org.eclipse.tracecompass.analysis.lami.ui/plugin.xml
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/handlers/OpenAction.java

index 94a8b829d075a2e497723c72fd09785ef72191ef..f6d1909d02f664e8471e9070043f20d5612a9376 100644 (file)
@@ -31,7 +31,7 @@
       </handler>
       <handler
             class="org.eclipse.tracecompass.internal.provisional.analysis.lami.ui.handler.OpenReportHandler"
-            commandId="org.eclipse.tracecompass.tmf.ui.command.report_open">
+            commandId="org.eclipse.ui.navigate.openResource">
          <activeWhen>
             <and>
                <iterate
             id="org.eclipse.tracecompass.tmf.ui.command.analysis_add"
             name="%command.analysis_add">
       </command>
-      <command
-            categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
-            description="%command.report_open.description"
-            id="org.eclipse.tracecompass.tmf.ui.command.report_open"
-            name="%command.report_open">
-      </command>
       <command
             categoryId="org.eclipse.linuxtools.tmf.ui.commands.category"
             description="%command.report_delete.description"
       </menuContribution>
       <menuContribution
             allPopups="false"
-            locationURI="popup:org.eclipse.ui.popup.any?after=additions">
+            locationURI="popup:org.eclipse.ui.popup.any?after=group.open">
          <command
-               commandId="org.eclipse.tracecompass.tmf.ui.command.report_open"
+               commandId="org.eclipse.ui.navigate.openResource"
                label="%command.report_open"
                mnemonic="%command.report_open.mnemonic"
                style="push"
                <with
                      variable="selection">
                   <iterate
-                        ifEmpty="false">
+                        ifEmpty="false"
+                        operator="and">
                      <instanceof
                            value="org.eclipse.tracecompass.tmf.ui.project.model.TmfReportElement">
                      </instanceof>
index f7bec56714c922fd45c2fa599d076c6d446b3836..d385fd8b941bba8462d1e2e5f7bdf22d9ad09c75 100644 (file)
@@ -24,6 +24,7 @@ import org.eclipse.tracecompass.internal.tmf.ui.Activator;
 import org.eclipse.tracecompass.tmf.ui.project.model.TmfAnalysisOutputElement;
 import org.eclipse.tracecompass.tmf.ui.project.model.TmfExperimentElement;
 import org.eclipse.tracecompass.tmf.ui.project.model.TmfProjectModelElement;
+import org.eclipse.tracecompass.tmf.ui.project.model.TmfReportElement;
 import org.eclipse.tracecompass.tmf.ui.project.model.TmfTraceElement;
 import org.eclipse.ui.IWorkbenchPage;
 import org.eclipse.ui.handlers.IHandlerService;
@@ -57,7 +58,8 @@ public class OpenAction extends Action {
             Object firstElement = sSelection.getFirstElement();
             if ((sSelection.size() == 1) && (firstElement instanceof TmfTraceElement ||
                     firstElement instanceof TmfExperimentElement ||
-                    firstElement instanceof TmfAnalysisOutputElement)) {
+                    firstElement instanceof TmfAnalysisOutputElement ||
+                    firstElement instanceof TmfReportElement)) {
                 element = (TmfProjectModelElement) firstElement;
                 return true;
             }
@@ -70,7 +72,9 @@ public class OpenAction extends Action {
         try {
             Object service = page.getActivePart().getSite().getService(IHandlerService.class);
             IHandlerService handlerService = (IHandlerService) service;
-            boolean executeCommand = ((element instanceof TmfTraceElement) || (element instanceof TmfAnalysisOutputElement));
+            boolean executeCommand = (element instanceof TmfTraceElement ||
+                    element instanceof TmfAnalysisOutputElement ||
+                    element instanceof TmfReportElement);
 
             if (!executeCommand && element instanceof TmfExperimentElement) {
                 TmfExperimentElement experiment = (TmfExperimentElement) element;
This page took 0.026349 seconds and 5 git commands to generate.