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.debug.core;bundle-version="[3.23.0,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.launchbar.ui;bundle-version="[2.5.600,3)"
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.launch;x-internal:=true
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;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
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.Control;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.tm.internal.terminal.control.ITerminalListener;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
import org.eclipse.terminal.connector.ITerminalConnector;
import org.eclipse.terminal.connector.ITerminalControl;
import org.eclipse.terminal.connector.TerminalState;
import org.eclipse.terminal.control.ITerminalListener;
import org.eclipse.terminal.control.ITerminalViewControl;
import org.eclipse.terminal.control.TerminalTitleRequestor;
import org.eclipse.terminal.control.TerminalViewControlFactory;
import org.eclipse.ui.IWorkbenchActionConstants;
import org.eclipse.ui.part.Page;
@ -158,16 +158,18 @@ public class GdbFullCliConsolePage extends Page implements IDebugContextListener
}
@Override
public void setTerminalTitle(final String title) {
public void setTerminalSelectionChanged() {
}
@Override
public void setTerminalTitle(String title, TerminalTitleRequestor requestor) {
}
}, fMainComposite, new ITerminalConnector[] {}, useCommonPrefs);
fTerminalControl.setConnector(new GdbTerminalPageConnector(fGdbTerminalControlConnector, fGdbPty));
try {
fTerminalControl.setEncoding(Charset.defaultCharset().name());
} catch (UnsupportedEncodingException e) {
}
fTerminalControl.setCharset(Charset.defaultCharset());
if (fTerminalControl instanceof ITerminalControl) {
((ITerminalControl) fTerminalControl).setConnectOnEnterIfClosed(false);
((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.jobs.Job;
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

View file

@ -14,10 +14,10 @@ import java.io.OutputStream;
import org.eclipse.cdt.utils.pty.PTY;
import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
import org.eclipse.terminal.connector.ISettingsStore;
import org.eclipse.terminal.connector.ITerminalConnector;
import org.eclipse.terminal.connector.ITerminalControl;
import org.eclipse.terminal.connector.TerminalState;
/**
* 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 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.

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.IConsoleImagesConst;
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

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.IConsoleImagesConst;
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

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.IConsoleImagesConst;
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

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.jface.action.Action;
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

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.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

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.debug.core;bundle-version="[9.0.0,10)",
org.eclipse.cdt.debug.ui;bundle-version="[8.5.700,9)",
org.eclipse.ui.console;bundle-version="[3.14.300,4)",
org.eclipse.tm.terminal.control;bundle-version="[5.6.0,6.0.0)"
org.eclipse.ui.console;bundle-version="[3.14.300,4)"
Bundle-RequiredExecutionEnvironment: JavaSE-17
Bundle-ActivationPolicy: lazy
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
Automatic-Module-Name: org.eclipse.cdt.examples.dsf.gdb
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.jface.action.IAction;
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.IConsoleConstants;
import org.eclipse.ui.console.IConsolePageParticipant;

View file

@ -11,7 +11,7 @@
package org.eclipse.cdt.examples.dsf.gdb.ui.console;
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

View file

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