tmf: Rename "Next/Previous Event" action to "Next/Previous State Change"
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / tmf / ui / views / callstack / CallStackView.java
index 43286766e5b02bdacc8a284634c571c6d6b60b02..f5eb13beeb1bbc75b1145daa147e0404c861f514 100644 (file)
@@ -526,6 +526,20 @@ public class CallStackView extends AbstractTimeGraphView {
         if (monitor.isCanceled()) {
             return;
         }
+
+        /*
+         * Load the symbol provider for the current trace, even if it does not
+         * provide a call stack analysis module. See
+         * https://bugs.eclipse.org/bugs/show_bug.cgi?id=494212
+         */
+        ISymbolProvider provider = fSymbolProviders.get(trace);
+        if (provider == null) {
+            provider = SymbolProviderManager.getInstance().getSymbolProvider(trace);
+            provider.loadConfiguration(null);
+            fSymbolProviders.put(trace, provider);
+        }
+
+        /* Continue with the call stack view specific operations */
         AbstractCallStackAnalysis module = getCallStackModule(trace);
         if (module == null) {
             addUnavailableEntry(trace, parentTrace);
@@ -557,16 +571,6 @@ public class CallStackView extends AbstractTimeGraphView {
                 continue;
             }
 
-            ISymbolProvider provider = fSymbolProviders.get(trace);
-            if (provider == null) {
-                provider = SymbolProviderManager.getInstance().getSymbolProvider(trace);
-                provider.loadConfiguration(monitor);
-                fSymbolProviders.put(trace, provider);
-            }
-
-            getConfigureSymbolsAction().setEnabled(true);
-
-
             TraceEntry traceEntry = traceEntryMap.get(trace);
             if (traceEntry == null) {
                 traceEntry = new TraceEntry(trace.getName(), start, end + 1);
@@ -693,16 +697,21 @@ public class CallStackView extends AbstractTimeGraphView {
                 refresh();
             }
 
-            for (ITimeGraphEntry processEntry : traceEntry.getChildren()) {
-                for (ITimeGraphEntry threadEntry : processEntry.getChildren()) {
-                    for (ITimeGraphEntry callStackEntry : threadEntry.getChildren()) {
-                        if (monitor.isCanceled()) {
-                            return;
-                        }
-                        buildStatusEvents(parentTrace, (CallStackEntry) callStackEntry, monitor, ss.getStartTime(), end);
+            Consumer<TimeGraphEntry> consumer = new Consumer<TimeGraphEntry>() {
+                @Override
+                public void accept(TimeGraphEntry entry) {
+                    if (monitor.isCanceled()) {
+                        return;
+                    }
+                    if (entry instanceof CallStackEntry) {
+                        buildStatusEvents(parentTrace, (CallStackEntry) entry, monitor, ss.getStartTime(), end);
+                        return;
                     }
+                    entry.getChildren().forEach(this);
                 }
-            }
+            };
+            traceEntry.getChildren().forEach(consumer);
+
             start = end;
         }
     }
@@ -994,9 +1003,9 @@ public class CallStackView extends AbstractTimeGraphView {
                 }
             };
 
-            fNextEventAction.setText(Messages.TmfTimeGraphViewer_NextEventActionNameText);
-            fNextEventAction.setToolTipText(Messages.TmfTimeGraphViewer_NextEventActionToolTipText);
-            fNextEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NEXT_EVENT));
+            fNextEventAction.setText(Messages.TmfTimeGraphViewer_NextStateChangeActionNameText);
+            fNextEventAction.setToolTipText(Messages.TmfTimeGraphViewer_NextStateChangeActionToolTipText);
+            fNextEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_NEXT_STATE_CHANGE));
         }
 
         return fNextEventAction;
@@ -1039,9 +1048,9 @@ public class CallStackView extends AbstractTimeGraphView {
                 }
             };
 
-            fPrevEventAction.setText(Messages.TmfTimeGraphViewer_PreviousEventActionNameText);
-            fPrevEventAction.setToolTipText(Messages.TmfTimeGraphViewer_PreviousEventActionToolTipText);
-            fPrevEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PREV_EVENT));
+            fPrevEventAction.setText(Messages.TmfTimeGraphViewer_PreviousStateChangeActionNameText);
+            fPrevEventAction.setToolTipText(Messages.TmfTimeGraphViewer_PreviousStateChangeActionToolTipText);
+            fPrevEventAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(ITmfImageConstants.IMG_UI_PREV_STATE_CHANGE));
         }
 
         return fPrevEventAction;
@@ -1218,6 +1227,12 @@ public class CallStackView extends AbstractTimeGraphView {
 
         fConfigureSymbolsAction.setToolTipText(Messages.CallStackView_ConfigureSymbolProvidersTooltip);
         fConfigureSymbolsAction.setImageDescriptor(Activator.getDefault().getImageDescripterFromPath(IMPORT_BINARY_ICON_PATH));
+
+        /*
+         * The updateConfigureSymbolsAction() method (called by refresh()) will
+         * set the action to true if applicable after the symbol provider has
+         * been properly loaded.
+         */
         fConfigureSymbolsAction.setEnabled(false);
 
         return fConfigureSymbolsAction;
This page took 0.041025 seconds and 5 git commands to generate.