analysis: bug 494786. Clear process selection when switching trace
[deliverable/tracecompass.git] / analysis / org.eclipse.tracecompass.analysis.os.linux.ui / src / org / eclipse / tracecompass / internal / analysis / os / linux / ui / views / cpuusage / CpuUsageXYViewer.java
index cb029858e5fbb3849937032591c0f2c7f72f711b..57030eba8e8d73582787020f8230b7fd9b1ab070 100644 (file)
@@ -29,6 +29,9 @@ import org.eclipse.tracecompass.analysis.os.linux.core.cpuusage.KernelCpuUsageAn
 import org.eclipse.tracecompass.internal.analysis.os.linux.ui.Activator;
 import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem;
 import org.eclipse.tracecompass.statesystem.core.exceptions.StateValueTypeException;
+import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
+import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal;
+import org.eclipse.tracecompass.tmf.core.signal.TmfTraceSelectedSignal;
 import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
 import org.eclipse.tracecompass.tmf.core.trace.TmfTraceUtils;
 import org.eclipse.tracecompass.tmf.ui.viewers.xycharts.linecharts.TmfCommonXLineChartViewer;
@@ -43,6 +46,8 @@ import com.google.common.base.Joiner;
  */
 public class CpuUsageXYViewer extends TmfCommonXLineChartViewer {
 
+    private static final int NOT_SELECTED = -1;
+
     private KernelCpuUsageAnalysis fModule = null;
 
     /* Maps a thread ID to a list of y values */
@@ -56,7 +61,7 @@ public class CpuUsageXYViewer extends TmfCommonXLineChartViewer {
     // Timeout between updates in the updateData thread
     private static final long BUILD_UPDATE_TIMEOUT = 500;
 
-    private long fSelectedThread = -1;
+    private long fSelectedThread = NOT_SELECTED;
 
     private final @NonNull Set<@NonNull Integer> fCpus = new TreeSet<>();
 
@@ -129,7 +134,7 @@ public class CpuUsageXYViewer extends TmfCommonXLineChartViewer {
                 fYValues.clear();
                 fYValues.put(Messages.CpuUsageXYViewer_Total, zeroFill(xvalues.length));
                 String stringSelectedThread = Long.toString(selectedThread);
-                if (selectedThread != -1) {
+                if (selectedThread != NOT_SELECTED) {
                     fYValues.put(stringSelectedThread, zeroFill(xvalues.length));
                 }
 
@@ -283,4 +288,18 @@ public class CpuUsageXYViewer extends TmfCommonXLineChartViewer {
         getSwtChart().getTitle().setText(Messages.CpuUsageView_Title);
     }
 
+    @Override
+    @TmfSignalHandler
+    public void traceSelected(TmfTraceSelectedSignal signal) {
+        setSelectedThread(NOT_SELECTED);
+        super.traceSelected(signal);
+    }
+
+    @Override
+    @TmfSignalHandler
+    public void traceOpened(TmfTraceOpenedSignal signal) {
+        setSelectedThread(NOT_SELECTED);
+        super.traceOpened(signal);
+    }
+
 }
This page took 0.025629 seconds and 5 git commands to generate.