|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface SplitLayoutManager
A manager used to implement the behavior of a 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.
Method Summary | |
---|---|
void |
calculateDivider(SplitDockStation station,
PutInfo putInfo,
Leaf origin,
StationDropItem item)
Calculates the value a divider should have if the Dockable
of putInfo is added alongside of origin . |
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. |
Method Detail |
---|
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 null
station
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 dropped
dockable
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 dropped
dockable
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 null
item
- 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 Node
node
- the Node
for which the test is performed
divider
PutInfo validatePutInfo(SplitDockStation station, PutInfo info)
info
is valid or not.
station
- the station for which info
will be usedinfo
- the preferred drop location
PutInfo
, 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 Dockable
sx
- 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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |