Package com.iizigo.term.capture
Class CaptureEditor
- java.lang.Object
- org.eclipse.core.commands.common.EventManager
- org.eclipse.ui.part.WorkbenchPart
- org.eclipse.ui.part.EditorPart
- com.iizigo.editor.PropEditorPart
- com.iizigo.term.capture.CaptureEditor
- All Implemented Interfaces:
IActivationListener
,IDraggingFix
,IWorkbenchPartIZ
,IPropertyEditorController
,IPropUndoContext
,ISaveableEditor
,ITermEditor
,ITerminalStateListener
,IPropUndoRedo
,org.eclipse.core.runtime.IAdaptable
,org.eclipse.core.runtime.IExecutableExtension
,org.eclipse.jface.viewers.ISelectionChangedListener
,org.eclipse.jface.viewers.ISelectionProvider
,org.eclipse.ui.ide.IGotoMarker
,org.eclipse.ui.IEditorPart
,org.eclipse.ui.INavigationLocationProvider
,org.eclipse.ui.IPersistable
,org.eclipse.ui.IPersistableEditor
,org.eclipse.ui.ISaveablePart
,org.eclipse.ui.ISaveablesSource
,org.eclipse.ui.IWorkbenchPart
,org.eclipse.ui.IWorkbenchPart2
,org.eclipse.ui.IWorkbenchPart3
,org.eclipse.ui.part.IWorkbenchPartOrientation
public class CaptureEditor extends PropEditorPart implements ITerminalStateListener, ITermEditor, ISaveableEditor
The Screen Capture "Editor", but nothing to edit.- Author:
- Christopher Mindus
Nested Class Summary
Nested classes/interfaces inherited from class com.iizigo.editor.PropEditorPart
PropEditorPart.DragSourceDelegator
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ID
Editor Part ID "com.iizigo.term.capture.CaptureEditor".boolean
isEditMode
Flag for edit mode of capture.Fields inherited from class com.iizigo.editor.PropEditorPart
appUI, copyAction, copyFullPathAction, copyReferenceAction, cutAction, deleteAction, dslPaste, editedPropCnr, EMPTY, filePropCnr, fileResource, globalActionBars, ir, linkAction, moveAction, partSelection, pasteAction, pasteAfterAction, pasteBeforeAction, pasteLinkAction, printAction, propEventListener, redoAction, renameAction, restoreMemento, revertAction, rootPropCnr, saveAction, selectAllAction, selectionEnabler, tiPaste, toolBar, toolBar2, undoAction, updateSelectionAndStatesRunner
Constructor Summary
Constructors Constructor Description CaptureEditor()
The Eclipse constructor.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
createEditorComposite(org.eclipse.swt.widgets.Composite parent)
Creates the part.void
dispose()
Disposes of the view part.boolean
doOpen(GProp<?>[] props)
Opens the property by selecting it in focus.boolean
doOpen(GProp<?> prop, int index, java.lang.String childName)
Opens the property by selecting it in focus.void
doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
Saves the contents of this part.HostSession
getHostSession()
Gets the HostSession.org.eclipse.swt.graphics.Rectangle
getMarkingConstraints()
Gets the marking constraints.TerminalComposite
getTerminalComposite()
Gets the terminal composite.org.eclipse.jface.viewers.TreeViewer
getViewer()
Gets the viewer.boolean
isAdditionalDataDirty()
Checks the dirty state of additional data.boolean
isCursorPresent()
Cursor present (and blinking)?boolean
isHotSpotEnabled()
Check for hotspot enabled.boolean
isTooltipTextShown()
If tool tips are shown.void
makeDirty()
Makes the capture editor dirty.void
onDoubleClick(int x, int y)
Marks the host field.void
onSetFocus()
Sets focus to the terminal.void
onTerminalFieldChanged(HostSession hostSession, TerminalWindow tw)
Called when the screen needs updates due to field change.void
onTerminalStateUpdate(HostSession hostSession, TerminalWindow tw)
Called when state probably needs update or check.void
paint(java.awt.Graphics2D g, int leftMargin, int topMargin, int cxFont, int cyFont, int cxFontReal, int cyFontReal, int cxScreen, int cyScreen, org.eclipse.swt.graphics.Rectangle clipRect)
Paints the Graphics once the screen is drawn, before the cursor.protected void
performPrint()
Prints the Editor.protected void
proceedInit()
Continues the "init".void
rebuildFields()
Rebuilds the EEField array in the screen after property changes, and fix the underline character attribute.void
saveAdditionalData(org.eclipse.core.runtime.IProgressMonitor monitor)
Saves the additional data.protected void
saveStateImpl(org.eclipse.ui.IMemento memento)
Saves the state.protected void
selectionChangedEx(org.eclipse.jface.viewers.SelectionChangedEvent event)
Selection changes in the tree.protected void
updateStatesEx()
Called to update the states.void
updateToolStates()
Updates tool states.Methods inherited from class com.iizigo.editor.PropEditorPart
addForDisposalAtDispose, addListener, addOpenFile, addSelectionChangedListener, addToolbar2PushButton, addToolbar2PushButton, addToolbar2Separator, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarPushButton, addToolbarSeparator, addToolbarSeparator, closeFile, createCommonViewer, createEmptyNavigationLocation, createFilteredCommonViewer, createFilteredCommonViewer, createLicenseExceptionComposite, createMenu, createMenu, createNavigationLocation, createPartControl, doSaveAs, fireSelectionAndStates, getActiveEditor, getActiveEditor, getActivePart, getActiveSaveables, getAdapter, getCurrentTreeViewer, getEditors, getExtension, getLicenseException, getModuleModel, getMultiSelectionProvider, getPartComposite, getPartName, getRedoAction, getSaveables, getSelection, getSelectionEnabler, getShell, getSyntClipboardSelection, getTargetViewer, getTitleImage, getTitleToolTip, getTitleToolTip, getTopmostEditor, getUndoAction, getUndoContext, getUndoRedo, gotoMarker, hasInitError, init, initEditor, invalidLicense, isDirty, isDisposed, isDragging, isSaveAsAllowed, isSaveOnCloseNeeded, onActivated, onClose, onCloseProject, onComponentFocus, onDragBegin, onDragEnd, onEditedPropertyChangedForVerify, onEditorActivated, onEditorReady, onFileClosed, onPartRenamed, onUpdateStates, performCollapseAll, performCopy, performCopyFullPath, performCopyReference, performCut, performDelete, performExpandAll, performLink, performMove, performPaste, performPasteAfter, performPasteBefore, performPasteLink, performRedo, performRename, performRevert, performSave, performSelectAll, performUndo, postAsyncUpdateStates, proceedInitProperty, refreshViewers, registerFormControl, registerViewer, registerViewer, removeListener, removePropertyValue, removeSelectionChangedListener, restoreMemento, restoreState, saveState, selectionChanged, setActionsUndoContext, setBlockViewerFocus, setFocus, setFocus, setInput, setPropertyAttrFlag, setPropertyError, setPropertyValue, setSelection, setTargetViewer, supportsCopyFullPath, supportsCopyReference, updateAllStates, updateStates, updateStatesPasteBeforeAfter, updateTitle, usePasteBeforeAfter, verifyDirtyStateChanged
Methods inherited from class org.eclipse.ui.part.EditorPart
checkSite, getEditorInput, getEditorSite, setContentDescription, setInitializationData, setInputWithNotify, setPartName
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, firePropertyChange, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.iizigo.prop.IPropertyEditorController
getModuleModel, getMultiSelectionProvider, getUndoContext, getUndoRedo, isDisposed, removePropertyValue, setBlockViewerFocus, setPropertyAttrFlag, setPropertyError, setPropertyValue
Methods inherited from interface com.iizigo.prop.IPropUndoContext
getUndoContext
Methods inherited from interface com.iizix.prop.IPropUndoRedo
getShell, getTargetViewer, getUndoContext, setTargetViewer, updateStates
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, removePropertyListener
Methods inherited from interface com.iizigo.editor.IWorkbenchPartIZ
onComponentFocused
Method Detail
proceedInit
protected void proceedInit() throws org.eclipse.ui.PartInitException
Continues the "init". This method can be overridden by editors that are not file property based such as the capture editor.- Overrides:
proceedInit
in classPropEditorPart
- Throws:
org.eclipse.ui.PartInitException
createEditorComposite
protected void createEditorComposite(org.eclipse.swt.widgets.Composite parent)
Creates the part.- Specified by:
createEditorComposite
in classPropEditorPart
- Parameters:
parent
- The empty parent composite without initialized layout, with the widget background color.
saveStateImpl
protected void saveStateImpl(org.eclipse.ui.IMemento memento)
Saves the state.- Overrides:
saveStateImpl
in classPropEditorPart
- Parameters:
memento
- The storage area for object's state.
dispose
public void dispose()
Disposes of the view part.- Specified by:
dispose
in interfaceorg.eclipse.ui.IWorkbenchPart
- Overrides:
dispose
in classPropEditorPart
onSetFocus
public void onSetFocus()
Sets focus to the terminal.- Overrides:
onSetFocus
in classPropEditorPart
updateToolStates
public void updateToolStates()
Updates tool states.- Specified by:
updateToolStates
in interfaceITermEditor
onTerminalStateUpdate
public void onTerminalStateUpdate(HostSession hostSession, TerminalWindow tw)
Called when state probably needs update or check.- Specified by:
onTerminalStateUpdate
in interfaceITerminalStateListener
- Parameters:
hostSession
- The host session, may be null.tw
- The TerminalWindow, may be null when hostSession is null, not otherwise.
onTerminalFieldChanged
public void onTerminalFieldChanged(HostSession hostSession, TerminalWindow tw)
Called when the screen needs updates due to field change.- Specified by:
onTerminalFieldChanged
in interfaceITerminalStateListener
- Parameters:
hostSession
- The host session, may be null.tw
- The TerminalWindow, may be null when hostSession is null, not otherwise.
performPrint
protected void performPrint()
Prints the Editor.- Specified by:
performPrint
in classPropEditorPart
selectionChangedEx
protected void selectionChangedEx(org.eclipse.jface.viewers.SelectionChangedEvent event)
Selection changes in the tree.- Overrides:
selectionChangedEx
in classPropEditorPart
updateStatesEx
protected void updateStatesEx()
Called to update the states.- Overrides:
updateStatesEx
in classPropEditorPart
doOpen
public boolean doOpen(GProp<?>[] props)
Opens the property by selecting it in focus.- Overrides:
doOpen
in classPropEditorPart
doOpen
public boolean doOpen(GProp<?> prop, int index, java.lang.String childName)
Opens the property by selecting it in focus. This method must be overridden.- Overrides:
doOpen
in classPropEditorPart
- Parameters:
prop
- The property to focus.index
- The index in a multi-property.childName
- Child property name or null.- Returns:
- true for success, false for failure.
getMarkingConstraints
public org.eclipse.swt.graphics.Rectangle getMarkingConstraints()
Gets the marking constraints.- Specified by:
getMarkingConstraints
in interfaceITermEditor
- Returns:
- null for none.
isHotSpotEnabled
public boolean isHotSpotEnabled()
Check for hotspot enabled.- Specified by:
isHotSpotEnabled
in interfaceITermEditor
isCursorPresent
public boolean isCursorPresent()
Cursor present (and blinking)?- Specified by:
isCursorPresent
in interfaceITermEditor
getTerminalComposite
public TerminalComposite getTerminalComposite()
Gets the terminal composite.- Specified by:
getTerminalComposite
in interfaceITermEditor
getViewer
public org.eclipse.jface.viewers.TreeViewer getViewer()
Gets the viewer.- Specified by:
getViewer
in interfaceITermEditor
getHostSession
public HostSession getHostSession()
Gets the HostSession.- Specified by:
getHostSession
in interfaceITermEditor
isTooltipTextShown
public boolean isTooltipTextShown()
If tool tips are shown.- Specified by:
isTooltipTextShown
in interfaceITermEditor
onDoubleClick
public void onDoubleClick(int x, int y)
Marks the host field.- Specified by:
onDoubleClick
in interfaceITermEditor
paint
public void paint(java.awt.Graphics2D g, int leftMargin, int topMargin, int cxFont, int cyFont, int cxFontReal, int cyFontReal, int cxScreen, int cyScreen, org.eclipse.swt.graphics.Rectangle clipRect)
Paints the Graphics once the screen is drawn, before the cursor.- Specified by:
paint
in interfaceITermEditor
rebuildFields
public void rebuildFields()
Rebuilds the EEField array in the screen after property changes, and fix the underline character attribute.
isAdditionalDataDirty
public boolean isAdditionalDataDirty()
Checks the dirty state of additional data.- Specified by:
isAdditionalDataDirty
in interfaceISaveableEditor
saveAdditionalData
public void saveAdditionalData(org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
Saves the additional data.- Specified by:
saveAdditionalData
in interfaceISaveableEditor
- Parameters:
monitor
- The progress monitor.- Throws:
org.eclipse.core.runtime.CoreException
- For saving and I/O errors.
doSave
public void doSave(org.eclipse.core.runtime.IProgressMonitor monitor)
Saves the contents of this part.If the save is successful, the part should fire a property changed event reflecting the new dirty state (PROP_DIRTY property). If the save is cancelled through user action, or for any other reason, the part should invoke setCancelled on the IProgressMonitor to inform the caller.
- Specified by:
doSave
in interfaceorg.eclipse.ui.ISaveablePart
- Overrides:
doSave
in classPropEditorPart
makeDirty
public void makeDirty()
Makes the capture editor dirty.