bibliothek.extension.gui.dock.station
Class SplitCombiner

java.lang.Object
  extended by bibliothek.gui.dock.themes.basic.BasicCombiner
      extended by bibliothek.extension.gui.dock.station.SplitCombiner
All Implemented Interfaces:
Combiner

@ClientOnly
public class SplitCombiner
extends BasicCombiner

This is an alternative implementation of a Combiner, normally not used by this framework. This Combiner creates a SplitDockStation if the parent station is a ScreenDockStation.

Author:
Benjamin Sigg

Constructor Summary
SplitCombiner()
           
 
Method Summary
 Dockable combine(CombinerSource source, CombinerTarget target)
          Merges two Dockables into a new Dockable.
protected  boolean isCentered(int width, int height, int x, int y)
          Tells whether the position x/y is centered in width/height.
 CombinerTarget prepare(CombinerSource source, boolean force)
          Prepares information telling how two Dockables may be combined.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SplitCombiner

public SplitCombiner()
Method Detail

prepare

public CombinerTarget prepare(CombinerSource source,
                              boolean force)
Description copied from interface: Combiner
Prepares information telling how two Dockables may be combined.

Specified by:
prepare in interface Combiner
Overrides:
prepare in class BasicCombiner
Parameters:
source - the Dockable which may be combined, their parent station and other helpful information.
force - if true then a combination must happen, otherwise the result may be null indicating that a combination is not desired by this Combiner.
Returns:
How to combine the Dockables, may be null to indicate that a combination is not desired

isCentered

protected boolean isCentered(int width,
                             int height,
                             int x,
                             int y)
Tells whether the position x/y is centered in width/height.

Parameters:
width - the width of some area
height - the height of some area
x - x-coordinate of a point
y - y-coordinate of a point
Returns:
true if x/y is centered

combine

public Dockable combine(CombinerSource source,
                        CombinerTarget target)
Description copied from interface: Combiner
Merges two Dockables into a new Dockable. This method may set the DockController of the created element in order to initialize it more efficiently.

Specified by:
combine in interface Combiner
Overrides:
combine in class BasicCombiner
Parameters:
source - information about the two Dockables that are going to be merged, not null. This object may or may not have been created by this Combiner, some sanity checks are advised before using it
target - information that was created by Combiner.prepare(CombinerSource, boolean) using source, not null
Returns:
the combined Dockable, not null