bibliothek.gui.dock.action
Interface ActionOffer

All Known Implementing Classes:
DefaultActionOffer

public interface ActionOffer

An ActionOffer is added to the DockController. Whenever the actions of a Dockable have to be collected, one (and only one) ActionOffer can create the final source of the actions.
ActionOffers are not ActionGuars. Only one ActionOffer can collect the actions of a Dockable, but this one ActionOffer will completely determine, how the actions are combined.

Author:
Benjamin Sigg
See Also:
DockController.addActionOffer(ActionOffer), DockController.removeActionOffer(ActionOffer)

Method Summary
 DockActionSource getSource(Dockable dockable, DockActionSource source, DockActionSource[] guards, DockActionSource parent, DockActionSource[] parents)
          Generates one source of actions for the given Dockable.
 boolean interested(Dockable dockable)
          Tells whether this ActionOffer wants to collect the actions for the dockable, or if this ActionOffer is not interested in the Dockable.
 

Method Detail

interested

boolean interested(Dockable dockable)
Tells whether this ActionOffer wants to collect the actions for the dockable, or if this ActionOffer is not interested in the Dockable.

Parameters:
dockable - The Dockable to test
Returns:
true if this ActionOffer should tell which actions will be associated with the dockable, false otherwise.

getSource

DockActionSource getSource(Dockable dockable,
                           DockActionSource source,
                           DockActionSource[] guards,
                           DockActionSource parent,
                           DockActionSource[] parents)
Generates one source of actions for the given Dockable. The ActionOffer is free how to use the actions that are created by other parts of the system, but it is a good idea to use all of them. Note that each argument, and each element in an array, can be null.

Parameters:
dockable - The Dockable for which the the source has to be created. An invocation of interested should return true, otherwise the behavior of this method is not specified.
source - the DockActionSource derived from dockable
guards - a list of DockActionSources derived from ActionGuards
parent - the DockActionSource derived from the parent of dockable
parents - a list of DockActionSources derived from all parents of dockable
Returns:
The source that was created.