|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object bibliothek.gui.dock.station.split.DefaultSplitLayoutManager
public class DefaultSplitLayoutManager
The default implementation of SplitLayoutManager
.
Constructor Summary | |
---|---|
DefaultSplitLayoutManager()
|
Method Summary | |
---|---|
void |
calculateDivider(SplitDockStation station,
PutInfo putInfo,
Leaf origin)
Calculates the value a divider should have if the Dockable
of putInfo is added alongside of origin . |
protected PutInfo |
calculateSideSnap(SplitDockStation station,
int x,
int y,
Leaf leaf,
Dockable drop)
Calculates where to add a Dockable if the mouse is outside
this station. |
void |
install(SplitDockStation station)
Called by a SplitDockStation when this manager will be used
by the station. |
PutInfo |
prepareDrop(SplitDockStation station,
int x,
int y,
int titleX,
int titleY,
boolean checkOverrideZone,
Dockable dockable)
Call forwarded from DockStation.prepareDrop . |
PutInfo |
prepareMove(SplitDockStation station,
int x,
int y,
int titleX,
int titleY,
boolean checkOverrideZone,
Dockable dockable)
Call forwarded from DockStation.prepareMove . |
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. |
protected double |
validateDivider(SplitDockStation station,
double divider,
java.awt.Dimension minimumLeft,
java.awt.Dimension minimumRight,
SplitDockStation.Orientation orientation,
double width,
double height)
Tests whether the specified divider -value is legal or not. |
double |
validateDivider(SplitDockStation station,
double divider,
Node node)
Tests whether the specified divider -value is legal or not. |
PutInfo |
validatePutInfo(SplitDockStation station,
PutInfo putInfo)
Checks whether info is valid or not. |
Dockable |
willMakeFullscreen(SplitDockStation station,
Dockable dockable)
Called before the station changes its fullscreen-Dockable. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DefaultSplitLayoutManager()
Method Detail |
---|
public void install(SplitDockStation station)
SplitLayoutManager
SplitDockStation
when this manager will be used
by the station.
install
in interface SplitLayoutManager
station
- the invoking stationpublic void uninstall(SplitDockStation station)
SplitLayoutManager
SplitDockStation
which used this manager and no
longer does.
uninstall
in interface SplitLayoutManager
station
- the invoking stationpublic Dockable willMakeFullscreen(SplitDockStation station, Dockable dockable)
SplitLayoutManager
willMakeFullscreen
in interface SplitLayoutManager
station
- the invoking stationdockable
- the element which the station wants to make fullscreen,
can be null
station
or null
.public PutInfo prepareDrop(SplitDockStation station, int x, int y, int titleX, int titleY, boolean checkOverrideZone, Dockable dockable)
SplitLayoutManager
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.
prepareDrop
in interface SplitLayoutManager
station
- the calling stationx
- the x-coordinate of the mouse on the screeny
- the y-coordinate of the mouse on the screentitleX
- the location of the title or x
if no title is grabbedtitleY
- the location of the title or y
if no title is grabbedcheckOverrideZone
- whether to respect the override zone of the parentdockable
- the element that might be dropped
dockable
or null
if the element should not be droppedpublic PutInfo prepareMove(SplitDockStation station, int x, int y, int titleX, int titleY, boolean checkOverrideZone, Dockable dockable)
SplitLayoutManager
DockStation.prepareMove
.
This method calculates where to move a Dockable
of station
.
prepareMove
in interface SplitLayoutManager
station
- the calling stationx
- the x-coordinate of the mouse on the screeny
- the y-coordinate of the mouse on the screentitleX
- the location of the title or x
if no title is grabbedtitleY
- the location of the title or y
if no title is grabbedcheckOverrideZone
- whether to respect the override zone of the parentdockable
- the element that might be dropped
dockable
or null
if the element should not be droppedSplitLayoutManager.prepareDrop(SplitDockStation, int, int, int, int, boolean, Dockable)
protected PutInfo calculateSideSnap(SplitDockStation station, int x, int y, Leaf leaf, Dockable drop)
Dockable
if the mouse is outside
this station.
station
- the station onto which drop
might be droppedx
- The x-coordinate of the mousey
- The y-coordinate of the mouseleaf
- The leaf which was the old parent of the moved Dockable
or null
drop
- the element that will be dropped
null
public void calculateDivider(SplitDockStation station, PutInfo putInfo, Leaf origin)
SplitLayoutManager
Dockable
of putInfo
is added alongside of origin
. The
result has to be stored directly in putInfo
.
calculateDivider
in interface SplitLayoutManager
station
- the station for which the calculation has to be doneputInfo
- the new child of the stationorigin
- a leaf of this station or null
public double validateDivider(SplitDockStation station, double divider, Node node)
SplitLayoutManager
divider
-value is legal or not.
validateDivider
in interface SplitLayoutManager
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
protected double validateDivider(SplitDockStation station, double divider, java.awt.Dimension minimumLeft, java.awt.Dimension minimumRight, SplitDockStation.Orientation orientation, double width, double height)
divider
-value is legal or not.
station
- the station for which the divider is intendeddivider
- the value of a divider on a Node
minimumLeft
- the minimal number of pixels on the left or top
side of the dividerminimumRight
- the minimal number of pixels on the right or bottom
side of the dividerorientation
- the orientation of the dividerwidth
- the relative width of the base (in respect to the size of
this station)height
- the relative height of the base (in respect to the size of
this station)
divider
public PutInfo validatePutInfo(SplitDockStation station, PutInfo putInfo)
SplitLayoutManager
info
is valid or not.
validatePutInfo
in interface SplitLayoutManager
station
- the station for which info
will be usedputInfo
- the preferred drop location
PutInfo
, info
or null
.public void updateBounds(Root root, double x, double y, double factorW, double factorH)
SplitLayoutManager
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.
updateBounds
in interface SplitLayoutManager
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 |