bibliothek.gui.dock.displayer
Interface DisplayerCombinerTarget

All Known Implementing Classes:
TabDisplayerCombinerTarget

public interface DisplayerCombinerTarget

Created by a DockableDisplayer, tells how exactly a Dockable is dropped over a DockableDisplayer.

Author:
Benjamin Sigg

Method Summary
 Dockable execute(CombinerSource source)
          Executes this operation.
 void paint(Graphics g, Component component, StationPaint paint, Rectangle stationBounds, Rectangle dockableBounds)
          Allows this operation to paint some markings onto the screen.
 

Method Detail

paint

void paint(Graphics g,
           Component component,
           StationPaint paint,
           Rectangle stationBounds,
           Rectangle dockableBounds)
Allows this operation to paint some markings onto the screen.

Parameters:
g - the graphics context to use
component - the component on which g paints.
paint - painting algorithms fitting to the current DockTheme
stationBounds - an estimate of the area which will be affected by inserting the combined Dockable, not null
dockableBounds - the boundaries which a representation of the combined Dockable has. If possible this is the exact location and size, including any title. If the station cannot exactly tell where the Dockable is going to be (e.g. when CombinerSource.getSize() returned null), then this may be the location and size of a title. Never null.

execute

Dockable execute(CombinerSource source)
Executes this operation. Usually that means to invoke some method like DockStation.drag(Dockable).

Parameters:
source - the source of information to use for the execution, this may not be the same object as was used to create this DisplayerCombinerTarget.
Returns:
the replacement Dockable for the old item
Throws:
IllegalStateException - if the tree of DockElements changed or if this method was already called.