1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-09-10 12:03:16 +02:00

Migrate GDB to new Eclipse Terminal View Support

This commit is contained in:
Christoph Läubrich 2025-07-19 15:13:55 +02:00 committed by Alexander Fedorov
parent f243fcdb17
commit 731533b17c
14 changed files with 32 additions and 28 deletions

View file

@ -26,7 +26,6 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.207.200,4)",
org.eclipse.cdt.launch;bundle-version="[11.0.0,12)", org.eclipse.cdt.launch;bundle-version="[11.0.0,12)",
org.eclipse.debug.core;bundle-version="[3.23.0,4)", org.eclipse.debug.core;bundle-version="[3.23.0,4)",
org.eclipse.core.resources;bundle-version="[3.22.200,4)", org.eclipse.core.resources;bundle-version="[3.22.200,4)",
org.eclipse.tm.terminal.control;bundle-version="[5.6.0,6.0.0)",
org.eclipse.cdt.native.serial;bundle-version="[12.2.0,13)", org.eclipse.cdt.native.serial;bundle-version="[12.2.0,13)",
org.eclipse.launchbar.ui;bundle-version="[2.5.600,3)" org.eclipse.launchbar.ui;bundle-version="[2.5.600,3)"
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
@ -52,3 +51,5 @@ Export-Package: org.eclipse.cdt.dsf.gdb.internal.ui;x-friends:="org.eclipse.cdt.
org.eclipse.cdt.dsf.gdb.internal.ui.viewmodel.commands;x-internal:=true, org.eclipse.cdt.dsf.gdb.internal.ui.viewmodel.commands;x-internal:=true,
org.eclipse.cdt.dsf.gdb.internal.ui.viewmodel.launch;x-internal:=true org.eclipse.cdt.dsf.gdb.internal.ui.viewmodel.launch;x-internal:=true
Automatic-Module-Name: org.eclipse.cdt.dsf.gdb.ui Automatic-Module-Name: org.eclipse.cdt.dsf.gdb.ui
Import-Package: org.eclipse.terminal.connector;version="[1.0.0,2.0.0)",
org.eclipse.terminal.control;version="[1.0.0,2.0.0)"

View file

