bibliothek.gui.dock.control
Class ComponentHierarchyObserver

java.lang.Object
  extended by bibliothek.gui.dock.control.ComponentHierarchyObserver

public class ComponentHierarchyObserver
extends java.lang.Object

A class collecting all Components which are somehow used on or with the Dockables in the realm of one DockController.
A global instance of ComponentHierarchyObserver can be obtained through DockController.getComponentHierarchyObserver().
Note that a hierarchy observer may also know Components which are not directly associated with Dockables.

Author:
Benjamin Sigg

Constructor Summary
ComponentHierarchyObserver(DockController controller)
          Creates a new observer.
 
Method Summary
 void add(java.awt.Component component)
          Adds component and all its children to the set of known Components.
 void addListener(ComponentHierarchyObserverListener listener)
          Adds a listener to this observer.
 java.util.Set<java.awt.Component> getComponents()
          Gets a Set containing all Components which are used on Dockables known in the realm of the DockController of this observer.
 DockController getController()
          Gets the controller in whose realm this observer searches for Components.
protected  ComponentHierarchyObserverListener[] listeners()
          Gets an array containing all listeners that are registered at this observer.
 void remove(java.awt.Component component)
          Removes component and all its children from the set of known Components.
 void removeListener(ComponentHierarchyObserverListener listener)
          Removes a listener from this observer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComponentHierarchyObserver

public ComponentHierarchyObserver(DockController controller)
Creates a new observer.

Parameters:
controller - the controller whose Dockables will be observed.
Method Detail

getComponents

public java.util.Set<java.awt.Component> getComponents()
Gets a Set containing all Components which are used on Dockables known in the realm of the DockController of this observer.

Returns:
the set of Components.

getController

public DockController getController()
Gets the controller in whose realm this observer searches for Components.

Returns:
the controller

addListener

public void addListener(ComponentHierarchyObserverListener listener)
Adds a listener to this observer.

Parameters:
listener - the new listener, not null

removeListener

public void removeListener(ComponentHierarchyObserverListener listener)
Removes a listener from this observer.

Parameters:
listener - the listener to remove

listeners

protected ComponentHierarchyObserverListener[] listeners()
Gets an array containing all listeners that are registered at this observer.

Returns:
the list of listeners

add

public void add(java.awt.Component component)
Adds component and all its children to the set of known Components. Components that are already known will not be registered twice. This observer will notice when a child of component changes and update itself accordingly.

Parameters:
component - the new component

remove

public void remove(java.awt.Component component)
Removes component and all its children from the set of known Components. If a child was added as a root, then the recursion stops there because roots can't be removed implicitly.

Parameters:
component - the component to remove