bibliothek.gui.dock.util
Class DockUtilities

java.lang.Object
  extended by bibliothek.gui.dock.util.DockUtilities

public class DockUtilities
extends Object

A list of methods which can be used for different purposes. Methods related to the DockTheme can be found in DockUI.

Author:
Benjamin Sigg

Nested Class Summary
static class DockUtilities.DockVisitor
          A visitor used to visit the nodes of a dock-tree.
 
Constructor Summary
DockUtilities()
           
 
Method Summary
static Icon disabledIcon(JComponent parent, Icon icon)
          Gets a "disabled" icon according to the current look and feel.
static void ensureTreeValidity(DockStation newParent, Dockable newChild)
          Ensures that newChild has no parent, and that there will be no cycle when newChild is added to newParent
static void exchangeTitle(DockableDisplayer displayer, DockTitleVersion version)
          Removes the current title of displayer and sets a new title.
static DockableProperty getPropertyChain(Dockable dockable)
          Gets a DockableProperty which describes the path from the root to dockable.
static DockableProperty getPropertyChain(DockStation ground, Dockable dockable)
          Creates a DockableProperty describing the path from ground to dockable.
static DockStation getRoot(DockElement element)
          Searches the station which is an ancestor of element and has no parent.
static Component getShowingComponent(Dockable dockable)
          Searches a Component which is showing and has something to do with dockable.
static boolean isAncestor(DockElement ancestor, DockElement child)
          Tells whether child is identical with ancestor or a child of ancestor.
static Map<String,Icon> loadIcons(String list, String path, ClassLoader loader)
          Loads a map of icons.
static void visit(Dockable dockable, DockUtilities.DockVisitor visitor)
          Visits dockable and all its children.
static void visit(DockStation station, DockUtilities.DockVisitor visitor)
          Visits station and all its children.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DockUtilities

public DockUtilities()
Method Detail

visit

public static void visit(Dockable dockable,
                         DockUtilities.DockVisitor visitor)
Visits dockable and all its children.

Parameters:
dockable - the first element to visit
visitor - a delegate

visit

public static void visit(DockStation station,
                         DockUtilities.DockVisitor visitor)
Visits station and all its children.

Parameters:
station - the first element to visit
visitor - a delegate

isAncestor

public static boolean isAncestor(DockElement ancestor,
                                 DockElement child)
Tells whether child is identical with ancestor or a child of ancestor.

Parameters:
ancestor - an element
child - another element
Returns:
true if ancestor is a parent of or identical with child.

getRoot

public static DockStation getRoot(DockElement element)
Searches the station which is an ancestor of element and has no parent.

Parameters:
element - the element whose oldest parent is searched
Returns:
the root, may be null if element has no parent

getPropertyChain

public static DockableProperty getPropertyChain(Dockable dockable)
Gets a DockableProperty which describes the path from the root to dockable.

Parameters:
dockable - a Dockable whose location is searched
Returns:
the properties or null if dockable has no parent

getPropertyChain

public static DockableProperty getPropertyChain(DockStation ground,
                                                Dockable dockable)
Creates a DockableProperty describing the path from ground to dockable.

Parameters:
ground - the base of the property
dockable - an indirect child of ground
Returns:
a property for the path ground to dockable.
Throws:
IllegalArgumentException - if ground is not an ancestor of dockable

getShowingComponent

public static Component getShowingComponent(Dockable dockable)
Searches a Component which is showing and has something to do with dockable.

Parameters:
dockable - a Dockable for which a Component has to be found
Returns:
a showing component or null

ensureTreeValidity

public static void ensureTreeValidity(DockStation newParent,
                                      Dockable newChild)
Ensures that newChild has no parent, and that there will be no cycle when newChild is added to newParent

Parameters:
newParent - the element that becomes parent of newChild
newChild - the element that becomes child of newParent
Throws:
NullPointerException - if either newParent or newChild is null
IllegalArgumentException - if there would be a cycle introduced
IllegalStateException - if the old parent of newChild does not allow to remove its child

disabledIcon

public static Icon disabledIcon(JComponent parent,
                                Icon icon)
Gets a "disabled" icon according to the current look and feel.

Parameters:
parent - the component on which the icon will be painted, can be null
icon - an icon or null
Returns:
a disabled version of icon or null

loadIcons

public static Map<String,Icon> loadIcons(String list,
                                         String path,
                                         ClassLoader loader)
Loads a map of icons.

Parameters:
list - a path to a property-file containing key-path-pairs.
path - the base path to the icons, will be added before any path of the property file, can be null
loader - used to transform paths into urls.
Returns:
the map of Icons, the map can be empty if no icons were found
See Also:
Properties.load(InputStream)

exchangeTitle

public static void exchangeTitle(DockableDisplayer displayer,
                                 DockTitleVersion version)
Removes the current title of displayer and sets a new title. The Dockable of displayer is used to create the new title.

Parameters:
displayer - some displayer
version - the kind of title that should be created, can be null to indicate that no title should be created.