bibliothek.gui.dock
Class ToolbarGroupDockStation

java.lang.Object
  extended by bibliothek.gui.dock.dockable.AbstractDockable
      extended by bibliothek.gui.dock.station.AbstractDockableStation
          extended by bibliothek.gui.dock.AbstractToolbarDockStation
              extended by bibliothek.gui.dock.ToolbarGroupDockStation
All Implemented Interfaces:
bibliothek.gui.dock.DockElement, bibliothek.gui.dock.DockElementRepresentative, OrientedDockStation, OrientingDockStation, bibliothek.gui.dock.station.support.PlaceholderListItem<bibliothek.gui.Dockable>, ExpandableToolbarItem, bibliothek.gui.Dockable, bibliothek.gui.DockStation

public class ToolbarGroupDockStation
extends AbstractToolbarDockStation

A Dockable and a DockStation which stands a group of ToolbarDockStation. As Dockable it can be put in DockStation which implements marker interface ToolbarInterface or in ScreenDockStation, so that a ToolbarDockStation can be floattable. As DockStation, it accepts a ToolbarElementInterface. If the element is not a ToolbarElementInterface, it is wrapped in a ToolbarDockStation before to be added.

Author:
Herve Guillaume

Nested Class Summary
protected  class ToolbarGroupDockStation.OverpaintablePanelBase
          This panel is used as base of the station.
 
Field Summary
static String DISPLAYER_ID
          This id is forwarded to Extensions which load additional DisplayerFactorys
static bibliothek.gui.dock.util.PropertyKey<ToolbarGroupDividerStrategyFactory> DIVIDER_STRATEGY_FACTORY
          Key for a strategy for painting borders between the Dockables
static bibliothek.gui.dock.util.PropertyKey<ToolbarGroupHeaderFactory> HEADER_FACTORY
          Key for a factory that creates new ToolbarGroupHeaders
static bibliothek.gui.dock.util.PropertyKey<ColumnScrollBarFactory> SCROLLBAR_FACTORY
          Key for the factory that creates new ColumnScrollBars
static String TITLE_ID
          the id of the DockTitleFactory which is used by this station
 
Fields inherited from class bibliothek.gui.dock.AbstractToolbarDockStation
displayerFactory, displayers, ON_CONFLICT_ENABLE, orientation, paint, title
 
Fields inherited from class bibliothek.gui.dock.station.AbstractDockableStation
listeners
 
Constructor Summary
ToolbarGroupDockStation()
          Creates a new ToolbarGroupDockStation.
 
Method Summary
 boolean accept(bibliothek.gui.Dockable child)
           
 boolean accept(bibliothek.gui.DockStation station)
           
 boolean accept(bibliothek.gui.DockStation base, bibliothek.gui.Dockable neighbor)
           
protected  void callDockUiUpdateTheme()
           
 boolean canReplace(bibliothek.gui.Dockable old, bibliothek.gui.Dockable next)
           
 int column(bibliothek.gui.Dockable dockable)
          Gets the column location of the dockable.
 int columnCount()
          Gets the number of column of this.
protected  bibliothek.gui.dock.themes.DefaultDisplayerFactoryValue createDisplayerFactory()
          Creates a new DefaultDisplayerFactoryValue, a factory used to create new DockableDisplayers.
protected  void discard(bibliothek.gui.dock.station.DockableDisplayer displayer)
          Replaces displayer with a new DockableDisplayer.
 void drag(bibliothek.gui.Dockable dockable)
           
 void drop(bibliothek.gui.Dockable dockable)
           
 boolean drop(bibliothek.gui.Dockable dockable, bibliothek.gui.dock.layout.DockableProperty property)
           
 boolean drop(bibliothek.gui.Dockable dockable, int column)
          Drops the dockable in a new column.
 boolean drop(bibliothek.gui.Dockable dockable, int column, boolean force)
           
 boolean drop(bibliothek.gui.Dockable dockable, int column, int line)
          Drops the dockable at the specified line and column.
 boolean drop(bibliothek.gui.Dockable dockable, int column, int line, boolean force)
           
 boolean drop(bibliothek.gui.Dockable dockable, ToolbarGroupProperty property)
          Tries to drop dockable at property.
protected  void drop(ToolbarGroupDropInfo dropInfoGroup)
          Drops thanks to information collect by dropInfo.
