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:
parent
1e60a6f000
commit
b1870f60c5
4 changed files with 163 additions and 83 deletions
|
@ -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();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
}
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
Loading…
Add table
Reference in a new issue