bibliothek.gui.dock.themes
Class StationCombinerValue

java.lang.Object
  extended by bibliothek.gui.dock.themes.StationThemeItemValue<Combiner>
      extended by bibliothek.gui.dock.themes.StationCombinerValue
All Implemented Interfaces:
Combiner, CombinerValue, UIValue<Combiner>

public class StationCombinerValue
extends StationThemeItemValue<Combiner>
implements CombinerValue, Combiner

A CombinerWrapper encloses a Combiner and uses the combiner as delegate. If the wrapper has no delegate, it uses the DockUI to get a combiner from the current DockTheme.

Author:
Benjamin Sigg

Field Summary
static Path KIND_STATION
          What kind of UIValue this is
 
Fields inherited from interface bibliothek.gui.dock.themes.CombinerValue
KIND_COMBINER
 
Constructor Summary
StationCombinerValue(java.lang.String id, DockStation station)
          Creates a new value.
 
Method Summary
 Dockable combine(CombinerSource source, CombinerTarget target)
          Merges two Dockables into a new Dockable.
 CombinerTarget prepare(CombinerSource source, boolean force)
          Prepares information telling how two Dockables may be combined.
 
Methods inherited from class bibliothek.gui.dock.themes.StationThemeItemValue
get, getDelegate, getStation, set, setController, setDelegate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface bibliothek.gui.dock.themes.CombinerValue
getStation
 
Methods inherited from interface bibliothek.gui.dock.util.UIValue
set
 

Field Detail

KIND_STATION

public static final Path KIND_STATION
What kind of UIValue this is

Constructor Detail

StationCombinerValue

public StationCombinerValue(java.lang.String id,
                            DockStation station)
Creates a new value.

Parameters:
id - the identifier of this value, used to read a resource from the ThemeManager
station - the owner of this object
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
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

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
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