protected  void fireColumnRepositioned(int column, boolean all)
          Fires DockStationListener.dockablesRepositioned(DockStation, Dockable[]) for all Dockables in the given column.
protected  void fireDockablesRepositioned(bibliothek.gui.Dockable dockable)
          Fires DockStationListener.dockablesRepositioned(DockStation, Dockable[]) for all Dockables that are in the same column as dockable, including dockable.
protected  void fireDockablesRepositioned(bibliothek.gui.Dockable dockable, boolean all)
          Fires DockStationListener.dockablesRepositioned(DockStation, Dockable[]) for all Dockables that are in the same column as dockable, including dockable.
 int getBorderSideSnapSize()
          Gets the size of the invisible border around the station where a dockable can be dropped.
 int getColumnAt(Point location)
          Tells which column covers the point location.
 ToolbarColumnModel<bibliothek.gui.Dockable,bibliothek.gui.dock.station.StationChildHandle> getColumnModel()
          Gets access to a simplified view of the contents of this station.
 Component getComponent()
           
protected  String getDisplayerId()
          Gets a unique identifier used to get the DisplayerFactory for this station.
 bibliothek.gui.Dockable getDockable(int index)
           
 bibliothek.gui.Dockable getDockable(int columnIndex, int line)
          Gets the dockable at the specified column and line.
 int getDockableCount()
           
 bibliothek.gui.dock.layout.DockableProperty getDockableProperty(bibliothek.gui.Dockable child, bibliothek.gui.Dockable target)
           
 ColumnDockActionSource getExpandActionSource()
          Gets a ColumnDockActionSource which allows to modify the ExpandedState of the children of this station.
 String getFactoryID()
           
 bibliothek.gui.dock.station.StationChildHandle getHandle(bibliothek.gui.Dockable dockable)
          Gets the StationChildHandle which displayes dockable.
 bibliothek.gui.dock.station.StationChildHandle getHandle(int columnIndex, int line)
          Gets the StationChildHandle which is used at the given position.
 ToolbarGroupHeader getHeaderComponent()
          Gets the Component which is currently shown at the top of this station.
 ToolbarGroupHeaderFactory getHeaderComponentFactory()
          Gets the factory for the header component which is currently in use.
 bibliothek.gui.dock.station.layer.DockStationDropLayer[] getLayers()
           
 ToolbarGridLayoutManager<bibliothek.gui.dock.station.StationChildHandle> getLayoutManager()
           
 bibliothek.gui.dock.station.support.PlaceholderMap getPlaceholders()
           
 bibliothek.gui.dock.station.support.PlaceholderMap getPlaceholders(Map<bibliothek.gui.Dockable,Integer> identifiers)
          Converts this station into a PlaceholderMap using identifiers to remember which Dockable was at which location.
 ToolbarStrategy getToolbarStrategy()
          Gets the ToolbarStrategy that is currently used by this station.
protected  void init()
           
 boolean isAllowSideSnap()
          Tells whether the station can grab Dockables which are dragged near the station.
 boolean isLastOfColumn(bibliothek.gui.Dockable dockable)
          Tells if dockable is the last dockable in its column.
 int line(bibliothek.gui.Dockable dockable)
          Gets the line location of the dockable.
 int lineCount(int column)
          Gets the number of lines in column.
 void move(bibliothek.gui.Dockable dockable, bibliothek.gui.dock.layout.DockableProperty property)
           
 bibliothek.gui.dock.station.StationDropOperation prepareDrop(bibliothek.gui.dock.station.StationDropItem item)
           
protected  bibliothek.gui.dock.title.DockTitleVersion registerTitle(bibliothek.gui.DockController controller)
          Registers the default DockTitleFactory of this station at controller and returns the associated DockTitleVersion.
protected  void remove(bibliothek.gui.Dockable dockable)
          Removes dockable from this station.
