bibliothek.gui.dock.facile.mode.status
Interface ExtendedModeEnablement

All Known Implementing Classes:
AbstractExtendedModeEnablement, DefaultExtendedModeEnablement

public interface ExtendedModeEnablement

Generic algorithm telling for Dockables whether some ExtendedMode is available or not.

Author:
Benjamin Sigg

Nested Class Summary
static class ExtendedModeEnablement.Availability
          A measurement of how available a certain mode is.
static class ExtendedModeEnablement.Hidden
          A measurement of how hidden a certain mode is.
 
Method Summary
 void addListener(ExtendedModeEnablementListener listener)
          Adds a listener to this enablement, the listener has be informed if the availability state of a mode in respect to a dockable has changed.
 void destroy()
          Informs this enablement that it is no longer of any use.
 ExtendedModeEnablement.Availability isAvailable(Dockable dockable, ExtendedMode mode)
          Tells whether mode is available for dockable.
Note: for ExtendedMode.NORMALIZED the result should always be true.
 ExtendedModeEnablement.Hidden isHidden(Dockable dockable, ExtendedMode mode)
          Tells whether mode is hidden from the user for dockable.
 void removeListener(ExtendedModeEnablementListener listener)
          Removes a listener from this enablement.
 

Method Detail

isAvailable

ExtendedModeEnablement.Availability isAvailable(Dockable dockable,
                                                ExtendedMode mode)
Tells whether mode is available for dockable.
Note: for ExtendedMode.NORMALIZED the result should always be true.

Parameters:
dockable - some element, not null
mode - some mode, not null
Returns:
whether the mode is available, most strategies should return ExtendedModeEnablement.Availability.WEAK_AVAILABLE if mode equals ExtendedMode.NORMALIZED. Must never be null, but a result of ExtendedModeEnablement.Availability.UNCERTAIN indicates that this enablement does not know

isHidden

ExtendedModeEnablement.Hidden isHidden(Dockable dockable,
                                       ExtendedMode mode)
Tells whether mode is hidden from the user for dockable. If a mode is hidden it can still be available, the user will just not be informed (e.g. there is no button that will move the dockable).

Parameters:
dockable - some element, not null
mode - some mode, not null
Returns:
whether mode is hidden from the user when looking at dockable

addListener

void addListener(ExtendedModeEnablementListener listener)
Adds a listener to this enablement, the listener has be informed if the availability state of a mode in respect to a dockable has changed. Only Dockables that are registered at the LocationModeManager have to be observed.

Parameters:
listener - the new listener

removeListener

void removeListener(ExtendedModeEnablementListener listener)
Removes a listener from this enablement.

Parameters:
listener - the listener to remove

destroy

void destroy()
Informs this enablement that it is no longer of any use. The enablement should remove any listeners it added to any other object.