bibliothek.gui.dock.control
Interface DockControllerFactory

All Known Implementing Classes:
DefaultDockControllerFactory

public interface DockControllerFactory

Contains various factory methods which are used during initialization of a DockController

Author:
Benjamin Sigg

Method Summary
 DockRegisterListener createActionBinder(DockController controller, ControllerSetupCollection setup)
          Creates a listener that will ensure that every DockAction is bound to its Dockable.
 ActionViewConverter createActionViewConverter(DockController controller, ControllerSetupCollection setup)
          Creates the converter that will transform actions into views.
 ActionOffer createDefaultActionOffer(DockController controller, ControllerSetupCollection setup)
          Creates the default action offer.
 DockableSelector createDockableSelector(DockController controller, ControllerSetupCollection setup)
          Creates a new selector for Dockables.
 DockComponentManager createDockComponentManager(DockController dockController, ControllerSetupCollection setup)
          Creates a new DockComponentManager.
 DoubleClickController createDoubleClickController(DockController controller, ControllerSetupCollection setup)
          Creates the controller that will forward double clicks with the mouse.
 ExtensionManager createExtensionManager(DockController controller, ControllerSetupCollection setup)
          Creates a new ExtensionManager.
 FocusController createFocusController(DockController controller, ControllerSetupCollection setup)
          Creates the focus-controller of controller
 FocusHistory createFocusHistory(DockController controller, ControllerSetupCollection setup)
          Creates the focus history of controller
 GlobalMouseDispatcher createGlobalMouseDispatcher(DockController controller, ControllerSetupCollection setup)
          Creates a new GlobalMouseDispatcher which will be responsible for collecting and distributing global MouseEvents.
 KeyboardController createKeyboardController(DockController controller, ControllerSetupCollection setup)
          Creates a new controller for global KeyEvents.
 MouseFocusObserver createMouseFocusObserver(DockController controller, ControllerSetupCollection setup)
          Creates an observer for MouseEvents that lead to focus changes
 PopupController createPopupController(DockController controller, ControllerSetupCollection setup)
          Creates a listener which will open a popup-menu for each title or dockable known to the controller.
 DockRegister createRegister(DockController controller, ControllerSetupCollection setup)
          Creates a new register for the controller.
 DockRelocator createRelocator(DockController controller, ControllerSetupCollection setup)
          Creates a new relocator for the controller.
 SingleParentRemover createSingleParentRemover(DockController controller, ControllerSetupCollection setup)
          Creates a SingleParentRemover that will be used to remove some stations from this controller.
 DockRegisterListener createVisibilityFocusObserver(DockController controller, ControllerSetupCollection setup)
          Creates a listener which will observe all stations to ensure that the focused Dockable is always visible.
 

Method Detail

createRegister

DockRegister createRegister(DockController controller,
                            ControllerSetupCollection setup)
Creates a new register for the controller.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the new register

createRelocator

DockRelocator createRelocator(DockController controller,
                              ControllerSetupCollection setup)
Creates a new relocator for the controller.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the relocator

createVisibilityFocusObserver

DockRegisterListener createVisibilityFocusObserver(DockController controller,
                                                   ControllerSetupCollection setup)
Creates a listener which will observe all stations to ensure that the focused Dockable is always visible.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the listener or null

createPopupController

PopupController createPopupController(DockController controller,
                                      ControllerSetupCollection setup)
Creates a listener which will open a popup-menu for each title or dockable known to the controller.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the new listener or null

createActionBinder

DockRegisterListener createActionBinder(DockController controller,
                                        ControllerSetupCollection setup)
Creates a listener that will ensure that every DockAction is bound to its Dockable.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the new listener or null

createMouseFocusObserver

MouseFocusObserver createMouseFocusObserver(DockController controller,
                                            ControllerSetupCollection setup)
Creates an observer for MouseEvents that lead to focus changes

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the observer, not null

createFocusController

FocusController createFocusController(DockController controller,
                                      ControllerSetupCollection setup)
Creates the focus-controller of controller

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the controller, not null

createFocusHistory

FocusHistory createFocusHistory(DockController controller,
                                ControllerSetupCollection setup)
Creates the focus history of controller

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the class managing the history, not null

createDoubleClickController

DoubleClickController createDoubleClickController(DockController controller,
                                                  ControllerSetupCollection setup)
Creates the controller that will forward double clicks with the mouse.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the controller, not null

createKeyboardController

KeyboardController createKeyboardController(DockController controller,
                                            ControllerSetupCollection setup)
Creates a new controller for global KeyEvents.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the new controller, not null

createDockableSelector

DockableSelector createDockableSelector(DockController controller,
                                        ControllerSetupCollection setup)
Creates a new selector for Dockables.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the new controller, not null

createActionViewConverter

ActionViewConverter createActionViewConverter(DockController controller,
                                              ControllerSetupCollection setup)
Creates the converter that will transform actions into views.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the new converter, not null

createDefaultActionOffer

ActionOffer createDefaultActionOffer(DockController controller,
                                     ControllerSetupCollection setup)
Creates the default action offer. This ActionOffer will be used if no other offer was interested in a Dockable.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the offer, must not be null

createSingleParentRemover

SingleParentRemover createSingleParentRemover(DockController controller,
                                              ControllerSetupCollection setup)
Creates a SingleParentRemover that will be used to remove some stations from this controller.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
The remover

createGlobalMouseDispatcher

GlobalMouseDispatcher createGlobalMouseDispatcher(DockController controller,
                                                  ControllerSetupCollection setup)
Creates a new GlobalMouseDispatcher which will be responsible for collecting and distributing global MouseEvents.

Parameters:
controller - the controller for which the element is created
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
The dispatcher

createExtensionManager

ExtensionManager createExtensionManager(DockController controller,
                                        ControllerSetupCollection setup)
Creates a new ExtensionManager.

Parameters:
controller - the controller which will use the manager
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the new manager, not null

createDockComponentManager

DockComponentManager createDockComponentManager(DockController dockController,
                                                ControllerSetupCollection setup)
Creates a new DockComponentManager.

Parameters:
controller - the controller which will use the new manager
setup - an observable where new objects can add ControllerSetupListener to be informed when the setup of controller is finished.
Returns:
the new manager, not null