Note: clients may need to invoke DockController.freezeLayout() and DockController.meltLayout() to ensure none else adds or removes Dockables.
 void replace(bibliothek.gui.Dockable old, bibliothek.gui.Dockable next)
           
 void setAllowSideSnap(boolean allowSideSnap)
          Sets whether Dockables which are dragged near the station are captured and added to this station.
 void setBorderSideSnapSize(int borderSideSnapSize)
          There is an invisible border around the station.
 void setController(bibliothek.gui.DockController controller)
           
 void setHeaderComponentFactory(ToolbarGroupHeaderFactory factory)
          Sets the factory for the header component.
 void setOrientation(Orientation orientation)
          Sets the orientation of dockables in this station.
 void setPlaceholders(bibliothek.gui.dock.station.support.PlaceholderMap placeholders)
           
 void setPlaceholders(bibliothek.gui.dock.station.support.PlaceholderMap placeholders, Map<Integer,bibliothek.gui.Dockable> children)
           
 
Methods inherited from class bibliothek.gui.dock.AbstractToolbarDockStation
addExpandableListener, addOrientingDockStationListener, canDrag, createBackgroundPanel, expandableListeners, fireOrientingEvent, getBackgroundAlgorithm, getExpandedState, getFrontDockable, getOrientation, getOrientationOf, getPaint, getRemoval, indexOf, init, isEnabled, prepareDrag, removeExpandableListener, removeOrientingDockStationListener, replace, setExpandedState, setExpandedState, setFrontDockable, shrink, stretch, toString
 
Methods inherited from class bibliothek.gui.dock.station.AbstractDockableStation
acceptable, acceptable, addDockStationListener, asDockStation, changed, createTitleIcon, fireDockablesRepositioned, fireDockablesRepositioned, getDirectActionOffers, getIndirectActionOffers, getTheme, isChildShowing, isStationShowing, isStationVisible, isVisible, removeDockStationListener, requestChildDisplayer, requestChildDockTitle, updateTheme
 
Methods inherited from class bibliothek.gui.dock.dockable.AbstractDockable
addDockableListener, addDockableStateListener, addDockHierarchyListener, addKeyListener, addMouseInputListener, asDockable, bind, configureDisplayerHints, fireTitleBound, fireTitleExchanged, fireTitleExchanged, fireTitleIconChanged, fireTitleTextChanged, fireTitleTooltipChanged, fireTitleUnbound, getConfigurableDisplayerHints, getController, getDockableStateListeners, getDockElementObserver, getDockParent, getElement, getGlobalActionOffers, getLocalActionOffers, getPopupLocation, getTitleIcon, getTitleIconHandling, getTitleText, getTitleToolTip, isDockableShowing, isDockableVisible, isUsedAsTitle, listBoundTitles, removeDockableListener, removeDockableStateListener, removeDockHierarchyListener, removeKeyListener, removeMouseInputListener, requestDisplayer, requestDockTitle, resetTitleIcon, setActionOffers, setDockParent, setTitleIcon, setTitleIconHandling, setTitleText, setTitleToolTip, shouldFocus, shouldTransfersFocus, unbind
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface bibliothek.gui.DockStation
addDockStationListener, changed, getController, getDirectActionOffers, getIndirectActionOffers, getTheme, isChildShowing, isStationShowing, isStationVisible, isVisible, removeDockStationListener, requestChildDisplayer, requestChildDockTitle, updateTheme
 
Methods inherited from interface bibliothek.gui.dock.DockElement
asDockable, asDockStation
 
Methods inherited from interface bibliothek.gui.Dockable
addDockableListener, addDockableStateListener, addDockHierarchyListener, addMouseInputListener, bind, configureDisplayerHints, getController, getDockParent, getGlobalActionOffers, getLocalActionOffers, getTitleIcon, getTitleText, getTitleToolTip, isDockableShowing, isDockableVisible, listBoundTitles, removeDockableListener, removeDockableStateListener, removeDockHierarchyListener, removeMouseInputListener, requestDisplayer, requestDockTitle, setDockParent, unbind
 
Methods inherited from interface bibliothek.gui.dock.DockElementRepresentative
getElement, getPopupLocation, isUsedAsTitle, shouldFocus, shouldTransfersFocus
 
Methods inherited from interface bibliothek.gui.dock.station.support.PlaceholderListItem
asDockable
 

Field Detail

TITLE_ID

public static final String TITLE_ID
the id of the DockTitleFactory which is used by this station

See Also:
Constant Field Values

DISPLAYER_ID

public static final String DISPLAYER_ID
This id is forwarded to Extensions which load additional DisplayerFactorys

See Also:
Constant Field Values

SCROLLBAR_FACTORY

