bibliothek.gui.dock.support.mode
Interface ModeManagerListener<A,M extends Mode<A>>

Type Parameters:
A - the kind of properties used by a ModeManager
M - the kind of Modes used by a ModeManager

public interface ModeManagerListener<A,M extends Mode<A>>

This observer is added to a ModeManager and is informed when Modes or Dockables change.

Author:
Benjamin Sigg

Method Summary
 void dockableAdded(ModeManager<? extends A,? extends M> manager, Dockable dockable)
          Called when a Dockable is added or replaced in manager.
 void dockableRemoved(ModeManager<? extends A,? extends M> manager, Dockable dockable)
          Called when a Dockable is removed or replaced from manager.
 void modeAdded(ModeManager<? extends A,? extends M> manager, M mode)
          Called when a new mode has been added to manager.
 void modeChanged(ModeManager<? extends A,? extends M> manager, Dockable dockable, M oldMode, M newMode)
          Called if the mode of dockable changed.
 void modeRemoved(ModeManager<? extends A,? extends M> manager, M mode)
          Called when a mode has been removed from manager.
 

Method Detail

dockableAdded

void dockableAdded(ModeManager<? extends A,? extends M> manager,
                   Dockable dockable)
Called when a Dockable is added or replaced in manager. If it was replaced, then dockableRemoved(ModeManager, Dockable) is called first.

Parameters:
manager - the source of the event
dockable - the new element

dockableRemoved

void dockableRemoved(ModeManager<? extends A,? extends M> manager,
                     Dockable dockable)
Called when a Dockable is removed or replaced from manager. If it was replaced, then dockableAdded(ModeManager, Dockable) is called afterwards.

Parameters:
manager - the source of the event
dockable - the new element

modeChanged

void modeChanged(ModeManager<? extends A,? extends M> manager,
                 Dockable dockable,
                 M oldMode,
                 M newMode)
Called if the mode of dockable changed. Note: this method may be called in rapid succession. Some mode-changes may not be reported, for example if a Dockable changes a -> b -> c then the event can be a -> c.

Parameters:
manager - the source of the event
dockable - the affected element
oldMode - the old mode, may be null
newMode - the new mode, may be null

modeAdded

void modeAdded(ModeManager<? extends A,? extends M> manager,
               M mode)
Called when a new mode has been added to manager.

Parameters:
manager - the source of the event
mode - the new mode

modeRemoved

void modeRemoved(ModeManager<? extends A,? extends M> manager,
                 M mode)
Called when a mode has been removed from manager.

Parameters:
manager - the source of the event
mode - the removed mode