org.eclipse.gef.ui.parts

## Class GraphicalEditorWithFlyoutPalette

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.ui.part.WorkbenchPart
    - - org.eclipse.ui.part.EditorPart
      - - org.eclipse.gef.ui.parts.GraphicalEditor
        - - org.eclipse.gef.ui.parts.GraphicalEditorWithFlyoutPalette

All Implemented Interfaces:
  java.util.EventListener, IAdaptable, IExecutableExtension, CommandStackListener, IEditorPart, ISaveablePart, ISelectionListener, IWorkbenchPart, IWorkbenchPart2, IWorkbenchPart3, IWorkbenchPartOrientation

    public abstract class GraphicalEditorWithFlyoutPalette
    extends GraphicalEditor

This class serves as a quick starting point for clients who are new to GEF. It will create an Editor with a flyout palette. The flyout palette will only be visible when the palette view is not open.

IMPORTANTThis class should only be used as a reference for creating your own EditorPart implementation. This class will not suit everyone's needs, and may change in the future. Clients may copy the implementation.

Since:
  3.0

### Nested Class Summary

Nested Classes
`protected class` `GraphicalEditorWithFlyoutPalette.CustomPalettePage` A custom PalettePage that helps GraphicalEditorWithFlyoutPalette keep the two PaletteViewers (one displayed in the editor and the other displayed in the PaletteView) in sync when switching from one to the other (i.e., it helps maintain state across the two viewers).

### Field Summary

### Fields inherited from interface org.eclipse.ui.IEditorPart

`PROP_DIRTY, PROP_INPUT`

### Fields inherited from interface org.eclipse.ui.IWorkbenchPart

`PROP_TITLE`

### Constructor Summary

Constructors
Constructor and Description
`GraphicalEditorWithFlyoutPalette()`

### Method Summary

Methods
`protected FlyoutPaletteComposite` `createPaletteComposite(Composite parent)` Creates a new `FlyoutPaletteComposite` to be used by this `GraphicalEditorWithFlyoutPalette`
`protected GraphicalEditorWithFlyoutPalette.CustomPalettePage` `createPalettePage()`
`protected PaletteViewerProvider` `createPaletteViewerProvider()` Creates a PaletteViewerProvider that will be used to create palettes for the view and the flyout.
`void` `createPartControl(Composite parent)` Realizes the Editor by creating it's Control.
`java.lang.Object` `getAdapter(java.lang.Class type)` Returns the adapter for the specified key.
`protected Control` `getGraphicalControl()`
`protected FlyoutPaletteComposite.FlyoutPreferences` `getPalettePreferences()` By default, this method returns a FlyoutPreferences object that stores the flyout settings in the GEF plugin.
`protected abstract PaletteRoot` `getPaletteRoot()` Returns the PaletteRoot for the palette viewer.
`protected PaletteViewerProvider` `getPaletteViewerProvider()` Returns the palette viewer provider that is used to create palettes for the view and the flyout.
`protected void` `initializeGraphicalViewer()` Override to set the contents of the GraphicalViewer after it has been created.
`protected void` `setEditDomain(DefaultEditDomain ed)` Sets the edit domain for this editor.

### Methods inherited from class org.eclipse.gef.ui.parts.GraphicalEditor

`commandStackChanged, configureGraphicalViewer, createActions, createGraphicalViewer, dispose, doSaveAs, firePropertyChange, getActionRegistry, getCommandStack, getEditDomain, getGraphicalViewer, getPropertyActions, getSelectionActions, getSelectionSynchronizer, getStackActions, hookGraphicalViewer, init, initializeActionRegistry, isDirty, isSaveAsAllowed, selectionChanged, setActionRegistry, setFocus, setGraphicalViewer, updateActions`

### Methods inherited from class org.eclipse.ui.part.EditorPart

`checkSite, doSave, getEditorInput, getEditorSite, getTitleToolTip, isSaveOnCloseNeeded, setContentDescription, setInitializationData, setInput, setInputWithNotify, setPartName`

