From d780df14c2d6df01d099bc623ba2c26d12eb016b Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Wed, 21 Dec 2016 21:58:20 -0500 Subject: [PATCH] Bug 303808: Make it easier to extend Debugger Console pages To perform actions on the GdbFullCliConsole, it is important to provide access to the terminal widget. This patch adds the new method GdbFullCliConsolePage#getTerminalViewControl() to give access to the ITerminalViewControl. Also, to be consistent with the platform's ConsoleView, this patch also adds the same groups in the toolbar. Namely IConsoleConstants.LAUNCH_GROUP and IConsoleConstants.OUTPUT_GROUP. Extenders can use these groups to add their buttons to the Debugger Console view. Change-Id: I217ce54ada63796de776c6b4cb6b925c3feb7eea --- .../ui/views/debuggerconsole/DebuggerConsoleView.java | 5 +++++ .../dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/debuggerconsole/DebuggerConsoleView.java b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/debuggerconsole/DebuggerConsoleView.java index 802aaaa0dc0..a2dc6359fd8 100644 --- a/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/debuggerconsole/DebuggerConsoleView.java +++ b/debug/org.eclipse.cdt.debug.ui/src/org/eclipse/cdt/debug/internal/ui/views/debuggerconsole/DebuggerConsoleView.java @@ -21,6 +21,7 @@ import org.eclipse.core.runtime.ISafeRunnable; import org.eclipse.core.runtime.ListenerList; import org.eclipse.core.runtime.SafeRunner; import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.Separator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; @@ -32,6 +33,7 @@ import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchPartReference; import org.eclipse.ui.console.IConsole; +import org.eclipse.ui.console.IConsoleConstants; import org.eclipse.ui.console.IConsoleListener; import org.eclipse.ui.console.IConsolePageParticipant; import org.eclipse.ui.console.IConsoleView; @@ -141,6 +143,9 @@ public class DebuggerConsoleView extends PageBookView } protected void configureToolBar(IToolBarManager mgr) { + mgr.add(new Separator(IConsoleConstants.LAUNCH_GROUP)); + mgr.add(new Separator(IConsoleConstants.OUTPUT_GROUP)); + mgr.add(new Separator("fixedGroup")); //$NON-NLS-1$ mgr.add(fDisplayConsoleAction); } diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java index 81b0c7bd2ac..9443cda587a 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/console/GdbFullCliConsolePage.java @@ -287,4 +287,8 @@ public class GdbFullCliConsolePage extends Page implements IDebugContextListener fTerminalControl.setBufferLineLimit(bufferLines); } } + + public ITerminalViewControl getTerminalViewControl() { + return fTerminalControl; + } }