Class TextTableEditor

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.text.TextTableEditor
All Implemented Interfaces:
IComplexOperationSelection, IActivationListener, IDraggingFix, IWorkbenchPartIZ, ISelectionEnablerHandler, IPropertyEditorController, IPropUndoContext, IFilterListener, EventListener, IPropUndoRedo, IKStringInfoProvider, org.eclipse.core.runtime.IAdaptable, org.eclipse.core.runtime.IExecutableExtension, org.eclipse.jface.viewers.IDoubleClickListener, 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 TextTableEditor extends PropEditorPart implements EventListener, org.eclipse.jface.viewers.IDoubleClickListener, IFilterListener, IKStringInfoProvider, ISelectionEnablerHandler, IComplexOperationSelection
The Style's Editor part.
Author:
Christopher Mindus
  • Field Details

    • TEXT_TABLE_CLASSES

      public static final Class<?>[] TEXT_TABLE_CLASSES
      Text table classes.
    • ID

      public static final String ID
      The Part ID.
  • Constructor Details

    • TextTableEditor

      public TextTableEditor()
      Eclipse constructor.
  • Method Details

    • initEditor

      protected void initEditor(PropCnr cnr) throws org.eclipse.ui.PartInitException
      The initialize editor method.

      Subclasses may override this method.

      Overrides:
      initEditor in class PropEditorPart
      Parameters:
      cnr - The property container being edited. Note: the real name of the property is in the parent FilePropCnr Atom.
      Throws:
      org.eclipse.ui.PartInitException - For initialization failures.
    • dispose

      public void dispose()
      Disposes of editor.
      Specified by:
      dispose in interface org.eclipse.ui.IWorkbenchPart
      Overrides:
      dispose in class PropEditorPart
    • getEditedTextTable

      public EditorTextTable getEditedTextTable(int column)
      Gets the edited text table at specified column index.
    • onUpdateStates

      protected void onUpdateStates()
      Called just in the beginning of updateStates() before selections are processed. Override as required.
      Overrides:
      onUpdateStates in class PropEditorPart
    • updateStatesEx

      protected void updateStatesEx()
      Updates the states.
      Overrides:
      updateStatesEx in class PropEditorPart
    • createEditorComposite

      protected void createEditorComposite(org.eclipse.swt.widgets.Composite parent)
      Creates the Editor Main Composite.
      Specified by:
      createEditorComposite in class PropEditorPart
      Parameters:
      parent - The empty parent composite without initialized layout, with the widget background color.
    • validateTextID

      public static String validateTextID(String id)
      Validates the Text ID.
      Returns:
      error message, null for OK.
    • doOpen

      public boolean doOpen(GProp<?> prop, int index, String childName)
      Opens the property by selecting it in focus.
      Overrides:
      doOpen in class PropEditorPart
      Parameters:
      prop - The property to focus.
      index - The index in a multi-property.
      childName - Name of child property or null.
      Returns:
      true for success, false for failure.
    • doOpen

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

      public String getHTTPServer()
      Gets the HTTP Server string prefix including port.
      Specified by:
      getHTTPServer in interface IKStringInfoProvider
      Returns:
      The "HTTP[S]//server[:port]" String or null for none.
    • getImageTarget

      public IImageTarget getImageTarget(String ref)
      Gets the image reference.
      Specified by:
      getImageTarget in interface IKStringInfoProvider
      Parameters:
      ref - The image definition reference string.
      Returns:
      The image found, or null if not found.
    • doAddReference

      public boolean doAddReference()
      Gets the flag for adding the reference string in an attribute when editing the KString.
      Specified by:
      doAddReference in interface IKStringInfoProvider
      Returns:
      true for the Designer (will add additional parameters for the rich text editor), false for normal processing.
    • shouldResolve

      public boolean shouldResolve()
      Flag indicating the "real" resolved string should be returned. This value is true for the runtime client when in "real run mode".
      Specified by:
      shouldResolve in interface IKStringInfoProvider
      Returns:
      true to resolve all references, false if inside e.g. the Designer.
    • getResolveReferenceProperty

      public GProp<?> getResolveReferenceProperty()
      Gets the property used for references look-up's.
      Specified by:
      getResolveReferenceProperty in interface IKStringInfoProvider
      Returns:
      The property to use for reference property look-up.
    • getDPR

      public double getDPR()
      Gets the device pixel ratio.
      Specified by:
      getDPR in interface IKStringInfoProvider
      Returns:
      The device pixel ratio, default 1.0.
    • getTargetLanguageCode

      public String getTargetLanguageCode()
      Gets the language code to use.
      Specified by:
      getTargetLanguageCode in interface IKStringInfoProvider
      Returns:
      The language code, or null for default.
    • getResourcePrefix

      public String getResourcePrefix()
      Gets the base reference name for the resource, typically an image, for the Server or the Designer. This reference is "/$" (the default in this interface) for the Designer, but should be "/$APPID/" for the Server, where APPID is the application being run by the client. The Server must therefore implement this method and return that string instead.
      Specified by:
      getResourcePrefix in interface IKStringInfoProvider
      Returns:
      The resource prefix string, "/$" by default, but "/$APPID/" for the Server,' where APPID is the application being run by the client.
    • installFont

      public boolean installFont(String fontFamily)
      Installs the font families as specified by the font family.
      Specified by:
      installFont in interface IKStringInfoProvider
      Parameters:
      fontFamily - The font family or families.
      Returns:
      true for success, false if the remote part doesn't support installation, e.g. in a preview browser.
    • installFonts

      public boolean installFonts(List<FontFiles> fontList)
      Installs the font face as specified by the FontFiles instance for the Client Session. Once installed, the font family can be used.
      Specified by:
      installFonts in interface IKStringInfoProvider
      Parameters:
      fontList - The list of font files to install.
      Returns:
      true for success, false if the remote part doesn't support installation, e.g. in a preview browser.
    • onFilter

      public void onFilter(String text)
      Called when a filter text has been applied.
      Specified by:
      onFilter in interface IFilterListener
      Parameters:
      text - The filter text to apply, null for none (never empty string).
    • onEvent

      public void onEvent(GEvent event)
      Called to process an event.
      Specified by:
      onEvent in interface EventListener
      Parameters:
      event - The event.
    • performPrint

      protected void performPrint()
      Performs Print.
      Specified by:
      performPrint in class PropEditorPart
    • doubleClick

      public void doubleClick(org.eclipse.jface.viewers.DoubleClickEvent event)
      Notifies of a double click in table.
      Specified by:
      doubleClick in interface org.eclipse.jface.viewers.IDoubleClickListener
      Parameters:
      event - event object describing the double-click
    • openInParallel

      public boolean openInParallel(String ref)
      Opens a text table in parallel.
      Parameters:
      ref - The reference.
      Returns:
      true for success, false for failure.
    • onFileClosed

      protected void onFileClosed(FilePropCnr fpc)
      Called when an open file in the editor has been closed and needs to be removed. This is called in the SWT thread. This call is not done for the main file of this editor, but secondary files. For the main file, the editor is closed directory.

      Subclasses with multiple files override this method.

      Overrides:
      onFileClosed in class PropEditorPart
      Parameters:
      fpc - The file closed.
    • isSelectionEnablerProcessingEnabled

      public boolean isSelectionEnablerProcessingEnabled(SelectionEnabler se)
      Checks if the processing is active.
      Specified by:
      isSelectionEnablerProcessingEnabled in interface ISelectionEnablerHandler
      Parameters:
      se - The selection enabler instance that should be updated.
      Returns:
      The processing enabled flag: true = processed, false = process as default.
    • isReturningSelectionBeforeOperation

      public boolean isReturningSelectionBeforeOperation()
      Checks if this interface returns the selection before the operation takes place or not.
      Specified by:
      isReturningSelectionBeforeOperation in interface IComplexOperationSelection
      Returns:
      false, must be overridden to return the selection before.
    • getSelectionBefore

      public ContainerSelection[] getSelectionBefore(ComplexOperation op)
      Override this method to return the initial selection that is suitable for restoring a selection using doComplexOperationSelection(GProp []).
      Specified by:
      getSelectionBefore in interface IComplexOperationSelection
      Parameters:
      op - The complex operation.
      Returns:
      The selection that can be restored, null for none.
    • doComplexOperationSelection

      public void doComplexOperationSelection(GProp<?>[] props)
      Performs the selection of the components, typically after undo/redo.
      Specified by:
      doComplexOperationSelection in interface IComplexOperationSelection
    • performCopy

      public void performCopy()
      Performs Copy.
      Overrides:
      performCopy in class PropEditorPart
    • performCut

      public void performCut()
      Performs Cut.
      Overrides:
      performCut in class PropEditorPart
    • performPaste

      public void performPaste()
      Performs Paste.
      Overrides:
      performPaste in class PropEditorPart
    • performDelete

      public void performDelete()
      Performs Delete.
      Overrides:
      performDelete in class PropEditorPart
    • onKStringPropChanged

      public static void onKStringPropChanged(EditorTextTable tt, KStringProp ksp)
      Called when a text has changed and perhaps needs automatic translation to other tables. It is assumed that the "ksp" property is valid and is owned by "tt".
      Parameters:
      tt - The text table.
      ksp - The property.