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, Enforcement 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,
                              Enforcement 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 Dockables which may be combined, their parent station and other helpful information.
force - how much the caller of this method would like the method not to return a value of null. Implementations should read the force property, where a value of 1 means that this method must success, while 0 means that this method may or may not success. In general the modules in the framework expect that a value below 0.5 results in null, while a value above 0.5f results in a non-null value.
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, Enforcement) using source, not null
Returns:
the combined Dockable, not null