tmf: Update copyright headers in tmf.ui
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / editors / TmfEventsEditor.java
index 1558be9db23cafa02ae30b8ce46b64c5ff6770c9..d1e10d09486f2ed419b7c1f4bab4226a09902c8d 100644 (file)
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010 Ericsson
+ * Copyright (c) 2010, 2013 Ericsson
  *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
@@ -94,6 +94,7 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
     private ITmfTrace fTrace;
     private Composite fParent;
     private ListenerList fSelectionChangedListeners = new ListenerList();
+    private boolean fTraceSelected;
 
     @Override
     public void doSave(final IProgressMonitor monitor) {
@@ -140,7 +141,7 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
                             int cacheSize = Integer.MAX_VALUE;
                             final ITmfTrace[] traces = new ITmfTrace[nbTraces];
                             for (int i = 0; i < nbTraces; i++) {
-                                final TmfTraceElement traceElement = traceEntries.get(i);
+                                final TmfTraceElement traceElement = traceEntries.get(i).getElementUnderTraceFolder();
                                 final ITmfTrace trace = traceElement.instantiateTrace();
                                 final ITmfEvent traceEvent = traceElement.instantiateEvent();
                                 if ((trace == null) || (traceEvent == null)) {
@@ -157,7 +158,7 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
                                 cacheSize = Math.min(cacheSize, trace.getCacheSize());
                                 traces[i] = trace;
                             }
-                            final TmfExperiment experiment = new TmfExperiment(ITmfEvent.class, experimentElement.getName(), traces, cacheSize);
+                            final TmfExperiment experiment = new TmfExperiment(ITmfEvent.class, experimentElement.getName(), traces, cacheSize, experimentElement.getResource());
                             experiment.setBookmarksFile(fFile);
                             fTrace = experiment;
                             break;
@@ -624,6 +625,10 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
     @Override
     public void partActivated(IWorkbenchPart part) {
         if (part == this && fTrace != null) {
+            if (fTraceSelected) {
+                return;
+            }
+            fTraceSelected = true;
             broadcast(new TmfTraceSelectedSignal(this, fTrace));
         }
     }
@@ -637,6 +642,13 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
      */
     @Override
     public void partBroughtToTop(IWorkbenchPart part) {
+        if (part == this && fTrace != null) {
+            if (fTraceSelected) {
+                return;
+            }
+            fTraceSelected = true;
+            broadcast(new TmfTraceSelectedSignal(this, fTrace));
+        }
     }
 
     /*
@@ -695,8 +707,12 @@ public class TmfEventsEditor extends TmfEditor implements ITmfTraceEditor, IReus
      */
     @TmfSignalHandler
     public void traceSelected(final TmfTraceSelectedSignal signal) {
-        if ((signal.getSource() != this) && signal.getTrace().equals(fTrace)) {
-            getSite().getPage().bringToTop(this);
+        if ((signal.getSource() != this)) {
+            if (signal.getTrace().equals(fTrace)) {
+                getSite().getPage().bringToTop(this);
+            } else {
+                fTraceSelected = false;
+            }
         }
     }
 
This page took 0.02497 seconds and 5 git commands to generate.