Package com.iizigo.term
Class TerminalComposite
java.lang.Object
org.eclipse.swt.widgets.Widget
org.eclipse.swt.widgets.Control
org.eclipse.swt.widgets.Scrollable
org.eclipse.swt.widgets.Composite
com.iizigo.term.TerminalComposite
- All Implemented Interfaces:
ITerminalListener,HostSessionListener,org.eclipse.swt.graphics.Drawable
public class TerminalComposite extends org.eclipse.swt.widgets.Composite implements ITerminalListener, HostSessionListener
The terminal composite.
- Author:
- Christopher Mindus
Field Summary
FieldsModifier and TypeFieldDescriptionActions.Actions.Actions.Actions.Actions.Actions.Actions.Actions.Actions.Actions.Actions.Actions.Actions.Actions.static final StringMemento variable, cursor position and insert mode: "terminalComposite.state".Fields inherited from class org.eclipse.swt.widgets.Control
handleConstructor Summary
ConstructorsConstructorDescriptionTerminalComposite(org.eclipse.ui.IWorkbenchPart part, org.eclipse.swt.widgets.Composite parent) Constructor.Method Summary
Modifier and TypeMethodDescriptionvoidaddListener(ITerminalStateListener listener) Adds a listener.voidcreateActions(IPartExtensionIZ extension) Creates the actions such as Copy/Paste/Select All, etc.static TerminalCompositecreateComposite(org.eclipse.swt.widgets.Composite parent, EditorTerminalProps props, int charPixelSizeX, int charPixelSizeY, boolean doConnect, boolean allowNonConnected, boolean doAntiAlias) Creates a composite for use with tooltips or previews.createTerminalAndWindow(EditorActiveTerminalSession session, HostSessionProps hostSessionProps) Creates the Terminal and Terminal Window instance for a remote terminal session.createTerminalAndWindow(HostSession _hostSession, EditorTerminalProps _properties, IScreenDesigner designer) Creates the Terminal and Terminal Window instance for local terminal use in the Designer.Object[]Gets the contribution menu items as an Object [] where null is menu separator, the rest are IAction instances.org.eclipse.swt.widgets.CanvasGets the Canvas used for the terminal, used e.g.Gets the host session.Gets the terminal.booleanCheck for Capture enabled.booleanCheck for Clear enabled.booleanCheck for Capture enabled.booleanCheck for Connect enabled.booleanCheck for Cut enabled.booleanCheck for Cut enabled.booleanCheck for Disconnect enabled.booleanChecks if new screen is enabled.booleanCheck for Cut enabled.booleanCheck for Print enabled.booleanCheck for Resume enabled.booleanCheck for Select All enabled.booleanCheck for Suspend enabled.booleanonActivateMenu(boolean isPopup) Handles display of the pop-up window or activation of the menu bar, called from the TerminalWindow.voidonConnectChange(HostSessionPeer peer, boolean connected) Notifies the session of a connect state change.voidonCursorPositionChange(HostSessionPeer peer, int x, int y) Notifies the session that the cursor position has changed.voidonFieldChange(HostSessionPeer peer) Notifies the session that fields have changed.voidonHostDataStreamProcessing(HostSessionPeer peer, boolean isEntering, int updates) Repaint listener.voidCalled from the Status Bar to toggle Insert mode.voidCalled from the Status Bar to Reset the host.voidCalled when the mark changes, called from the TerminalWindow.booleanonPopup(int x, int y) Handles display of the pop-up window.voidonRemoteState(int state) Updates the states in a discrete way for the remote terminal.voidonScreenChange(HostSessionPeer peer, int beginPos, int endPos) Notifies the session of a screen change.voidonScreenSizeChange(HostSessionPeer peer, int cx, int cy) Notifies the session that the screen size has changed.voidonSessionFailure(HostSessionPeer peer, Throwable exception) Called when a session has had a failure.voidonStateChange(HostSessionPeer peer) Notifies the session of a state change (such as insert mode, lock state, error state).voidCapture action.voidPerforms Clear.voidConfig action.voidConnect action.voidPerforms Copy.voidPerforms Cut.voidDisconnect action.voidPerforms new screen.voidPerforms Paste.voidPerforms Terminal Preferences.voidPerforms Print.voidResume action.voidPerforms Select All.voidSuspend action.voidremoveListener(ITerminalStateListener listener) Removes a listener.voidresizePreview(int charPixelSizeX, int charPixelSizeY) Resizes a terminal composite for preview.voidrestoreState(org.eclipse.ui.IMemento memento) Restores the terminal composite state: the cursor position and insert mode.voidsaveState(org.eclipse.ui.IMemento memento) Saves the state: the cursor position and insert mode.voidsetException(Throwable exception) Sets an Exception in the status bar.booleansetFocus()Sets focus to the table.voidsoundAlarm(HostSessionPeer peer) Sound alarm on the client.voidswitchSession(HostSession _hostSession, EditorTerminalProps _properties) Switches session.voidTriggers updates of the states of the actions.Methods inherited from class org.eclipse.swt.widgets.Composite
changed, checkSubclass, drawBackground, getBackgroundMode, getChildren, getLayout, getLayoutDeferred, getTabList, isLayoutDeferred, layout, layout, layout, layout, layout, setBackgroundMode, setLayout, setLayoutDeferred, setTabList, toStringMethods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBarMethods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addDragDetectListener, addFocusListener, addGestureListener, addHelpListener, addKeyListener, addMenuDetectListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addMouseWheelListener, addPaintListener, addTouchListener, addTraverseListener, computeSize, computeSize, dragDetect, dragDetect, forceFocus, getAccessible, getBackground, getBackgroundImage, getBorderWidth, getBounds, getCursor, getDragDetect, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getOrientation, getParent, getRegion, getShell, getSize, getTextDirection, getToolTipText, getTouchEnabled, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, print, redraw, redraw, removeControlListener, removeDragDetectListener, removeFocusListener, removeGestureListener, removeHelpListener, removeKeyListener, removeMenuDetectListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removeMouseWheelListener, removePaintListener, removeTouchListener, removeTraverseListener, requestLayout, setBackground, setBackgroundImage, setBounds, setBounds, setCapture, setCursor, setDragDetect, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setOrientation, setParent, setRedraw, setRegion, setSize, setSize, setTextDirection, setToolTipText, setTouchEnabled, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, traverse, traverse, updateMethods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getListeners, getStyle, isAutoDirection, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, reskin, setData, setDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.swt.graphics.Drawable
isAutoScalable
Field Details
MEMENTO_STATE
Memento variable, cursor position and insert mode: "terminalComposite.state".- See Also:
actionNewScreen
Actions.actionTermCapture
Actions.actionCut
Actions.actionCopy
Actions.actionPaste
Actions.actionSelectAll
Actions.actionTermClear
Actions.actionPrint
Actions.actionTermConnect
Actions.actionTermSuspend
Actions.actionTermResume
Actions.actionTermDisconnect
Actions.actionTermConfig
Actions.actionTermPref
Actions.
Constructor Details
TerminalComposite
public TerminalComposite(org.eclipse.ui.IWorkbenchPart part, org.eclipse.swt.widgets.Composite parent) Constructor.
Method Details
createComposite
public static TerminalComposite createComposite(org.eclipse.swt.widgets.Composite parent, EditorTerminalProps props, int charPixelSizeX, int charPixelSizeY, boolean doConnect, boolean allowNonConnected, boolean doAntiAlias) throws IOException Creates a composite for use with tooltips or previews.- Throws:
IOException
resizePreview
public void resizePreview(int charPixelSizeX, int charPixelSizeY) Resizes a terminal composite for preview.createActions
Creates the actions such as Copy/Paste/Select All, etc.- Parameters:
extension- The IIZI part.
getActions
Gets the contribution menu items as an Object [] where null is menu separator, the rest are IAction instances.getCanvas
public org.eclipse.swt.widgets.Canvas getCanvas()Gets the Canvas used for the terminal, used e.g. for context menus.getTerminal
Gets the terminal.- Returns:
- The terminal instance or null if not yet created.
getHostSession
Gets the host session.- Returns:
- The host session or null for none.
addListener
Adds a listener.removeListener
Removes a listener.createTerminalAndWindow
public Terminal createTerminalAndWindow(HostSession _hostSession, EditorTerminalProps _properties, IScreenDesigner designer) Creates the Terminal and Terminal Window instance for local terminal use in the Designer.createTerminalAndWindow
public Terminal createTerminalAndWindow(EditorActiveTerminalSession session, HostSessionProps hostSessionProps) Creates the Terminal and Terminal Window instance for a remote terminal session.switchSession
Switches session.setFocus
public boolean setFocus()Sets focus to the table.- Overrides:
setFocusin classorg.eclipse.swt.widgets.Composite
triggerUpdateStates
public void triggerUpdateStates()Triggers updates of the states of the actions.onRemoteState
public void onRemoteState(int state) Updates the states in a discrete way for the remote terminal.isCutEnabled
public boolean isCutEnabled()Check for Cut enabled.isCopyEnabled
public boolean isCopyEnabled()Check for Cut enabled.isPasteEnabled
public boolean isPasteEnabled()Check for Cut enabled.isClearEnabled
public boolean isClearEnabled()Check for Clear enabled.isSelectAllEnabled
public boolean isSelectAllEnabled()Check for Select All enabled.isPrintEnabled
public boolean isPrintEnabled()Check for Print enabled.isConnectEnabled
public boolean isConnectEnabled()Check for Connect enabled.isSuspendEnabled
public boolean isSuspendEnabled()Check for Suspend enabled.isResumeEnabled
public boolean isResumeEnabled()Check for Resume enabled.isDisconnectEnabled
public boolean isDisconnectEnabled()Check for Disconnect enabled.isCaptureEnabled
public boolean isCaptureEnabled()Check for Capture enabled.isNewScreenEnabled
public boolean isNewScreenEnabled()Checks if new screen is enabled.isConfigEnabled
public boolean isConfigEnabled()Check for Capture enabled.performCut
public void performCut()Performs Cut.performCopy
public void performCopy()Performs Copy.performPaste
public void performPaste()Performs Paste.performClear
public void performClear()Performs Clear.performSelectAll
public void performSelectAll()Performs Select All.performPrint
public void performPrint()Performs Print.performConnect
public void performConnect()Connect action.performSuspend
public void performSuspend()Suspend action.performResume
public void performResume()Resume action.performDisconnect
public void performDisconnect()Disconnect action.performCapture
public void performCapture()Capture action.performNewScreen
public void performNewScreen()Performs new screen.performConfig
public void performConfig()Config action.performPref
public void performPref()Performs Terminal Preferences.onScreenChange
Notifies the session of a screen change.- Specified by:
onScreenChangein interfaceHostSessionListener
onFieldChange
Notifies the session that fields have changed.- Specified by:
onFieldChangein interfaceHostSessionListener
onScreenSizeChange
Notifies the session that the screen size has changed.- Specified by:
onScreenSizeChangein interfaceHostSessionListener
onCursorPositionChange
Notifies the session that the cursor position has changed.- Specified by:
onCursorPositionChangein interfaceHostSessionListener
onConnectChange
Notifies the session of a connect state change.- Specified by:
onConnectChangein interfaceHostSessionListener
onStateChange
Notifies the session of a state change (such as insert mode, lock state, error state).- Specified by:
onStateChangein interfaceHostSessionListener
onHostDataStreamProcessing
Repaint listener.- Specified by:
onHostDataStreamProcessingin interfaceHostSessionListener- Parameters:
peer- The peer.isEntering- The state of processing (true=before, false=after).updates- What has been updated on screen (bit flag: 0x01=characters, 0x02=fields).
onSessionFailure
Called when a session has had a failure.- Specified by:
onSessionFailurein interfaceHostSessionListener
soundAlarm
Sound alarm on the client.- Specified by:
soundAlarmin interfaceHostSessionListener
onPopup
public boolean onPopup(int x, int y) Handles display of the pop-up window.- Specified by:
onPopupin interfaceITerminalListener- Parameters:
x- The mouse position in X relative the terminal container.y- The mouse position in Y relative the terminal container.- Returns:
- true if handled (i.e. menu is displayed).
onActivateMenu
public boolean onActivateMenu(boolean isPopup) Handles display of the pop-up window or activation of the menu bar, called from the TerminalWindow.- Specified by:
onActivateMenuin interfaceITerminalListener- Parameters:
isPopup- Flag indicating it's a pop-up that should be activated, as opposed to the menu bar.- Returns:
- true if handled (i.e. menu is displayed).
onMarkChange
public void onMarkChange()Called when the mark changes, called from the TerminalWindow.- Specified by:
onMarkChangein interfaceITerminalListener
onKeyboardReset
public void onKeyboardReset()Called from the Status Bar to Reset the host.onInsertModeToggle
public void onInsertModeToggle()Called from the Status Bar to toggle Insert mode.setException
Sets an Exception in the status bar.saveState
public void saveState(org.eclipse.ui.IMemento memento) Saves the state: the cursor position and insert mode.restoreState
public void restoreState(org.eclipse.ui.IMemento memento) Restores the terminal composite state: the cursor position and insert mode.