1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-20 15:35:24 +02:00

Bug 436095 - [visualizer] Make cloning of visualizer view possible

Change-Id: Ic77a218c513c7066a3f7300bb76aa85359ce0852
Reviewed-on: https://git.eclipse.org/r/28807
Reviewed-by: Marc Dumais <marc.dumais@ericsson.com>
Tested-by: Marc Dumais <marc.dumais@ericsson.com>
This commit is contained in:
Marc Dumais 2014-06-19 14:49:37 -04:00
parent e3d302bc13
commit 2af299938c
3 changed files with 20 additions and 5 deletions

View file

@ -8,7 +8,7 @@ Bundle-Vendor: %providerName
Bundle-Localization: plugin Bundle-Localization: plugin
Export-Package: Export-Package:
org.eclipse.cdt.debug.internal.ui;x-friends:="org.eclipse.cdt.dsf.ui,org.eclipse.cdt.dsf.gdb.ui", org.eclipse.cdt.debug.internal.ui;x-friends:="org.eclipse.cdt.dsf.ui,org.eclipse.cdt.dsf.gdb.ui",
org.eclipse.cdt.debug.internal.ui.actions;x-friends:="org.eclipse.cdt.dsf.ui,org.eclipse.cdt.debug.ui.memory.memorybrowser", org.eclipse.cdt.debug.internal.ui.actions;x-friends:="org.eclipse.cdt.dsf.ui,org.eclipse.cdt.debug.ui.memory.memorybrowser,org.eclipse.cdt.visualizer.ui",
org.eclipse.cdt.debug.internal.ui.actions.breakpoints;x-internal:=true, org.eclipse.cdt.debug.internal.ui.actions.breakpoints;x-internal:=true,
org.eclipse.cdt.debug.internal.ui.breakpoints;x-friends:="org.eclipse.cdt.dsf.ui,org.eclipse.cdt.dsf.gdb.ui", org.eclipse.cdt.debug.internal.ui.breakpoints;x-friends:="org.eclipse.cdt.dsf.ui,org.eclipse.cdt.dsf.gdb.ui",
org.eclipse.cdt.debug.internal.ui.commands;x-internal:=true, org.eclipse.cdt.debug.internal.ui.commands;x-internal:=true,
@ -22,7 +22,7 @@ Export-Package:
org.eclipse.cdt.debug.internal.ui.editors;x-internal:=true, org.eclipse.cdt.debug.internal.ui.editors;x-internal:=true,
org.eclipse.cdt.debug.internal.ui.elements.adapters;x-internal:=true, org.eclipse.cdt.debug.internal.ui.elements.adapters;x-internal:=true,
org.eclipse.cdt.debug.internal.ui.launch;x-internal:=true, org.eclipse.cdt.debug.internal.ui.launch;x-internal:=true,
org.eclipse.cdt.debug.internal.ui.pinclone;x-friends:="org.eclipse.cdt.dsf.gdb.ui", org.eclipse.cdt.debug.internal.ui.pinclone;x-friends:="org.eclipse.cdt.dsf.gdb.ui,org.eclipse.cdt.visualizer.ui",
org.eclipse.cdt.debug.internal.ui.preferences;x-internal:=true, org.eclipse.cdt.debug.internal.ui.preferences;x-internal:=true,
org.eclipse.cdt.debug.internal.ui.propertypages;x-internal:=true, org.eclipse.cdt.debug.internal.ui.propertypages;x-internal:=true,
org.eclipse.cdt.debug.internal.ui.sourcelookup;x-friends:="org.eclipse.cdt.dsf.ui", org.eclipse.cdt.debug.internal.ui.sourcelookup;x-friends:="org.eclipse.cdt.dsf.ui",

View file

@ -18,3 +18,5 @@ Export-Package: org.eclipse.cdt.visualizer.ui,
org.eclipse.cdt.visualizer.ui.plugin, org.eclipse.cdt.visualizer.ui.plugin,
org.eclipse.cdt.visualizer.ui.test, org.eclipse.cdt.visualizer.ui.test,
org.eclipse.cdt.visualizer.ui.util org.eclipse.cdt.visualizer.ui.util
Import-Package: org.eclipse.cdt.debug.internal.ui.actions,
org.eclipse.cdt.debug.internal.ui.pinclone

View file

@ -7,6 +7,7 @@
* *
* Contributors: * Contributors:
* William R. Swanson (Tilera Corporation) * William R. Swanson (Tilera Corporation)
* Marc Dumais (Ericsson) - bug 436095
*******************************************************************************/ *******************************************************************************/
// Package declaration // Package declaration
@ -18,6 +19,7 @@ import java.util.List;
// SWT/JFace classes // SWT/JFace classes
import org.eclipse.jface.action.IMenuListener2; import org.eclipse.jface.action.IMenuListener2;
import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.ISelectionChangedListener;
@ -25,11 +27,12 @@ import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Menu;
import org.eclipse.jface.action.IToolBarManager; import org.eclipse.ui.IActionBars;
// Eclipse/CDT classes // Eclipse/CDT classes
import org.eclipse.ui.part.ViewPart; import org.eclipse.ui.part.ViewPart;
import org.eclipse.ui.IActionBars; import org.eclipse.cdt.debug.internal.ui.actions.OpenNewViewAction;
import org.eclipse.cdt.debug.internal.ui.pinclone.PinCloneUtils;
// Custom classes // Custom classes
import org.eclipse.cdt.visualizer.ui.events.IVisualizerViewerListener; import org.eclipse.cdt.visualizer.ui.events.IVisualizerViewerListener;
@ -82,12 +85,17 @@ public class VisualizerView
/** Last context menu display location. */ /** Last context menu display location. */
protected Point m_contextMenuLocation = null; protected Point m_contextMenuLocation = null;
/** Open New View action */
private OpenNewViewAction m_openNewViewAction = null;
// --- constructors/destructors --- // --- constructors/destructors ---
/** Constructor */ /** Constructor */
public VisualizerView() { public VisualizerView() {
super(); super();
m_openNewViewAction = new OpenNewViewAction();
m_openNewViewAction.init(this);
} }
/** Dispose method */ /** Dispose method */
@ -319,9 +327,10 @@ public class VisualizerView
if (m_viewer != null) { if (m_viewer != null) {
name = m_viewer.getVisualizerDisplayName(); name = m_viewer.getVisualizerDisplayName();
description = m_viewer.getVisualizerDescription(); description = m_viewer.getVisualizerDescription();
} }
setTabName(name); setTabName(name);
// add secondary id to tab name, if the view is a clone
PinCloneUtils.setPartTitle(this);
setTabDescription(description); setTabDescription(description);
// Update toolbar & toolbar menu // Update toolbar & toolbar menu
@ -332,6 +341,10 @@ public class VisualizerView
IToolBarManager toolBarManager = actionBars.getToolBarManager(); IToolBarManager toolBarManager = actionBars.getToolBarManager();
toolBarManager.removeAll(); toolBarManager.removeAll();
m_viewer.populateToolBar(toolBarManager); m_viewer.populateToolBar(toolBarManager);
// Add the "open new view" button on the Visualizer toolbar,
// after any viewer-specific buttons.
toolBarManager.add(m_openNewViewAction);
toolBarManager.update(true); toolBarManager.update(true);
// Allow presentation to set the toolbar's menu content, if any // Allow presentation to set the toolbar's menu content, if any