1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-23 22:52:11 +02:00

Make terminal listener API changes backward compatible

This commit is contained in:
Uwe Stieber 2015-08-11 17:41:21 +02:00
parent 1e60a6f000
commit b1870f60c5
4 changed files with 163 additions and 83 deletions

View file

@ -30,15 +30,4 @@ public interface ITerminalListener {
* @param title * @param title
*/ */
void setTerminalTitle(String title); void setTerminalTitle(String title);
/**
* selection has been changed internally e.g. select all
* clients might want to react on that
* NOTE: this does not include mouse selections
* those are handled in separate MouseListeners
* TODO should be unified
*
* @since 4.1
*/
void setTerminalSelectionChanged();
} }

View file

@ -0,0 +1,27 @@
/*******************************************************************************
* Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved.
* This program and the accompanying materials are made available under the terms
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Wind River Systems - initial API and implementation
*******************************************************************************/
package org.eclipse.tm.internal.terminal.control;
/**
* Terminal listener allowing to listen to terminal selection changes.
*/
public interface ITerminalListener2 extends ITerminalListener {
/**
* selection has been changed internally e.g. select all
* clients might want to react on that
* NOTE: this does not include mouse selections
* those are handled in separate MouseListeners
* TODO should be unified
*
* @since 4.1
*/
void setTerminalSelectionChanged();
}

View file

