org.eclipse.gef.ui.palette
Class FlyoutPaletteComposite

java.lang.Object
  extended byorg.eclipse.swt.widgets.Widget
      extended byorg.eclipse.swt.widgets.Control
          extended byorg.eclipse.swt.widgets.Scrollable
              extended byorg.eclipse.swt.widgets.Composite
                  extended byorg.eclipse.gef.ui.palette.FlyoutPaletteComposite
All Implemented Interfaces:
org.eclipse.swt.graphics.Drawable

public class FlyoutPaletteComposite
extends org.eclipse.swt.widgets.Composite

The FlyoutPaletteComposite is used to show a flyout palette alongside another control. The flyout palette auto-hides (thus maximizing space) when not in use, but can also be pinned open if so desired. It will only be visible when the PaletteView is not.

Since:
3.0

Nested Class Summary
static interface FlyoutPaletteComposite.FlyoutPreferences
          FlyoutPreferences is used to save/load the preferences for the flyout palette.
 
Field Summary
 
Fields inherited from class org.eclipse.swt.widgets.Composite
embeddedHandle
 
Fields inherited from class org.eclipse.swt.widgets.Widget
handle
 
Constructor Summary
FlyoutPaletteComposite(org.eclipse.swt.widgets.Composite parent, int style, org.eclipse.ui.IWorkbenchPage page, PaletteViewerProvider pvProvider, FlyoutPaletteComposite.FlyoutPreferences preferences)
          Constructor
 
Method Summary
 void hookDropTargetListener(GraphicalViewer viewer)
          This method hooks a DropTargetListener that collapses the flyout patette when the user drags something from the palette and moves the cursor to the graphical viewer's control.
 void layout(boolean changed)
           
 void setExternalViewer(PaletteViewer viewer)
          If an external palette viewer is provided, palette state (that is captured in PaletteViewer.saveState(IMemento) -- active tool, drawer expansion state, drawer pin state, etc.) will be maintained when switching between the two viewers.
 void setGraphicalControl(org.eclipse.swt.widgets.Control graphicalViewer)
          Sets the control along the side of which the palette is to be displayed.
 
Methods inherited from class org.eclipse.swt.widgets.Composite
checkSubclass, computeSize, getChildren, getLayout, getTabList, layout, setFocus, setLayout, setTabList
 
Methods inherited from class org.eclipse.swt.widgets.Scrollable
computeTrim, getBorderWidth, getClientArea, getHorizontalBar, getVerticalBar
 
Methods inherited from class org.eclipse.swt.widgets.Control
addControlListener, addFocusListener, addHelpListener, addKeyListener, addMouseListener, addMouseMoveListener, addMouseTrackListener, addPaintListener, addTraverseListener, computeSize, forceFocus, getAccessible, getBackground, getBounds, getEnabled, getFont, getForeground, getLayoutData, getLocation, getMenu, getMonitor, getParent, getShell, getSize, getToolTipText, getVisible, internal_dispose_GC, internal_new_GC, isEnabled, isFocusControl, isReparentable, isVisible, moveAbove, moveBelow, pack, pack, redraw, redraw, removeControlListener, removeFocusListener, removeHelpListener, removeKeyListener, removeMouseListener, removeMouseMoveListener, removeMouseTrackListener, removePaintListener, removeTraverseListener, setBackground, setBounds, setBounds, setCapture, setCursor, setEnabled, setFont, setForeground, setLayoutData, setLocation, setLocation, setMenu, setParent, setRedraw, setSize, setSize, setToolTipText, setVisible, toControl, toControl, toDisplay, toDisplay, traverse, update
 
Methods inherited from class org.eclipse.swt.widgets.Widget
addDisposeListener, addListener, checkWidget, dispose, getData, getData, getDisplay, getStyle, isDisposed, isListening, notifyListeners, removeDisposeListener, removeListener, removeListener, setData, setData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FlyoutPaletteComposite

public FlyoutPaletteComposite(org.eclipse.swt.widgets.Composite parent,
                              int style,
                              org.eclipse.ui.IWorkbenchPage page,
                              PaletteViewerProvider pvProvider,
                              FlyoutPaletteComposite.FlyoutPreferences preferences)
Constructor

Parameters:
parent - The parent Composite
style - The style of the widget to construct
page - The current workbench page
pvProvider - The provider that is to be used to create the flyout palette
preferences - To save/retrieve the preferences for the flyout
Method Detail

layout

public void layout(boolean changed)
See Also:
Composite.layout(boolean)

setExternalViewer

public void setExternalViewer(PaletteViewer viewer)
If an external palette viewer is provided, palette state (that is captured in PaletteViewer.saveState(IMemento) -- active tool, drawer expansion state, drawer pin state, etc.) will be maintained when switching between the two viewers. Providing an external viewer, although recommended, is optional.

Parameters:
viewer - The palette viewer used in the PaletteView

setGraphicalControl

public void setGraphicalControl(org.eclipse.swt.widgets.Control graphicalViewer)
Sets the control along the side of which the palette is to be displayed. The given Control should be a child of this Composite. This method should only be invoked once.

Parameters:
graphicalViewer - the control of the graphical viewer; cannot be null

hookDropTargetListener

public void hookDropTargetListener(GraphicalViewer viewer)
This method hooks a DropTargetListener that collapses the flyout patette when the user drags something from the palette and moves the cursor to the graphical viewer's control. If the auto-hide feature of the palette is to work properly, this method should be called before any other drop target listeners are added to the graphical viewer.

Parameters:
viewer - the primary graphical viewer