public static final bibliothek.gui.dock.util.PropertyKey<ColumnScrollBarFactory> SCROLLBAR_FACTORY
Key for the factory that creates new ColumnScrollBars


HEADER_FACTORY

public static final bibliothek.gui.dock.util.PropertyKey<ToolbarGroupHeaderFactory> HEADER_FACTORY
Key for a factory that creates new ToolbarGroupHeaders


DIVIDER_STRATEGY_FACTORY

public static final bibliothek.gui.dock.util.PropertyKey<ToolbarGroupDividerStrategyFactory> DIVIDER_STRATEGY_FACTORY
Key for a strategy for painting borders between the Dockables

Constructor Detail

ToolbarGroupDockStation

public ToolbarGroupDockStation()
Creates a new ToolbarGroupDockStation.

Method Detail

getLayoutManager

public ToolbarGridLayoutManager<bibliothek.gui.dock.station.StationChildHandle> getLayoutManager()

init

protected void init()

getColumnModel

public ToolbarColumnModel<bibliothek.gui.Dockable,bibliothek.gui.dock.station.StationChildHandle> getColumnModel()
Gets access to a simplified view of the contents of this station.

Returns:
a model describing all the columns that are shown on this station

column

public int column(bibliothek.gui.Dockable dockable)
Gets the column location of the dockable.

Parameters:
dockable - the Dockable to search
Returns:
the column location or -1 if the child was not found

line

public int line(bibliothek.gui.Dockable dockable)
Gets the line location of the dockable.

Parameters:
dockable - the Dockable to search
Returns:
the line location or -1 if the child was not found

columnCount

public int columnCount()
Gets the number of column of this.

Returns:
the number of column

lineCount

public int lineCount(int column)
Gets the number of lines in column.

Parameters:
column - the column
Returns:
the number of lines in column

getDockable

public bibliothek.gui.Dockable getDockable(int columnIndex,
                                           int line)
Gets the dockable at the specified column and line.

Parameters:
columnIndex - the column index
line - the line index
Returns:
the dockable or null if there's no dockable at the specified indexes.

getHandle

public bibliothek.gui.dock.station.StationChildHandle getHandle(int columnIndex,
                                                                int line)
Gets the StationChildHandle which is used at the given position.

Parameters:
columnIndex - the column in which to search
line - the line in the column
Returns:
the item or null if the indices are out of bounds

getHandle

public bibliothek.gui.dock.station.StationChildHandle getHandle(bibliothek.gui.Dockable dockable)
Gets the StationChildHandle which displayes dockable.

Parameters:
dockable - the item to search
Returns:
the handle showing dockable or null if not found

isLastOfColumn

public boolean isLastOfColumn(bibliothek.gui.Dockable dockable)
Tells if dockable is the last dockable in its column.

Parameters:
dockable - the dockable
Returns:
true if the dockable it's the last in its column, false if it's not or if it doesn't belong to this dockstation.

getToolbarStrategy

public ToolbarStrategy getToolbarStrategy()
Gets the ToolbarStrategy that is currently used by this station.

Overrides:
getToolbarStrategy in class AbstractToolbarDockStation
Returns:
the strategy, never null

getComponent

public Component getComponent()

getDockableCount

public int getDockableCount()

getDockable

public bibliothek.gui.Dockable getDockable(int index)

getFactoryID

public String getFactoryID()

getDisplayerId

protected String getDisplayerId()
Gets a unique identifier used to get the DisplayerFactory for this station.

Returns:
the unique identifier, not null

setAllowSideSnap

public void setAllowSideSnap(boolean allowSideSnap)
Sets whether Dockables which are dragged near the station are captured and added to this station.

Parameters:
allowSideSnap - true if the station can snap Dockables which are near.
See Also:
setBorderSideSnapSize(int)

isAllowSideSnap

public boolean isAllowSideSnap()
Tells whether the station can grab Dockables which are dragged near the station.

Returns:
true if grabbing is allowed
See Also:
setAllowSideSnap(boolean)

setBorderSideSnapSize

public void setBorderSideSnapSize(int borderSideSnapSize)
There is an invisible border around the station. If a Dockable is dragged inside this border, its considered to be on the station and will be dropped into.

Parameters:
borderSideSnapSize - the size of the border in pixel
Throws:
IllegalArgumentException - if the size is smaller than 0