@ -89,6 +89,7 @@ import org.eclipse.swt.widgets.MessageBox;
import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Shell;
import org.eclipse.tm.internal.terminal.control.ICommandInputField; import org.eclipse.tm.internal.terminal.control.ICommandInputField;
import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalListener;
import org.eclipse.tm.internal.terminal.control.ITerminalListener2;
import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl;
import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText;
import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages;
@ -163,6 +164,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
* Listens to changes in the preferences * Listens to changes in the preferences
*/ */
private final IPropertyChangeListener fPreferenceListener=new IPropertyChangeListener() { private final IPropertyChangeListener fPreferenceListener=new IPropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent event) { public void propertyChange(PropertyChangeEvent event) {
if(event.getProperty().equals(ITerminalConstants.PREF_BUFFERLINES) if(event.getProperty().equals(ITerminalConstants.PREF_BUFFERLINES)
|| event.getProperty().equals(ITerminalConstants.PREF_INVERT_COLORS)) { || event.getProperty().equals(ITerminalConstants.PREF_INVERT_COLORS)) {
@ -171,6 +173,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
} }
}; };
private final IPropertyChangeListener fFontListener = new IPropertyChangeListener() { private final IPropertyChangeListener fFontListener = new IPropertyChangeListener() {
@Override
public void propertyChange(PropertyChangeEvent event) { public void propertyChange(PropertyChangeEvent event) {
if (event.getProperty().equals(ITerminalConstants.FONT_DEFINITION)) { if (event.getProperty().equals(ITerminalConstants.FONT_DEFINITION)) {
onTerminalFontChanged(); onTerminalFontChanged();
@ -222,6 +225,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
setupTerminal(wndParent); setupTerminal(wndParent);
} }
@Override
public void setEncoding(String encoding) throws UnsupportedEncodingException { public void setEncoding(String encoding) throws UnsupportedEncodingException {
if (encoding == null) { if (encoding == null) {
// TODO better use a standard remote-to-local encoding? // TODO better use a standard remote-to-local encoding?
@ -235,10 +239,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
fTerminalText.setInputStreamReader(fInputStreamReader); fTerminalText.setInputStreamReader(fInputStreamReader);
} }
@Override
public String getEncoding() { public String getEncoding() {
return fEncoding; return fEncoding;
} }
@Override
public ITerminalConnector[] getConnectors() { public ITerminalConnector[] getConnectors() {
return fConnectors; return fConnectors;
} }
@ -246,6 +252,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#copy() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#copy()
*/ */
@Override
public void copy() { public void copy() {
copy(DND.CLIPBOARD); copy(DND.CLIPBOARD);
} }
@ -262,6 +269,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#paste() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#paste()
*/ */
@Override
public void paste() { public void paste() {
paste(DND.CLIPBOARD); paste(DND.CLIPBOARD);
// TODO paste in another thread.... to avoid blocking // TODO paste in another thread.... to avoid blocking
@ -284,6 +292,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/** /**
* @param strText the text to paste * @param strText the text to paste
*/ */
@Override
public boolean pasteString(String strText) { public boolean pasteString(String strText) {
if(!isConnected()) if(!isConnected())
return false; return false;
@ -303,14 +312,18 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#selectAll() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#selectAll()
*/ */
@Override
public void selectAll() { public void selectAll() {
getCtlText().selectAll(); getCtlText().selectAll();
fTerminalListener.setTerminalSelectionChanged(); if (fTerminalListener instanceof ITerminalListener2) {
((ITerminalListener2)fTerminalListener).setTerminalSelectionChanged();
}
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#sendKey(char) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#sendKey(char)
*/ */
@Override
public void sendKey(char character) { public void sendKey(char character) {
Event event; Event event;
KeyEvent keyEvent; KeyEvent keyEvent;
@ -329,16 +342,20 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#clearTerminal() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#clearTerminal()
*/ */
@Override
public void clearTerminal() { public void clearTerminal() {
// The TerminalText object does all text manipulation. // The TerminalText object does all text manipulation.
getTerminalText().clearTerminal(); getTerminalText().clearTerminal();
getCtlText().clearSelection(); getCtlText().clearSelection();
fTerminalListener.setTerminalSelectionChanged(); if (fTerminalListener instanceof ITerminalListener2) {
((ITerminalListener2)fTerminalListener).setTerminalSelectionChanged();
}
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getClipboard() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getClipboard()
*/ */
@Override
public Clipboard getClipboard() { public Clipboard getClipboard() {
return fClipboard; return fClipboard;
} }
@ -346,6 +363,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/** /**
* @return non null selection * @return non null selection
*/ */
@Override
public String getSelection() { public String getSelection() {
String txt= fCtlText.getSelectionText(); String txt= fCtlText.getSelectionText();
if(txt==null) if(txt==null)
@ -356,6 +374,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setFocus() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setFocus()
*/ */
@Override
public void setFocus() { public void setFocus() {
getCtlText().setFocus(); getCtlText().setFocus();
} }
@ -363,6 +382,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isEmpty() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isEmpty()
*/ */
@Override
public boolean isEmpty() { public boolean isEmpty() {
return getCtlText().isEmpty(); return getCtlText().isEmpty();
} }
@ -370,6 +390,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isDisposed() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isDisposed()
*/ */
@Override
public boolean isDisposed() { public boolean isDisposed() {
return getCtlText().isDisposed(); return getCtlText().isDisposed();
} }
@ -377,6 +398,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnected() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnected()
*/ */
@Override
public boolean isConnected() { public boolean isConnected() {
return fState==TerminalState.CONNECTED; return fState==TerminalState.CONNECTED;
} }
@ -384,6 +406,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disposeTerminal() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disposeTerminal()
*/ */
@Override
public void disposeTerminal() { public void disposeTerminal() {
Logger.log("entered."); //$NON-NLS-1$ Logger.log("entered."); //$NON-NLS-1$
if(fUseCommonPrefs) { if(fUseCommonPrefs) {
@ -395,6 +418,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
getTerminalText().dispose(); getTerminalText().dispose();
} }
@Override
public void connectTerminal() { public void connectTerminal() {
Logger.log("entered."); //$NON-NLS-1$ Logger.log("entered."); //$NON-NLS-1$
if(getTerminalConnector()==null) if(getTerminalConnector()==null)
@ -415,12 +439,14 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
waitForConnect(); waitForConnect();
} }
@Override
public ITerminalConnector getTerminalConnector() { public ITerminalConnector getTerminalConnector() {
return fConnector; return fConnector;
} }
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disconnectTerminal() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disconnectTerminal()
*/ */
@Override
public void disconnectTerminal() { public void disconnectTerminal() {
Logger.log("entered."); //$NON-NLS-1$ Logger.log("entered."); //$NON-NLS-1$
@ -479,6 +505,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
private synchronized void startReaderJob() { private synchronized void startReaderJob() {
if(fJob==null) { if(fJob==null) {
fJob=new Job("Terminal data reader") { //$NON-NLS-1$ fJob=new Job("Terminal data reader") { //$NON-NLS-1$
@Override
protected IStatus run(IProgressMonitor monitor) { protected IStatus run(IProgressMonitor monitor) {
IStatus status=Status.OK_STATUS; IStatus status=Status.OK_STATUS;
try { try {
@ -561,6 +588,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
} }
} }
@Override
public Shell getShell() { public Shell getShell() {
return getCtlText().getShell(); return getCtlText().getShell();
} }
@ -634,6 +662,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setupTerminal(org.eclipse.swt.widgets.Composite) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setupTerminal(org.eclipse.swt.widgets.Composite)
*/ */
@Override
public void setupTerminal(Composite parent) { public void setupTerminal(Composite parent) {
Assert.isNotNull(parent); Assert.isNotNull(parent);
boolean wasDisposed = true; boolean wasDisposed = true;
@ -685,6 +714,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
* (non-Javadoc) * (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(java.lang.String) * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(java.lang.String)
*/ */
@Override
public void setFont(String fontName) { public void setFont(String fontName) {
Font font=JFaceResources.getFont(fontName); Font font=JFaceResources.getFont(fontName);
getCtlText().setFont(font); getCtlText().setFont(font);
@ -699,6 +729,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(org.eclipse.swt.graphics.Font) * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(org.eclipse.swt.graphics.Font)
*/ */
@Override
@Deprecated @Deprecated
public void setFont(Font font) { public void setFont(Font font) {
getCtlText().setFont(font); getCtlText().setFont(font);
@ -710,12 +741,15 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
fCtlText.onFontChange(); fCtlText.onFontChange();
getTerminalText().fontChanged(); getTerminalText().fontChanged();
} }
@Override
public Font getFont() { public Font getFont() {
return getCtlText().getFont(); return getCtlText().getFont();
} }
@Override
public Control getControl() { public Control getControl() {
return fCtlText; return fCtlText;
} }
@Override
public Control getRootControl() { public Control getRootControl() {
return fWndParent; return fWndParent;
} }
@ -733,11 +767,13 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
fCtlText.addResizeHandler(new TextCanvas.ResizeListener() { fCtlText.addResizeHandler(new TextCanvas.ResizeListener() {
@Override
public void sizeChanged(int lines, int columns) { public void sizeChanged(int lines, int columns) {
fTerminalText.setDimensions(lines, columns); fTerminalText.setDimensions(lines, columns);
} }
}); });
fCtlText.addMouseListener(new MouseAdapter() { fCtlText.addMouseListener(new MouseAdapter() {
@Override
public void mouseUp(MouseEvent e) { public void mouseUp(MouseEvent e) {
// update selection used by middle mouse button paste // update selection used by middle mouse button paste
if (e.button == 1 && getSelection().length() > 0) { if (e.button == 1 && getSelection().length() > 0) {
@ -777,6 +813,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#displayTextInTerminal(java.lang.String) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#displayTextInTerminal(java.lang.String)
*/ */
@Override
public void displayTextInTerminal(String text) { public void displayTextInTerminal(String text) {
writeToTerminal("\r\n"+text+"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ writeToTerminal("\r\n"+text+"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$
} }
@ -792,6 +829,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
} }
} }
@Override
public OutputStream getRemoteToTerminalOutputStream() { public OutputStream getRemoteToTerminalOutputStream() {
if(Logger.isLogEnabled()) { if(Logger.isLogEnabled()) {
return new LoggingOutputStream(fInputStream.getOutputStream()); return new LoggingOutputStream(fInputStream.getOutputStream());
@ -803,6 +841,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
return TerminalPlugin.isOptionEnabled(Logger.TRACE_DEBUG_LOG_CHAR); return TerminalPlugin.isOptionEnabled(Logger.TRACE_DEBUG_LOG_CHAR);
} }
@Override
public OutputStream getOutputStream() { public OutputStream getOutputStream() {
if(getTerminalConnector()!=null) if(getTerminalConnector()!=null)
return getTerminalConnector().getTerminalToRemoteStream(); return getTerminalConnector().getTerminalToRemoteStream();
@ -812,6 +851,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setMsg(java.lang.String) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setMsg(java.lang.String)
*/ */
@Override
public void setMsg(String msg) { public void setMsg(String msg) {
fMsg = msg; fMsg = msg;
} }
@ -841,6 +881,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
super(); super();
} }
@Override
@SuppressWarnings("cast") @SuppressWarnings("cast")
public void focusGained(FocusEvent event) { public void focusGained(FocusEvent event) {
// Disable all keyboard accelerators (e.g., Control-B) so the Terminal view // Disable all keyboard accelerators (e.g., Control-B) so the Terminal view
@ -853,6 +894,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
editContextActivation = contextService.activateContext("org.eclipse.tm.terminal.EditContext"); //$NON-NLS-1$ editContextActivation = contextService.activateContext("org.eclipse.tm.terminal.EditContext"); //$NON-NLS-1$
} }
@Override
@SuppressWarnings("cast") @SuppressWarnings("cast")
public void focusLost(FocusEvent event) { public void focusLost(FocusEvent event) {
// Enable all keybindings. // Enable all keybindings.
@ -890,6 +932,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
} }
protected class TerminalKeyHandler extends KeyAdapter { protected class TerminalKeyHandler extends KeyAdapter {
@Override
public void keyPressed(KeyEvent event) { public void keyPressed(KeyEvent event) {
//TODO next 2 lines are probably obsolete now //TODO next 2 lines are probably obsolete now
if (getState()==TerminalState.CONNECTING) if (getState()==TerminalState.CONNECTING)
@ -1232,21 +1275,25 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
} }
@Override
public void setTerminalTitle(String title) { public void setTerminalTitle(String title) {
fTerminalListener.setTerminalTitle(title); fTerminalListener.setTerminalTitle(title);
} }
@Override
public TerminalState getState() { public TerminalState getState() {
return fState; return fState;
} }
@Override
public void setState(TerminalState state) { public void setState(TerminalState state) {
fState=state; fState=state;
fTerminalListener.setState(state); fTerminalListener.setState(state);
// enable the (blinking) cursor if the terminal is connected // enable the (blinking) cursor if the terminal is connected
runAsyncInDisplayThread(new Runnable() { runAsyncInDisplayThread(new Runnable() {
@Override
public void run() { public void run() {
if(fCtlText!=null && !fCtlText.isDisposed()) { if(fCtlText!=null && !fCtlText.isDisposed()) {
if (isConnected()) { if (isConnected()) {
@ -1271,20 +1318,24 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
// else should not happen and we ignore it... // else should not happen and we ignore it...
} }
@Override
public String getSettingsSummary() { public String getSettingsSummary() {
if(getTerminalConnector()!=null) if(getTerminalConnector()!=null)
return getTerminalConnector().getSettingsSummary(); return getTerminalConnector().getSettingsSummary();
return ""; //$NON-NLS-1$ return ""; //$NON-NLS-1$
} }
@Override
public void setConnector(ITerminalConnector connector) { public void setConnector(ITerminalConnector connector) {
fConnector=connector; fConnector=connector;
} }
@Override
public ICommandInputField getCommandInputField() { public ICommandInputField getCommandInputField() {
return fCommandInputField; return fCommandInputField;
} }
@Override
public void setCommandInputField(ICommandInputField inputField) { public void setCommandInputField(ICommandInputField inputField) {
if(fCommandInputField!=null) if(fCommandInputField!=null)
fCommandInputField.dispose(); fCommandInputField.dispose();
@ -1295,10 +1346,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
fWndParent.layout(true); fWndParent.layout(true);
} }
@Override
public int getBufferLineLimit() { public int getBufferLineLimit() {
return fTerminalModel.getMaxHeight(); return fTerminalModel.getMaxHeight();
} }
@Override
public void setBufferLineLimit(int bufferLineLimit) { public void setBufferLineLimit(int bufferLineLimit) {
if(bufferLineLimit<=0) if(bufferLineLimit<=0)
return; return;
@ -1309,14 +1362,17 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
} }
} }
@Override
public boolean isScrollLock() { public boolean isScrollLock() {
return fCtlText.isScrollLock(); return fCtlText.isScrollLock();
} }
@Override
public void setScrollLock(boolean on) { public void setScrollLock(boolean on) {
fCtlText.setScrollLock(on); fCtlText.setScrollLock(on);
} }
@Override
public void setInvertedColors(boolean invert) { public void setInvertedColors(boolean invert) {
fCtlText.setInvertedColors(invert); fCtlText.setInvertedColors(invert);
} }
@ -1324,6 +1380,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setConnectOnEnterIfClosed(boolean) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setConnectOnEnterIfClosed(boolean)
*/ */
@Override
public final void setConnectOnEnterIfClosed(boolean on) { public final void setConnectOnEnterIfClosed(boolean on) {
connectOnEnterIfClosed = on; connectOnEnterIfClosed = on;
} }
@ -1331,18 +1388,22 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC
/* (non-Javadoc) /* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnectOnEnterIfClosed() * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnectOnEnterIfClosed()
*/ */
@Override
public final boolean isConnectOnEnterIfClosed() { public final boolean isConnectOnEnterIfClosed() {
return connectOnEnterIfClosed; return connectOnEnterIfClosed;
} }
@Override
public void setVT100LineWrapping(boolean enable) { public void setVT100LineWrapping(boolean enable) {
getTerminalText().setVT100LineWrapping(enable); getTerminalText().setVT100LineWrapping(enable);
} }
@Override
public boolean isVT100LineWrapping() { public boolean isVT100LineWrapping() {
return getTerminalText().isVT100LineWrapping(); return getTerminalText().isVT100LineWrapping();
} }
@Override
public void enableApplicationCursorKeys(boolean enable) { public void enableApplicationCursorKeys(boolean enable) {
fApplicationCursorKeys = enable; fApplicationCursorKeys = enable;
} }

View file

@ -14,7 +14,7 @@ import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.osgi.util.NLS; import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Display;
import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalListener2;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.tm.terminal.view.ui.nls.Messages;
@ -22,7 +22,7 @@ import org.eclipse.tm.terminal.view.ui.nls.Messages;
* Terminal tab default terminal listener implementation. * Terminal tab default terminal listener implementation.
*/ */
@SuppressWarnings("restriction") @SuppressWarnings("restriction")
public class TabTerminalListener implements ITerminalListener { public class TabTerminalListener implements ITerminalListener2 {
private static final String TAB_TERMINAL_LISTENER = "TabTerminalListener"; //$NON-NLS-1$ private static final String TAB_TERMINAL_LISTENER = "TabTerminalListener"; //$NON-NLS-1$
/* default */ final TabFolderManager tabFolderManager; /* default */ final TabFolderManager tabFolderManager;
private CTabItem tabItem; private CTabItem tabItem;
@ -150,6 +150,9 @@ public class TabTerminalListener implements ITerminalListener {
public void setTerminalTitle(String title) { public void setTerminalTitle(String title) {
} }
/* (non-Javadoc)
* @see org.eclipse.tm.internal.terminal.control.ITerminalListener2#setTerminalSelectionChanged()
*/
@Override @Override
public void setTerminalSelectionChanged() { public void setTerminalSelectionChanged() {
tabFolderManager.fireTerminalSelectionChanged(); tabFolderManager.fireTerminalSelectionChanged();