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
  • Field Details

    • ID

      public static final String ID
      Editor Part ID "com.iizigo.term.capture.CaptureEditor".
    • isEditMode

      public boolean isEditMode
      Flag for edit mode of capture.
  • Constructor Details

    • CaptureEditor

      public CaptureEditor()
      The Eclipse constructor.
  • Method Details

    • 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 class PropEditorPart
      Throws:
      org.eclipse.ui.PartInitException
    • createEditorComposite

      protected void createEditorComposite(org.eclipse.swt.widgets.Composite parent)
      Creates the part.
      Specified by:
      createEditorComposite in class PropEditorPart
      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 class PropEditorPart
      Parameters:
      memento - The storage area for object's state.
    • dispose

      public void dispose()
      Disposes of the view part.
      Specified by:
      dispose in interface org.eclipse.ui.IWorkbenchPart
      Overrides:
      dispose in class PropEditorPart
    • onSetFocus

      public void onSetFocus()
      Sets focus to the terminal.
      Overrides:
      onSetFocus in class PropEditorPart
    • updateToolStates

      public void updateToolStates()
      Updates tool states.
      Specified by:
      updateToolStates in interface ITermEditor
    • onTerminalStateUpdate

      public void onTerminalStateUpdate(HostSession hostSession, TerminalWindow tw)
      Called when state probably needs update or check.
      Specified by:
      onTerminalStateUpdate in interface ITerminalStateListener
      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 interface ITerminalStateListener
      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 class PropEditorPart
    • selectionChangedEx

      protected void selectionChangedEx(org.eclipse.jface.viewers.SelectionChangedEvent event)
      Selection changes in the tree.
      Overrides:
      selectionChangedEx in class PropEditorPart
    • updateStatesEx

      protected void updateStatesEx()
      Called to update the states.
      Overrides:
      updateStatesEx in class PropEditorPart
    • doOpen

      public boolean doOpen(GProp<?>[] props)
      Opens the property by selecting it in focus.
      Overrides:
      doOpen in class PropEditorPart
    • doOpen

      public boolean doOpen(GProp<?> prop, int index, String childName)
      Opens the property by selecting it in focus. This method must be overridden.
      Overrides:
      doOpen in class PropEditorPart
      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 interface ITermEditor
      Returns:
      null for none.
    • isHotSpotEnabled

      public boolean isHotSpotEnabled()
      Check for hotspot enabled.
      Specified by:
      isHotSpotEnabled in interface ITermEditor
    • isCursorPresent

      public boolean isCursorPresent()
      Cursor present (and blinking)?
      Specified by:
      isCursorPresent in interface ITermEditor
    • getTerminalComposite

      public TerminalComposite getTerminalComposite()
      Gets the terminal composite.
      Specified by:
      getTerminalComposite in interface ITermEditor
    • getViewer

      public org.eclipse.jface.viewers.TreeViewer getViewer()
      Gets the viewer.
      Specified by:
      getViewer in interface ITermEditor
    • getHostSession

      public HostSession getHostSession()
      Gets the HostSession.
      Specified by:
      getHostSession in interface ITermEditor
    • isTooltipTextShown

      public boolean isTooltipTextShown()
      If tool tips are shown.
      Specified by:
      isTooltipTextShown in interface ITermEditor
    • onDoubleClick

      public void onDoubleClick(int x, int y)
      Marks the host field.
      Specified by:
      onDoubleClick in interface ITermEditor
    • paint

      public void paint(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 interface ITermEditor
    • 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 interface ISaveableEditor
    • saveAdditionalData

      public void saveAdditionalData(org.eclipse.core.runtime.IProgressMonitor monitor) throws org.eclipse.core.runtime.CoreException
      Saves the additional data.
      Specified by:
      saveAdditionalData in interface ISaveableEditor
      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 interface org.eclipse.ui.ISaveablePart
      Overrides:
      doSave in class PropEditorPart
    • makeDirty

      public void makeDirty()
      Makes the capture editor dirty.