bibliothek.gui.dock.station.split
Class SplitDockTreeFactory

java.lang.Object
  extended by bibliothek.gui.dock.station.split.SplitDockTreeFactory
All Implemented Interfaces:
SplitTreeFactory<SplitDockTree.Key>

public class SplitDockTreeFactory
extends Object
implements SplitTreeFactory<SplitDockTree.Key>

A SplitTreeFactory that writes into a SplitDockTree and so fills up an empty SplitDockTree until it is a full, valid tree.

Author:
Benjamin Sigg

Constructor Summary
SplitDockTreeFactory(SplitDockTree tree)
          Creates a new factory.
 
Method Summary
 SplitDockTree.Key horizontal(SplitDockTree.Key left, SplitDockTree.Key right, double divider, long id, Path[] placeholders, PlaceholderMap placeholderMap, boolean visible)
          Informs about a node that is divided vertically.
 SplitDockTree.Key leaf(Dockable dockable, long id, Path[] placeholders, PlaceholderMap placeholderMap)
          Informs about a leaf of the tree.
 SplitDockTree.Key placeholder(long id, Path[] placeholders, PlaceholderMap placeholderMap)
          Informs about a set of placeholder in the tree.
 SplitDockTree.Key root(SplitDockTree.Key root, long id)
          Informs about the node that is the root.
 SplitDockTree.Key vertical(SplitDockTree.Key top, SplitDockTree.Key bottom, double divider, long id, Path[] placeholders, PlaceholderMap placeholderMap, boolean visible)
          Informs about a node that is divided vertically.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SplitDockTreeFactory

public SplitDockTreeFactory(SplitDockTree tree)
Creates a new factory.

Parameters:
tree - the tree into which this factory will write.
Method Detail

horizontal

public SplitDockTree.Key horizontal(SplitDockTree.Key left,
                                    SplitDockTree.Key right,
                                    double divider,
                                    long id,
                                    Path[] placeholders,
                                    PlaceholderMap placeholderMap,
                                    boolean visible)
Description copied from interface: SplitTreeFactory
Informs about a node that is divided vertically.

Specified by:
horizontal in interface SplitTreeFactory<SplitDockTree.Key>
Parameters:
left - the left child of the node, might be null
right - the right child of the node, might be null
divider - the size of the left node, a value between 0 and 1.
id - the unique identifier of this node or -1
placeholders - the placeholders associated with this node, can be empty
placeholderMap - placeholder information of a child DockStation
visible - whether this node is visible to the user or not. A node is only visible to the user if both its children are visible
Returns:
the representation of this node, might be null

vertical

public SplitDockTree.Key vertical(SplitDockTree.Key top,
                                  SplitDockTree.Key bottom,
                                  double divider,
                                  long id,
                                  Path[] placeholders,
                                  PlaceholderMap placeholderMap,
                                  boolean visible)
Description copied from interface: SplitTreeFactory
Informs about a node that is divided vertically.

Specified by:
vertical in interface SplitTreeFactory<SplitDockTree.Key>
Parameters:
top - the top child of the node, might be null
bottom - the bottom child of the node, might be null
divider - the size of the top node, a value between 0 and 1.
id - the unique identifier of this node or -1
placeholders - the placeholders associated with this node, can be empty
placeholderMap - placeholder information of a child DockStation
visible - whether this node is visible to the user or not. A node is only visible to the user if both its children are visible
Returns:
the representation of this node, might be null

leaf

public SplitDockTree.Key leaf(Dockable dockable,
                              long id,
                              Path[] placeholders,
                              PlaceholderMap placeholderMap)
Description copied from interface: SplitTreeFactory
Informs about a leaf of the tree.

Specified by:
leaf in interface SplitTreeFactory<SplitDockTree.Key>
Parameters:
dockable - the element in the leaf
id - the unique identifier of this node or -1
placeholders - the placeholders associated with this node, can be empty
placeholderMap - placeholder information of a child DockStation
Returns:
the representation of the leaf or null

placeholder

public SplitDockTree.Key placeholder(long id,
                                     Path[] placeholders,
                                     PlaceholderMap placeholderMap)
Description copied from interface: SplitTreeFactory
Informs about a set of placeholder in the tree.

Specified by:
placeholder in interface SplitTreeFactory<SplitDockTree.Key>
Parameters:
id - the unique id of this placeholder
placeholders - the placeholders
placeholderMap - placeholder information of a child DockStation
Returns:
the representation of the placeholder or null

root

public SplitDockTree.Key root(SplitDockTree.Key root,
                              long id)
Description copied from interface: SplitTreeFactory
Informs about the node that is the root.

Specified by:
root in interface SplitTreeFactory<SplitDockTree.Key>
Parameters:
root - the root of the tree, might be null
id - the unique identifier of this node or -1
Returns:
the tree itself, or null