Class ImageDefinitionEditor

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.image.ImageDefinitionEditor
All Implemented Interfaces:
IActivationListener, IDraggingFix, IWorkbenchPartIZ, ILayoutListener, IPropertyEditorController, IPropUndoContext, 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 ImageDefinitionEditor extends PropEditorPart implements ILayoutListener
The Image Definition Editor part.

The following shows the class hierarchy:

Single Image Definition:

  EditorImageDefinition                  [image]
      !
      +-- EditorImageStyle               [image]
      !
      +-- EditorImageResolution          [image]
              !
              +-- EditorImageStyle       [image]
 

Styled Image Definition:

  EditorStyledImageDefinition            [image]
      !
      +-- EditorImageStyleLocation
      !
      +-- EditorImageStylesResolution    [image]
              !
              +-- EditorImageStyleLocation
 

Multiple Images Definition:

  EditorImagesDefinition                 [image]
      !
      +-- EditorImageLocation
      !
      +-- EditorImagesStyle              [image]
      !       !
      !       +-- EditorImageLocation
      !
      +-- EditorImagesResolution         [image]
              !
              +-- EditorImageLocation
              !
              +-- EditorImagesStyle      [image]
                      !
                      +-- EditorImageLocation
 

To cure the above "problem" of having many images defined with many locations, we can add e.g. an EditorStyleMatch that can be added to the EditorImageStyle, EditorImageStyleLocation and EditorImagesStyle containers in order to avoid having repeat the same input for "complex" items such as EditorImageStyle, but typically EditorImagesStyle that contains locations for all images!

Author:
Christopher Mindus
  • Field Details

    • ID

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

    • ImageDefinitionEditor

      public ImageDefinitionEditor()
      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.
    • onClose

      public void onClose()
      Called when the part is being closed but is not yet disposed but hidden.
      Specified by:
      onClose in interface IActivationListener
      Overrides:
      onClose in class PropEditorPart
    • restoreMemento

      protected void restoreMemento()
      Restores this editor's state using the given memento.
      Overrides:
      restoreMemento in class PropEditorPart
    • 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 editor.
      Specified by:
      dispose in interface org.eclipse.ui.IWorkbenchPart
      Overrides:
      dispose in class PropEditorPart
    • onLayout

      public void onLayout()
      Layout required.
      Specified by:
      onLayout in interface ILayoutListener
    • performPrint

      protected void performPrint()
      Performs Print.
      Specified by:
      performPrint 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.
    • onEditedPropertyChangedForVerify

      protected void onEditedPropertyChangedForVerify(GEvent event)
      Called when verification listener gets called for verify, very commonly in a non-SWT thread. This method does nothing by default and can be overridden to process the edited property container changes events.
      Overrides:
      onEditedPropertyChangedForVerify in class PropEditorPart
    • selectionChangedEx

      protected void selectionChangedEx(org.eclipse.jface.viewers.SelectionChangedEvent event)
      Selection changes in the tree.
      Overrides:
      selectionChangedEx 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.
      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.