### Methods inherited from class org.eclipse.ui.part.WorkbenchPart

`addPartPropertyListener, addPropertyListener, firePartPropertyChanged, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy`

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.eclipse.ui.IWorkbenchPart

`addPropertyListener, getSite, getTitle, getTitleImage, removePropertyListener`

### Constructor Detail

#### GraphicalEditorWithFlyoutPalette

    public GraphicalEditorWithFlyoutPalette()

### Method Detail

#### initializeGraphicalViewer

    protected void initializeGraphicalViewer()

Description copied from class: `GraphicalEditor`
Override to set the contents of the GraphicalViewer after it has been created.

Specified by:
  `initializeGraphicalViewer` in class `GraphicalEditor`
See Also:
  `GraphicalEditor.initializeGraphicalViewer()`

#### createPaletteViewerProvider

    protected PaletteViewerProvider createPaletteViewerProvider()

Creates a PaletteViewerProvider that will be used to create palettes for the view and the flyout.

Returns:
  the palette provider

#### createPalettePage

    protected GraphicalEditorWithFlyoutPalette.CustomPalettePage createPalettePage()

Returns:
  a newly-created `GraphicalEditorWithFlyoutPalette.CustomPalettePage`

#### createPartControl

    public void createPartControl(Composite parent)

Description copied from class: `GraphicalEditor`
Realizes the Editor by creating it's Control.

WARNING: This method may or may not be called by the workbench prior to `GraphicalEditor.dispose()`.

Specified by:
  `createPartControl` in interface `IWorkbenchPart`
Overrides:
  `createPartControl` in class `GraphicalEditor`
Parameters:
  `parent` - the parent composite
See Also:
  `GraphicalEditor.createPartControl(Composite)`

#### createPaletteComposite

    protected FlyoutPaletteComposite createPaletteComposite(Composite parent)

Creates a new `FlyoutPaletteComposite` to be used by this `GraphicalEditorWithFlyoutPalette`

Parameters:
  `parent` - The `Composite`, which should serve as the container for the to be created `FlyoutPaletteComposite`.
Returns:
  The `FlyoutPaletteComposite` used by this `GraphicalEditorWithFlyoutPalette`.
Since:
  3.10

#### getAdapter

    public java.lang.Object getAdapter(java.lang.Class type)

Description copied from class: `GraphicalEditor`
Returns the adapter for the specified key.

IMPORTANT certain requests, such as the property sheet, may be made before or after `GraphicalEditor.createPartControl(Composite)` is called. The order is unspecified by the Workbench.

Specified by:
  `getAdapter` in interface `IAdaptable`
Overrides:
  `getAdapter` in class `GraphicalEditor`
See Also:
  `IAdaptable.getAdapter(java.lang.Class)`

#### getGraphicalControl

    protected Control getGraphicalControl()

Returns:
  the graphical viewer's control

#### getPalettePreferences

    protected FlyoutPaletteComposite.FlyoutPreferences getPalettePreferences()

By default, this method returns a FlyoutPreferences object that stores the flyout settings in the GEF plugin. Sub-classes may override.

Returns:
  the FlyoutPreferences object used to save the flyout palette's preferences

#### getPaletteRoot

    protected abstract PaletteRoot getPaletteRoot()

Returns the PaletteRoot for the palette viewer.

Returns:
  the palette root

#### getPaletteViewerProvider

    protected final PaletteViewerProvider getPaletteViewerProvider()

Returns the palette viewer provider that is used to create palettes for the view and the flyout. Creates one if it doesn't already exist.

Returns:
  the PaletteViewerProvider that can be used to create PaletteViewers for this editor
See Also:
  `createPaletteViewerProvider()`

#### setEditDomain

    protected void setEditDomain(DefaultEditDomain ed)

Sets the edit domain for this editor.

Overrides:
  `setEditDomain` in class `GraphicalEditor`
Parameters:
  `ed` - The new EditDomain