bibliothek.gui.dock.station.support
Interface CombinerTarget


public interface CombinerTarget

Created by a Combiner, this object tells how two Dockables are going to be merged.

Author:
Benjamin Sigg

Method Summary
 DisplayerCombinerTarget getDisplayerCombination()
          Some Combiners may use the combining feature of DockableDisplayers (DockableDisplayer.prepareCombination(CombinerSource, Enforcement)) to combine some Dockables.
 void paint(Graphics g, Component component, StationPaint paint, Rectangle stationBounds, Rectangle dockableBounds)
          Paints some lines on the screen that allow the user to understand of what is going to happen if he/she releases the mouse now.
Implementations interested in painting something in relation to the position of the mouse can use the following piece of code to get the mouse position:
 

Method Detail

paint

void paint(Graphics g,
           Component component,
           StationPaint paint,
           Rectangle stationBounds,
           Rectangle dockableBounds)
Paints some lines on the screen that allow the user to understand of what is going to happen if he/she releases the mouse now.
Implementations interested in painting something in relation to the position of the mouse can use the following piece of code to get the mouse position:

 CombinerSource source = ... // the source that was used to create this target
 Point mouse = source.getMousePosition();
 if( mouse != null ){ 
   mouse = SwingUtilities.convertPoint( source.getOld().getComponent(), mouse, component );

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.

getDisplayerCombination

DisplayerCombinerTarget getDisplayerCombination()
Some Combiners may use the combining feature of DockableDisplayers (DockableDisplayer.prepareCombination(CombinerSource, Enforcement)) to combine some Dockables. This method returns the information that was provided by the displayer.

Returns:
the information or null, null is always a valid result