blob: dead1d5fda45f689263f4b6e825badae70daed16 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006, 2008 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:
* Michael Scharf (Wind River) - initial API and implementation
* Martin Oberhuber (Wind River) - fixed copyright headers and beautified
* Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use
******************************************************************************/
package org.eclipse.tm.internal.terminal.control;
import java.io.UnsupportedEncodingException;
import org.eclipse.swt.dnd.Clipboard;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.widgets.Control;
import org.eclipse.tm.internal.terminal.provisional.api.*;
/**
* @author Michael Scharf
*
*/
public interface ITerminalViewControl {
/**
* Set the encoding that the Terminal uses to decode byte streams into
* characters.
*
* @see ITerminalControl#setEncoding(String)
* @since org.eclipse.tm.terminal 2.0
*/
void setEncoding(String encoding) throws UnsupportedEncodingException;
/**
* Get the Terminal's current encoding.
*
* @return the current Encoding of the Terminal.
* @see ITerminalControl#getEncoding()
* @since org.eclipse.tm.terminal 2.0
*/
String getEncoding();
boolean isEmpty();
void setFont(Font font);
void setInvertedColors(boolean invert);
Font getFont();
/**
* @return the text control
*/
Control getControl();
/**
* @return the root of all controls
*/
Control getRootControl();
boolean isDisposed();
void selectAll();
void clearTerminal();
void copy();
void paste();
String getSelection();
TerminalState getState();
Clipboard getClipboard();
void disconnectTerminal();
void disposeTerminal();
String getSettingsSummary();
ITerminalConnector[] getConnectors();
boolean setFocus();
ITerminalConnector getTerminalConnector();
void setConnector(ITerminalConnector connector);
void connectTerminal();
/**
* @param write a single character to terminal
*/
void sendKey(char arg0);
/**
* @param string write string to terminal
*/
public boolean pasteString(String string);
boolean isConnected();
/**
* @param inputField null means no input field is shown
*/
void setCommandInputField(ICommandInputField inputField);
/**
* @return null or the current input field
*/
ICommandInputField getCommandInputField();
/**
* @return the maximum number of lines to display
* in the terminal view. -1 means unlimited.
*/
public int getBufferLineLimit();
/**
* @param bufferLineLimit the maximum number of lines to show
* in the terminal view. -1 means unlimited.
*/
public void setBufferLineLimit(int bufferLineLimit);
boolean isScrollLock();
void setScrollLock(boolean on);
}