public interface SplitLayoutManager
SplitDockStation. The
SplitLayoutManager is responsible to define the actions that have
to be taken on drop and move-events. It is also responsible to validate
any movement of the dividers.| Modifier and Type | Method and Description |
|---|---|
void |
calculateDivider(SplitDockStation station,
PutInfo putInfo,
Leaf origin,
StationDropItem item)
|
void |
install(SplitDockStation station)
Called by a
SplitDockStation when this manager will be used
by the station. |
PutInfo |
prepareDrop(SplitDockStation station,
StationDropItem dockable)
Call forwarded from
DockStation.prepareDrop. |
PutInfo |
prepareMove(SplitDockStation station,
StationDropItem dockable)
Call forwarded from
DockStation.prepareDrop if
the operation is a move operation (if the dockable is already a child of this station). |
void |
uninstall(SplitDockStation station)
Called by a
SplitDockStation which used this manager and no
longer does. |
void |
updateBounds(Root root,
double x,
double y,
double factorW,
double factorH)
Called when the bounds of all
DockableDisplayer of a station have
to be updated. |
double |
validateDivider(SplitDockStation station,
double divider,
Node node)
Tests whether the specified
divider-value is legal or not. |
PutInfo |
validatePutInfo(SplitDockStation station,
PutInfo info)
Checks whether
info is valid or not. |
Dockable |
willMakeFullscreen(SplitDockStation station,
Dockable dockable)
Called before the station changes its fullscreen-Dockable.
|
void install(SplitDockStation station)
SplitDockStation when this manager will be used
by the station.station - the invoking stationvoid uninstall(SplitDockStation station)
SplitDockStation which used this manager and no
longer does.station - the invoking stationDockable willMakeFullscreen(SplitDockStation station, Dockable dockable)
station - the invoking stationdockable - the element which the station wants to make fullscreen,
can be nullstation or null.PutInfo prepareDrop(SplitDockStation station, StationDropItem dockable)
DockStation.prepareDrop.
This method calculates where to drop a new Dockable.SplitLayoutManager may or may not set the CombinerTarget and CombinerSource of
the created PutInfo. If there is no combiner information but the mouse is over the center or the title
of a selected Leaf, then the SplitDockStation will create the missing information automatically.
If there is already information set, then the station will silently assume that this manager did set the information
and that the information is correct.station - the calling stationdockable - the element that might be droppeddockable or null if the element should not be droppedPutInfo prepareMove(SplitDockStation station, StationDropItem dockable)
DockStation.prepareDrop if
the operation is a move operation (if the dockable is already a child of this station).
This method calculates where to move a Dockable of station.station - the calling stationdockable - the element that might be droppeddockable or null if the element should not be droppedprepareDrop(SplitDockStation, StationDropItem)void calculateDivider(SplitDockStation station, PutInfo putInfo, Leaf origin, StationDropItem item)
Dockable
of putInfo is added alongside of origin. The
result has to be stored directly in putInfo.station - the station for which the calculation has to be doneputInfo - the new child of the stationorigin - a leaf of this station or nullitem - detailed information about the drag and drop operation that is going ondouble validateDivider(SplitDockStation station, double divider, Node node)
divider-value is legal or not.station - the station for which the divider is calculateddivider - the value of a divider on a Nodenode - the Node for which the test is performeddividerPutInfo validatePutInfo(SplitDockStation station, PutInfo info)
info is valid or not.station - the station for which info will be usedinfo - the preferred drop locationPutInfo, info or null.void updateBounds(Root root, double x, double y, double factorW, double factorH)
DockableDisplayer of a station have
to be updated. Subclasses normally can just call
Root.updateBounds(double, double, double, double, double, double, boolean)
with width and height set to 1.0.root - the root of a tree of Dockablesx - the left boundy - the top boundfactorW - a factor with which all x-coordinates have to be multiplied in
order to get coordinates in pixels. 0 if the basic station has no size.factorH - a factor with which all y-coordinates have to be multiplied in
order to get coordinates in pixels. 0 if the basic station has no size.Copyright © 2017 Docking Frames. All rights reserved.