@ -10,7 +10,6 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.cdt.dsf.gdb.internal.ui.console; package org.eclipse.cdt.dsf.gdb.internal.ui.console;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import org.eclipse.cdt.debug.internal.ui.views.debuggerconsole.DebuggerConsoleView; import org.eclipse.cdt.debug.internal.ui.views.debuggerconsole.DebuggerConsoleView;
@ -43,12 +42,13 @@ import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Menu;
import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.terminal.connector.ITerminalConnector;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.terminal.connector.ITerminalControl;
import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; import org.eclipse.terminal.connector.TerminalState;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.terminal.control.ITerminalListener;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.terminal.control.ITerminalViewControl;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.terminal.control.TerminalTitleRequestor;
import org.eclipse.terminal.control.TerminalViewControlFactory;
import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.part.Page; import org.eclipse.ui.part.Page;
@ -158,16 +158,18 @@ public class GdbFullCliConsolePage extends Page implements IDebugContextListener
} }
@Override @Override
public void setTerminalTitle(final String title) { public void setTerminalSelectionChanged() {
} }
@Override
public void setTerminalTitle(String title, TerminalTitleRequestor requestor) {
}
}, fMainComposite, new ITerminalConnector[] {}, useCommonPrefs); }, fMainComposite, new ITerminalConnector[] {}, useCommonPrefs);
fTerminalControl.setConnector(new GdbTerminalPageConnector(fGdbTerminalControlConnector, fGdbPty)); fTerminalControl.setConnector(new GdbTerminalPageConnector(fGdbTerminalControlConnector, fGdbPty));
try { fTerminalControl.setCharset(Charset.defaultCharset());
fTerminalControl.setEncoding(Charset.defaultCharset().name());
} catch (UnsupportedEncodingException e) {
}
if (fTerminalControl instanceof ITerminalControl) { if (fTerminalControl instanceof ITerminalControl) {
((ITerminalControl) fTerminalControl).setConnectOnEnterIfClosed(false); ((ITerminalControl) fTerminalControl).setConnectOnEnterIfClosed(false);
((ITerminalControl) fTerminalControl).setVT100LineWrapping(true); ((ITerminalControl) fTerminalControl).setVT100LineWrapping(true);

View file

@ -27,7 +27,7 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job; import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.terminal.connector.ITerminalControl;
/** /**
* This class will read from the GDB process output and error streams and will write it to any registered * This class will read from the GDB process output and error streams and will write it to any registered

View file

@ -14,10 +14,10 @@ import java.io.OutputStream;
import org.eclipse.cdt.utils.pty.PTY; import org.eclipse.cdt.utils.pty.PTY;
import org.eclipse.core.runtime.PlatformObject; import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.terminal.connector.ISettingsStore;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.terminal.connector.ITerminalConnector;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.terminal.connector.ITerminalControl;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.terminal.connector.TerminalState;
/** /**
* Class that connects the GDB process I/O with the terminal. * Class that connects the GDB process I/O with the terminal.

View file

@ -12,7 +12,7 @@ package org.eclipse.cdt.dsf.gdb.internal.ui.console;
import java.io.OutputStream; import java.io.OutputStream;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.terminal.connector.ITerminalControl;
/** /**
* Interface to connect multiple page terminal controls with their single associated GDB process I/O. * Interface to connect multiple page terminal controls with their single associated GDB process I/O.

View file

@ -14,7 +14,7 @@ import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages; import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.IConsoleImagesConst; import org.eclipse.cdt.dsf.gdb.internal.ui.console.IConsoleImagesConst;
import org.eclipse.jface.action.Action; import org.eclipse.jface.action.Action;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.terminal.control.ITerminalViewControl;
/** /**
* Action to clear the contents of the associated GDB terminal * Action to clear the contents of the associated GDB terminal

View file

@ -14,7 +14,7 @@ import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages; import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.IConsoleImagesConst; import org.eclipse.cdt.dsf.gdb.internal.ui.console.IConsoleImagesConst;
import org.eclipse.jface.action.Action; import org.eclipse.jface.action.Action;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.terminal.control.ITerminalViewControl;
/** /**
* Action to copy the selected text from the associated terminal * Action to copy the selected text from the associated terminal

View file

@ -14,7 +14,7 @@ import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages; import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.IConsoleImagesConst; import org.eclipse.cdt.dsf.gdb.internal.ui.console.IConsoleImagesConst;
import org.eclipse.jface.action.Action; import org.eclipse.jface.action.Action;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.terminal.control.ITerminalViewControl;
/** /**
* Action to paste from the clip-board to the associated terminal * Action to paste from the clip-board to the associated terminal

View file

@ -15,7 +15,7 @@ import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.IConsoleImagesConst; import org.eclipse.cdt.dsf.gdb.internal.ui.console.IConsoleImagesConst;
import org.eclipse.jface.action.Action; import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IAction;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.terminal.control.ITerminalViewControl;
/** /**
* Action to lock the scrolling of the associated terminal * Action to lock the scrolling of the associated terminal

View file

@ -12,7 +12,7 @@ package org.eclipse.cdt.dsf.gdb.internal.ui.console.actions;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages; import org.eclipse.cdt.dsf.gdb.internal.ui.console.ConsoleMessages;
import org.eclipse.jface.action.Action; import org.eclipse.jface.action.Action;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.terminal.control.ITerminalViewControl;
/** /**
* Action to Select-All the available text from the associated terminal * Action to Select-All the available text from the associated terminal

View file

@ -16,8 +16,7 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.207.200,4)",
org.eclipse.cdt.ui;bundle-version="[9.0.100,10)", org.eclipse.cdt.ui;bundle-version="[9.0.100,10)",
org.eclipse.cdt.debug.core;bundle-version="[9.0.0,10)", org.eclipse.cdt.debug.core;bundle-version="[9.0.0,10)",
org.eclipse.cdt.debug.ui;bundle-version="[8.5.700,9)", org.eclipse.cdt.debug.ui;bundle-version="[8.5.700,9)",
org.eclipse.ui.console;bundle-version="[3.14.300,4)", org.eclipse.ui.console;bundle-version="[3.14.300,4)"
org.eclipse.tm.terminal.control;bundle-version="[5.6.0,6.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Bundle-Vendor: %providerName Bundle-Vendor: %providerName
@ -29,3 +28,4 @@ Export-Package: org.eclipse.cdt.examples.dsf.gdb;x-internal:=true,
org.eclipse.cdt.examples.dsf.gdb.viewmodel;x-internal:=true org.eclipse.cdt.examples.dsf.gdb.viewmodel;x-internal:=true
Automatic-Module-Name: org.eclipse.cdt.examples.dsf.gdb Automatic-Module-Name: org.eclipse.cdt.examples.dsf.gdb
Bundle-Localization: plugin Bundle-Localization: plugin
Import-Package: org.eclipse.terminal.control;version="[1.0.0,2.0.0)"

View file

@ -14,7 +14,7 @@ import org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbBasicCliConsole;
import org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbFullCliConsolePage; import org.eclipse.cdt.dsf.gdb.internal.ui.console.GdbFullCliConsolePage;
import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.terminal.control.ITerminalViewControl;
import org.eclipse.ui.console.IConsole; import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.IConsoleConstants; import org.eclipse.ui.console.IConsoleConstants;
import org.eclipse.ui.console.IConsolePageParticipant; import org.eclipse.ui.console.IConsolePageParticipant;

View file

@ -11,7 +11,7 @@
package org.eclipse.cdt.examples.dsf.gdb.ui.console; package org.eclipse.cdt.examples.dsf.gdb.ui.console;
import org.eclipse.jface.action.Action; import org.eclipse.jface.action.Action;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.terminal.control.ITerminalViewControl;
/** /**
* Action to requests threads info from the full GDB console * Action to requests threads info from the full GDB console

View file

@ -13,6 +13,7 @@
<unit id="org.eclipse.sdk.feature.group" version="0.0.0" /> <unit id="org.eclipse.sdk.feature.group" version="0.0.0" />
<unit id="org.eclipse.test.feature.group" version="0.0.0" /> <unit id="org.eclipse.test.feature.group" version="0.0.0" />
<unit id="org.eclipse.unittest.ui" version="0.0.0" /> <unit id="org.eclipse.unittest.ui" version="0.0.0" />
<unit id="org.eclipse.terminal.feature.feature.group" version="0.0.0" />
</location> </location>
<location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit"> <location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
<repository location="https://download.eclipse.org/mylyn/updates/release/latest/" /> <repository location="https://download.eclipse.org/mylyn/updates/release/latest/" />