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
Fields Modifier and Type Field Description PartActionactionCopyActions.PartActionactionCutActions.PartActionactionNewScreenActions.PartActionactionPasteActions.PartActionactionPrintActions.PartActionactionSelectAllActions.PartActionactionTermCaptureActions.PartActionactionTermClearActions.PartActionactionTermConfigActions.PartActionactionTermConnectActions.PartActionactionTermDisconnectActions.PartActionactionTermPrefActions.PartActionactionTermResumeActions.PartActionactionTermSuspendActions.static java.lang.StringMEMENTO_STATEMemento variable, cursor position and insert mode: "terminalComposite.state".
Constructor Summary
Constructors Constructor Description TerminalComposite(org.eclipse.ui.IWorkbenchPart part, org.eclipse.swt.widgets.Composite parent)Constructor.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddListener(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.TerminalcreateTerminalAndWindow(EditorActiveTerminalSession session, HostSessionProps hostSessionProps)Creates the Terminal and Terminal Window instance for a remote terminal session.TerminalcreateTerminalAndWindow(HostSession _hostSession, EditorTerminalProps _properties, IScreenDesigner designer)Creates the Terminal and Terminal Window instance for local terminal use in the Designer.java.lang.Object[]getActions()Gets the contribution menu items as an Object [] where null is menu separator, the rest are IAction instances.org.eclipse.swt.widgets.CanvasgetCanvas()Gets the Canvas used for the terminal, used e.g.HostSessiongetHostSession()Gets the host session.TerminalgetTerminal()Gets the terminal.booleanisCaptureEnabled()Check for Capture enabled.booleanisClearEnabled()Check for Clear enabled.booleanisConfigEnabled()Check for Capture enabled.booleanisConnectEnabled()Check for Connect enabled.booleanisCopyEnabled()Check for Cut enabled.booleanisCutEnabled()Check for Cut enabled.booleanisDisconnectEnabled()Check for Disconnect enabled.booleanisNewScreenEnabled()Checks if new screen is enabled.booleanisPasteEnabled()Check for Cut enabled.booleanisPrintEnabled()Check for Print enabled.booleanisResumeEnabled()Check for Resume enabled.booleanisSelectAllEnabled()Check for Select All enabled.booleanisSuspendEnabled()Check 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.voidonInsertModeToggle()Called from the Status Bar to toggle Insert mode.voidonKeyboardReset()Called from the Status Bar to Reset the host.voidonMarkChange()Called 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, java.lang.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).voidperformCapture()Capture action.voidperformClear()Performs Clear.voidperformConfig()Config action.voidperformConnect()Connect action.voidperformCopy()Performs Copy.voidperformCut()Performs Cut.voidperformDisconnect()Disconnect action.voidperformNewScreen()Performs new screen.voidperformPaste()Performs Paste.voidperformPref()Performs Terminal Preferences.voidperformPrint()Performs Print.voidperformResume()Resume action.voidperformSelectAll()Performs Select All.voidperformSuspend()Suspend 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(java.lang.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.voidtriggerUpdateStates()Triggers 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, toString
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getClientArea, getHorizontalBar, getScrollbarsMode, getVerticalBar
Methods 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, update
Methods 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, setData
Field Detail
MEMENTO_STATE
public static final java.lang.String MEMENTO_STATE
Memento variable, cursor position and insert mode: "terminalComposite.state".- See Also:
- Constant Field Values
actionNewScreen
public PartAction actionNewScreen
Actions.
actionTermCapture
public PartAction actionTermCapture
Actions.
actionCut
public PartAction actionCut
Actions.
actionCopy
public PartAction actionCopy
Actions.
actionPaste
public PartAction actionPaste
Actions.
actionSelectAll
public PartAction actionSelectAll
Actions.
actionTermClear
public PartAction actionTermClear
Actions.
actionPrint
public PartAction actionPrint
Actions.
actionTermConnect
public PartAction actionTermConnect
Actions.
actionTermSuspend
public PartAction actionTermSuspend
Actions.
actionTermResume
public PartAction actionTermResume
Actions.
actionTermDisconnect
public PartAction actionTermDisconnect
Actions.
actionTermConfig
public PartAction actionTermConfig
Actions.
actionTermPref
public PartAction actionTermPref
Actions.
Method Detail
createComposite
public static TerminalComposite createComposite(org.eclipse.swt.widgets.Composite parent, EditorTerminalProps props, int charPixelSizeX, int charPixelSizeY, boolean doConnect, boolean allowNonConnected, boolean doAntiAlias) throws java.io.IOException
Creates a composite for use with tooltips or previews.- Throws:
java.io.IOException
resizePreview
public void resizePreview(int charPixelSizeX, int charPixelSizeY)Resizes a terminal composite for preview.
createActions
public void createActions(IPartExtensionIZ extension)
Creates the actions such as Copy/Paste/Select All, etc.- Parameters:
extension- The IIZI part.
getActions
public java.lang.Object[] 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
public Terminal getTerminal()
Gets the terminal.- Returns:
- The terminal instance or null if not yet created.
getHostSession
public HostSession getHostSession()
Gets the host session.- Returns:
- The host session or null for none.
addListener
public void addListener(ITerminalStateListener listener)
Adds a listener.
removeListener
public void removeListener(ITerminalStateListener listener)
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
public void switchSession(HostSession _hostSession, EditorTerminalProps _properties)
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
public void onScreenChange(HostSessionPeer peer, int beginPos, int endPos)
Notifies the session of a screen change.- Specified by:
onScreenChangein interfaceHostSessionListener
onFieldChange
public void onFieldChange(HostSessionPeer peer)
Notifies the session that fields have changed.- Specified by:
onFieldChangein interfaceHostSessionListener
onScreenSizeChange
public void onScreenSizeChange(HostSessionPeer peer, int cx, int cy)
Notifies the session that the screen size has changed.- Specified by:
onScreenSizeChangein interfaceHostSessionListener
onCursorPositionChange
public void onCursorPositionChange(HostSessionPeer peer, int x, int y)
Notifies the session that the cursor position has changed.- Specified by:
onCursorPositionChangein interfaceHostSessionListener
onConnectChange
public void onConnectChange(HostSessionPeer peer, boolean connected)
Notifies the session of a connect state change.- Specified by:
onConnectChangein interfaceHostSessionListener
onStateChange
public void onStateChange(HostSessionPeer peer)
Notifies the session of a state change (such as insert mode, lock state, error state).- Specified by:
onStateChangein interfaceHostSessionListener
onHostDataStreamProcessing
public void onHostDataStreamProcessing(HostSessionPeer peer, boolean isEntering, int updates)
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
public void onSessionFailure(HostSessionPeer peer, java.lang.Throwable exception)
Called when a session has had a failure.- Specified by:
onSessionFailurein interfaceHostSessionListener
soundAlarm
public void soundAlarm(HostSessionPeer peer)
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
public void setException(java.lang.Throwable exception)
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.