Class 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 Detail

      • ID

        public static final java.lang.String ID
        The Part ID.
    • Constructor Detail

      • ImageDefinitionEditor

        public ImageDefinitionEditor()
        Eclipse constructor.
    • Method Detail

      • 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.
      • 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
      • 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,
                              java.lang.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.