From 2ec6e11b2b13146114bce75b9655e5fc9452b39e Mon Sep 17 00:00:00 2001 From: Marc Dumais Date: Wed, 25 Feb 2015 07:07:37 -0500 Subject: [PATCH] Bug 460737 - [visualizer] enable MV to know which (cloned) instance it is Change-Id: I586dedab6df808f9e68600fa55fa1169b44defaf --- .../internal/ui/view/MulticoreVisualizer.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java index f6a2007482f..d54ecc68503 100755 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.multicorevisualizer.ui/src/org/eclipse/cdt/dsf/gdb/multicorevisualizer/internal/ui/view/MulticoreVisualizer.java @@ -23,6 +23,7 @@ * Marc Dumais (Ericsson) - Bug 453206 * Marc Dumais (Ericsson) - Bug 458076 * Alvaro Sanchez-Leon (Ericsson) - Bug 459114 - override construction of the data model + * Marc Dumais (Ericsson) - Bug 460737 *******************************************************************************/ package org.eclipse.cdt.dsf.gdb.multicorevisualizer.internal.ui.view; @@ -144,6 +145,10 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin /** Debug view selection changed listener, attached to Debug View. */ protected ISelectionChangedListener m_debugViewSelectionChangedListener = null; + /** Unique id that differentiates the possible multiple instances of the MV. + * It's derived from the secondary view Part id of the view associated to the + * current instance of the MV. */ + protected String m_visualizerInstanceId = null; // This is used to cache the CPU and core // contexts, each time the model is recreated. This way @@ -261,8 +266,14 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin public void initializeVisualizer() { fEventListener = new MulticoreVisualizerEventListener(this); m_cpuCoreContextsCache = new ArrayList(); + m_visualizerInstanceId = getViewer().getView().getViewSite().getSecondaryId(); + + // The first visualizer view will have a null secondary id - override that + if (m_visualizerInstanceId == null) { + m_visualizerInstanceId = "0"; //$NON-NLS-1$ + } } - + /** * Sets-up the timer associated to load meters refresh */