bibliothek.gui.dock.action
Class HierarchyDockActionSource

java.lang.Object
  extended by bibliothek.gui.dock.action.AbstractDockActionSource
      extended by bibliothek.gui.dock.action.HierarchyDockActionSource
All Implemented Interfaces:
DockActionSource, Iterable<DockAction>

public class HierarchyDockActionSource
extends AbstractDockActionSource

A DockActionSource which observes the hierarchy of a Dockable and changes its content using DockController.listOffers(bibliothek.gui.Dockable).
Clients using this source must call bind() to connect the source with its Dockable, and unbind() to free resources.

Author:
Benjamin Sigg

Field Summary
 
Fields inherited from class bibliothek.gui.dock.action.AbstractDockActionSource
listeners
 
Constructor Summary
HierarchyDockActionSource(Dockable dockable)
          Creates a new source.
 
Method Summary
 void addDockActionSourceListener(DockActionSourceListener listener)
          Adds a listener to this source.
 void bind()
          Ensures that this source observes its Dockable.
 DockAction getDockAction(int index)
          Gets the index'th DockAction of this source.
 int getDockActionCount()
          Gets the number of DockActions which are provided by this source.
 LocationHint getLocationHint()
          Gets a hint where to put this source in relation to other sources.
 Iterator<DockAction> iterator()
           
 void removeDockActionSourceListener(DockActionSourceListener listener)
          Removes an earlier added listener.
 void unbind()
          Ensures that this source frees resources.
 void update()
          Updates the list of actions known to this source.
 
Methods inherited from class bibliothek.gui.dock.action.AbstractDockActionSource
fireAdded, fireRemoved, hasListeners, indexOf
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HierarchyDockActionSource

public HierarchyDockActionSource(Dockable dockable)
Creates a new source.

Parameters:
dockable - the Dockable to observe
Method Detail

bind

public void bind()
Ensures that this source observes its Dockable.


unbind

public void unbind()
Ensures that this source frees resources.


update

public void update()
Updates the list of actions known to this source.


addDockActionSourceListener

public void addDockActionSourceListener(DockActionSourceListener listener)
Description copied from interface: DockActionSource
Adds a listener to this source. The DockActionSourceListener should be informed whenever some DockActions are added or removed from this source.

Specified by:
addDockActionSourceListener in interface DockActionSource
Overrides:
addDockActionSourceListener in class AbstractDockActionSource
Parameters:
listener - The listener

removeDockActionSourceListener

public void removeDockActionSourceListener(DockActionSourceListener listener)
Description copied from interface: DockActionSource
Removes an earlier added listener.

Specified by:
removeDockActionSourceListener in interface DockActionSource
Overrides:
removeDockActionSourceListener in class AbstractDockActionSource
Parameters:
listener - The listener to remove
See Also:
DockActionSource.addDockActionSourceListener(DockActionSourceListener)

getDockAction

public DockAction getDockAction(int index)
Description copied from interface: DockActionSource
Gets the index'th DockAction of this source.

Parameters:
index - The index of the action
Returns:
The DockAction

getDockActionCount

public int getDockActionCount()
Description copied from interface: DockActionSource
Gets the number of DockActions which are provided by this source.

Returns:
The number of DockActions

getLocationHint

public LocationHint getLocationHint()
Description copied from interface: DockActionSource
Gets a hint where to put this source in relation to other sources. Note that an ActionOffer can choose to ignore these hints, or interpret them in an unexpected way.

Returns:
the preferred location of this source

iterator

public Iterator<DockAction> iterator()