From 685a6e679bc1093b92eafac992780c88398fe3bf Mon Sep 17 00:00:00 2001 From: Alexandre Montplaisir Date: Fri, 3 Jun 2016 18:43:21 -0400 Subject: [PATCH] analysis.lami: Use the openResource command to open reports 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 Reviewed-on: https://git.eclipse.org/r/74569 Reviewed-by: Bernd Hufmann Tested-by: Bernd Hufmann Reviewed-by: Hudson CI --- .../plugin.xml | 15 +++++---------- .../tmf/ui/project/handlers/OpenAction.java | 8 ++++++-- 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/analysis/org.eclipse.tracecompass.analysis.lami.ui/plugin.xml b/analysis/org.eclipse.tracecompass.analysis.lami.ui/plugin.xml index 94a8b829d0..f6d1909d02 100644 --- a/analysis/org.eclipse.tracecompass.analysis.lami.ui/plugin.xml +++ b/analysis/org.eclipse.tracecompass.analysis.lami.ui/plugin.xml @@ -31,7 +31,7 @@ + commandId="org.eclipse.ui.navigate.openResource"> - - + locationURI="popup:org.eclipse.ui.popup.any?after=group.open"> + ifEmpty="false" + operator="and"> diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/handlers/OpenAction.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/handlers/OpenAction.java index f7bec56714..d385fd8b94 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/handlers/OpenAction.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/internal/tmf/ui/project/handlers/OpenAction.java @@ -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; -- 2.34.1