bibliothek.gui.dock.station.stack.action
Class DockActionDistributorSource

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

public class DockActionDistributorSource
extends AbstractDockActionSource

A wrapper around a DockActionSource, this source can be used in combination with DockActionDistributor to completely hide the existence of the DockActionDistributor.
Clients can use setDockable(Dockable) to enable or disable this source.

Author:
Benjamin Sigg

Field Summary
 
Fields inherited from class bibliothek.gui.dock.action.AbstractDockActionSource
listeners
 
Constructor Summary
DockActionDistributorSource(DockActionDistributor.Target target, PropertyKey<DockActionDistributor> key)
          Creates a new action source
DockActionDistributorSource(DockActionDistributor.Target target, PropertyKey<DockActionDistributor> key, Dockable dockable)
          Creates a new action source
 
Method Summary
 void addDockActionSourceListener(DockActionSourceListener listener)
          Adds a listener to this source.
 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 setDockable(Dockable dockable)
          Sets the Dockable whose DockActionSource this should be.
 
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

DockActionDistributorSource

public DockActionDistributorSource(DockActionDistributor.Target target,
                                   PropertyKey<DockActionDistributor> key)
Creates a new action source

Parameters:
target - where this action source will be shown
key - the name of the property pointing to a DockActionDistributor

DockActionDistributorSource

public DockActionDistributorSource(DockActionDistributor.Target target,
                                   PropertyKey<DockActionDistributor> key,
                                   Dockable dockable)
Creates a new action source

Parameters:
target - where this action source will be shown
key - the name of the property pointing to a DockActionDistributor
dockable - the item for which this source will be used
Method Detail

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

setDockable

public void setDockable(Dockable dockable)
Sets the Dockable whose DockActionSource this should be.

Parameters:
dockable - the new owner, can be null

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)