getBorderSideSnapSize

public int getBorderSideSnapSize()
Gets the size of the invisible border around the station where a dockable can be dropped.

Returns:
the size in pixel
See Also:
setBorderSideSnapSize(int)

setController

public void setController(bibliothek.gui.DockController controller)
Specified by:
setController in interface bibliothek.gui.Dockable
Specified by:
setController in interface bibliothek.gui.DockStation
Overrides:
setController in class AbstractToolbarDockStation

setOrientation

public void setOrientation(Orientation orientation)
Description copied from interface: OrientedDockStation
Sets the orientation of dockables in this station.


getLayers

public bibliothek.gui.dock.station.layer.DockStationDropLayer[] getLayers()
Specified by:
getLayers in interface bibliothek.gui.DockStation
Overrides:
getLayers in class bibliothek.gui.dock.station.AbstractDockableStation

accept

public boolean accept(bibliothek.gui.Dockable child)
Specified by:
accept in interface bibliothek.gui.DockStation
Overrides:
accept in class bibliothek.gui.dock.station.AbstractDockableStation

accept

public boolean accept(bibliothek.gui.DockStation station)
Specified by:
accept in interface bibliothek.gui.Dockable
Overrides:
accept in class bibliothek.gui.dock.dockable.AbstractDockable

accept

public boolean accept(bibliothek.gui.DockStation base,
                      bibliothek.gui.Dockable neighbor)
Specified by:
accept in interface bibliothek.gui.Dockable
Overrides:
accept in class bibliothek.gui.dock.dockable.AbstractDockable

prepareDrop

public bibliothek.gui.dock.station.StationDropOperation prepareDrop(bibliothek.gui.dock.station.StationDropItem item)

getColumnAt

public int getColumnAt(Point location)
Tells which column covers the point location. If location is outside this station, then a non-existing column -1 or columnCount() is returned.

Parameters:
location - some point on this Component
Returns:
the column covering location, can be -1 or columnCount()

drop

protected void drop(ToolbarGroupDropInfo dropInfoGroup)
Drops thanks to information collect by dropInfo.

Parameters:
dropInfoGroup -

drop

public void drop(bibliothek.gui.Dockable dockable)

drop

public boolean drop(bibliothek.gui.Dockable dockable,
                    int column,
                    int line)
Drops the dockable at the specified line and column.

Parameters:
dockable - the dockable to insert
column - the column where insert
line - the line where insert
Returns:
true if the dockable has been inserted, false otherwise

drop

public boolean drop(bibliothek.gui.Dockable dockable,
                    int column,
                    int line,
                    boolean force)

drop

public boolean drop(bibliothek.gui.Dockable dockable,
                    int column)
Drops the dockable in a new column.

Parameters:
dockable - the dockable to insert
column - the column index to create
Returns:
true if the dockable has been inserted, false otherwise

drop

public boolean drop(bibliothek.gui.Dockable dockable,
                    int column,
                    boolean force)

drag

public void drag(bibliothek.gui.Dockable dockable)

remove

protected void remove(bibliothek.gui.Dockable dockable)
Description copied from class: AbstractToolbarDockStation
Removes dockable from this station.
Note: clients may need to invoke DockController.freezeLayout() and DockController.meltLayout() to ensure none else adds or removes Dockables.

Specified by:
remove in class AbstractToolbarDockStation
Parameters:
dockable - the child to remove

replace

public void replace(bibliothek.gui.Dockable old,
                    bibliothek.gui.Dockable next)

canReplace

public boolean canReplace(bibliothek.gui.Dockable old,
                          bibliothek.gui.Dockable next)
Specified by:
canReplace in interface bibliothek.gui.DockStation
Overrides:
canReplace in class AbstractToolbarDockStation

fireDockablesRepositioned

protected void fireDockablesRepositioned(bibliothek.gui.Dockable dockable)
Fires DockStationListener.dockablesRepositioned(DockStation, Dockable[]) for all Dockables that are in the same column as dockable, including dockable.

Parameters:
dockable - some item from a column that changed
all - whether there should be an event for all the columns after dockable as well

fireDockablesRepositioned

protected void fireDockablesRepositioned(bibliothek.gui.Dockable dockable,
                                         boolean all)
