Class DefaultPaletteBehavior


  • public class DefaultPaletteBehavior
    extends java.lang.Object
    This class can be subclassed by clients to adapt the palette appearance and behavior of the Graphiti diagram Editor. The API is very much aligned with the way GEF handles the palette within its editors, see GraphicalEditorWithFlyoutPalette for more information on that. To exchange the default implementation you have to return an instance of your subclass in the method DiagramBehavior.createPaletteBehaviour().
    Note that there is always a 1:1 relation with a DiagramBehavior.
    Since:
    0.9
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static int DEFAULT_PALETTE_SIZE
      The initial size of the palette.
      protected DiagramBehavior diagramBehavior
      The associated DiagramBehavior
      protected static java.lang.String PROPERTY_PALETTE_DOCK_LOCATION
      Property name for storing the location (east, west) of the palette within the editor in an Eclipse preference store.
      protected static java.lang.String PROPERTY_PALETTE_SIZE
      Property name for storing the size of the palette within the editor in an Eclipse preference store.
      protected static java.lang.String PROPERTY_PALETTE_STATE
      Property name for storing the state (collapsed, expanded, hidden) of the palette within the editor in an Eclipse preference store.
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultPaletteBehavior​(DiagramBehavior diagramBehavior)
      Creates a new standard palette behaviour for a Graphiti diagram editor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected org.eclipse.gef.palette.PaletteRoot createPaletteRoot()
      Creates the PaletteRoot of this editor.
      protected org.eclipse.gef.ui.palette.PaletteViewerProvider createPaletteViewerProvider()
      Returns the PaletteViewerProvider, which can be used to create a new PaletteViewer.
      void dispose()
      Disposes this instance.
      org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences getPalettePreferences()
      Returns the Graphiti specific preferences for the palette.
      org.eclipse.gef.palette.PaletteRoot getPaletteRoot()
      Returns the already existing PaletteRoot instance for the DiagramBehavior associated the this palette behavior or creates a new PaletteRoot instance in case none exists.
      void initializeViewer()
      Initializes the used GEF palette viewer to display the palette as defined.
      void refreshPalette()
      Refreshes the palette.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • PROPERTY_PALETTE_DOCK_LOCATION

        protected static final java.lang.String PROPERTY_PALETTE_DOCK_LOCATION
        Property name for storing the location (east, west) of the palette within the editor in an Eclipse preference store.
        See Also:
        Constant Field Values
      • PROPERTY_PALETTE_SIZE

        protected static final java.lang.String PROPERTY_PALETTE_SIZE
        Property name for storing the size of the palette within the editor in an Eclipse preference store.
        See Also:
        Constant Field Values
      • PROPERTY_PALETTE_STATE

        protected static final java.lang.String PROPERTY_PALETTE_STATE
        Property name for storing the state (collapsed, expanded, hidden) of the palette within the editor in an Eclipse preference store.
        See Also:
        Constant Field Values
      • DEFAULT_PALETTE_SIZE

        protected static final int DEFAULT_PALETTE_SIZE
        The initial size of the palette.
        See Also:
        Constant Field Values
    • Constructor Detail

      • DefaultPaletteBehavior

        public DefaultPaletteBehavior​(DiagramBehavior diagramBehavior)
        Creates a new standard palette behaviour for a Graphiti diagram editor. The passed DiagramBehavior is closely linked to this instance (1:1 relation) and both instances will have a common lifecycle.
        Parameters:
        diagramEditor - The associated DiagramBehavior.
        Since:
        0.10
    • Method Detail

      • createPaletteRoot

        protected org.eclipse.gef.palette.PaletteRoot createPaletteRoot()
        Creates the PaletteRoot of this editor. To retrieve the PaletteRoot object use getPaletteRoot() instead which will return an already existing instance or create a new one by delegating to this method.
        Returns:
        a new Graphiti specific PaletteRoot instance
        See Also:
        org.eclipse.graphiti.ui.editor.GraphicalEditorIncludingPalette#getPaletteRoot()
      • getPaletteRoot

        public org.eclipse.gef.palette.PaletteRoot getPaletteRoot()
        Returns the already existing PaletteRoot instance for the DiagramBehavior associated the this palette behavior or creates a new PaletteRoot instance in case none exists.
        Returns:
        a new Graphiti specific PaletteRoot instance
      • initializeViewer

        public void initializeViewer()
        Initializes the used GEF palette viewer to display the palette as defined. The default implementation initializes the preference store with the GEF DefaultPaletteViewerPreferences and triggers a refresh of the palette.
      • getPalettePreferences

        public org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences getPalettePreferences()
        Returns the Graphiti specific preferences for the palette. This method will be called by the GEF GraphicalEditorWithFlyoutPalette during initialization.
        Returns:
        a Graphiti specific instanceof FlyoutPaletteComposite.FlyoutPreferences.
      • createPaletteViewerProvider

        protected org.eclipse.gef.ui.palette.PaletteViewerProvider createPaletteViewerProvider()
        Returns the PaletteViewerProvider, which can be used to create a new PaletteViewer. This method can be overwritten to return a subclass of the PaletteViewerProvider, which configures the PaletteViewer with a different ContextMenu, with a PaletteCustomizer or with a different IPreferencesStore. Do not call this method directly, instead call getPaletteViewerProvider(), which buffers the created object.

        By default this method returns a new PaletteViewerProvider.

        Returns:
        The PaletteViewerProvider, which can be used to create a new PaletteViewer.
      • refreshPalette

        public void refreshPalette()
        Refreshes the palette.
      • dispose

        public void dispose()
        Disposes this instance. Must be called before closing the associated Graphiti diagram editor. The default implementation clears the paletteRoot reference.