org.flexdock.docking.state
Interface FloatManager

All Known Implementing Classes:
FloatManager.Stub, Layout

public interface FloatManager

This interface defines the API used for floating and grouping Dockables. Classes implementing this interface will be responsible for sending Dockables into DockingFrames and managing the grouping of floating Dockables.
Sending a Dockable into a floating DockingFrame is relatively straightforward when supplied the Dockable and a dialog owner. However, state must be maintained for each FloatingGroup to allow the system to track which Dockables share the same floating dialog. If a floating Dockable is closed and subsequently restored to its previous floating state, the FloatManager must be able to determine whether an existing dialog is already present or a new dialog must be created into which the Dockable may be restored. FloatingGroups are used to track which dialogs contain which Dockables. FloatManager implementations must manage the addition to and removal of Dockables from appropriate FloatingGroups and, in turn, use these FloatingGroups to resolve or create the necessary DockingFrames during float-operations.

Author:
Christopher Butler

Nested Class Summary
static class FloatManager.Stub
           
 
Field Summary
static FloatManager DEFAULT_STUB
           
 
Method Summary
 void addToGroup(Dockable dockable, java.lang.String groupId)
           
 DockingFrame floatDockable(Dockable dockable, java.awt.Component frameOwner)
           
 DockingFrame floatDockable(Dockable dockable, java.awt.Component frameOwner, java.awt.Rectangle screenBounds)
           
 FloatingGroup getGroup(Dockable dockable)
           
 FloatingGroup getGroup(java.lang.String groupName)
           
 void removeFromGroup(Dockable dockable)
           
 

Field Detail

DEFAULT_STUB

static final FloatManager DEFAULT_STUB
Method Detail

getGroup

FloatingGroup getGroup(java.lang.String groupName)

getGroup

FloatingGroup getGroup(Dockable dockable)

addToGroup

void addToGroup(Dockable dockable,
                java.lang.String groupId)

removeFromGroup

void removeFromGroup(Dockable dockable)

floatDockable

DockingFrame floatDockable(Dockable dockable,
                           java.awt.Component frameOwner)

floatDockable

DockingFrame floatDockable(Dockable dockable,
                           java.awt.Component frameOwner,
                           java.awt.Rectangle screenBounds)