Fires DockStationListener.dockablesRepositioned(DockStation, Dockable[]) for all Dockables that are in the same column as dockable, including dockable.

Parameters:
dockable - some item from a column that changed
all - whether there should be an event for all the columns after the column of the dockable as well

fireColumnRepositioned

protected void fireColumnRepositioned(int column,
                                      boolean all)
Fires DockStationListener.dockablesRepositioned(DockStation, Dockable[]) for all Dockables in the given column.

Parameters:
column - the column for which to fire an event
all - whether there should be an event for all the columns after column as well

getExpandActionSource

public ColumnDockActionSource getExpandActionSource()
Gets a ColumnDockActionSource which allows to modify the ExpandedState of the children of this station.

Returns:
the source, not null

getHeaderComponentFactory

public ToolbarGroupHeaderFactory getHeaderComponentFactory()
Gets the factory for the header component which is currently in use.

Returns:
the current factory, can be null
See Also:
HEADER_FACTORY

setHeaderComponentFactory

public void setHeaderComponentFactory(ToolbarGroupHeaderFactory factory)
Sets the factory for the header component. A value of null will be interpreted as a request to reinstall the default factory.

Parameters:
factory - the new factory, can be null in order to reinstall the default factory
See Also:
HEADER_FACTORY

getHeaderComponent

public ToolbarGroupHeader getHeaderComponent()
Gets the Component which is currently shown at the top of this station.

Returns:
the component or null
See Also:
HEADER_FACTORY

callDockUiUpdateTheme

protected void callDockUiUpdateTheme()
                              throws IOException
Specified by:
callDockUiUpdateTheme in class bibliothek.gui.dock.station.AbstractDockableStation
Throws:
IOException

createDisplayerFactory

protected bibliothek.gui.dock.themes.DefaultDisplayerFactoryValue createDisplayerFactory()
Description copied from class: AbstractToolbarDockStation
Creates a new DefaultDisplayerFactoryValue, a factory used to create new DockableDisplayers.

Specified by:
createDisplayerFactory in class AbstractToolbarDockStation
Returns:
the new factory, must not be null

registerTitle

protected bibliothek.gui.dock.title.DockTitleVersion registerTitle(bibliothek.gui.DockController controller)
Description copied from class: AbstractToolbarDockStation
Registers the default DockTitleFactory of this station at controller and returns the associated DockTitleVersion.

Specified by:
registerTitle in class AbstractToolbarDockStation
Parameters:
controller - the controller at which the default title factory has to be registered
Returns:
the version of the title

discard

protected void discard(bibliothek.gui.dock.station.DockableDisplayer displayer)
Replaces displayer with a new DockableDisplayer.

Specified by:
discard in class AbstractToolbarDockStation
Parameters:
displayer - the displayer to replace
Throws:
IllegalArgumentException - if displayer is not a child of this station

getPlaceholders

public bibliothek.gui.dock.station.support.PlaceholderMap getPlaceholders()

getPlaceholders

public bibliothek.gui.dock.station.support.PlaceholderMap getPlaceholders(Map<bibliothek.gui.Dockable,Integer> identifiers)
Converts this station into a PlaceholderMap using identifiers to remember which Dockable was at which location.

Parameters:
identifiers - the identifiers to apply
Returns:
this as map

setPlaceholders

public void setPlaceholders(bibliothek.gui.dock.station.support.PlaceholderMap placeholders)

setPlaceholders

public void setPlaceholders(bibliothek.gui.dock.station.support.PlaceholderMap placeholders,
                            Map<Integer,bibliothek.gui.Dockable> children)

getDockableProperty

public bibliothek.gui.dock.layout.DockableProperty getDockableProperty(bibliothek.gui.Dockable child,
                                                                       bibliothek.gui.Dockable target)

drop

public boolean drop(bibliothek.gui.Dockable dockable,
                    bibliothek.gui.dock.layout.DockableProperty property)

drop

public boolean drop(bibliothek.gui.Dockable dockable,
                    ToolbarGroupProperty property)
Tries to drop dockable at property.

Parameters:
dockable - the element to drop
property - the location of dockable
Returns:
true if dropping was successfull, false otherwise

move

public void move(bibliothek.gui.Dockable dockable,
                 bibliothek.gui.dock.layout.DockableProperty property)