|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object bibliothek.gui.dock.dockable.AbstractDockable bibliothek.gui.dock.station.AbstractDockableStation bibliothek.gui.dock.FlapDockStation
public class FlapDockStation
This DockStation
shows only a title for each of it's children.
If the user clicks on one of the titles, a window will popup. The Dockable
which owns the clicked title is shown in this window.
Nested Class Summary | |
---|---|
static class |
FlapDockStation.Direction
The direction in which the window with the Dockable will popup,
in respect to the location of this station. |
protected class |
FlapDockStation.DockableHandle
Handles title, listeners and actions that are associated with a Dockable . |
protected class |
FlapDockStation.FlapDropOperation
Custom implementation of StationDropOperation . |
Field Summary | |
---|---|
static PropertyKey<ButtonContent> |
BUTTON_CONTENT
Key for all DockTheme s, tells the theme what content on the buttons
should be visible. |
static PropertyKey<ButtonContentFilter> |
BUTTON_CONTENT_FILTER
Key for all elements that depend from BUTTON_CONTENT , adds additional information to the ButtonContent . |
static String |
BUTTON_TITLE_ID
This id is used to get a DockTitleVersion from the
DockController which owns this station. |
static String |
DISPLAYER_ID
This id is forwarded to Extension s which load additional DisplayerFactory s. |
static PropertyKey<FlapLayoutManager> |
LAYOUT_MANAGER
Key for the FlapLayoutManager that is used by all FlapDockStation s. |
static PropertyKey<Dimension> |
MINIMUM_SIZE
Key for the minimum size of all FlapDockStation s. |
static PropertyKey<FlapWindowFactory> |
WINDOW_FACTORY
Key for a factory that creates the windows of this station. |
static String |
WINDOW_TITLE_ID
This id is used to get a DockTitleVersion from the
DockController which owns this station. |
Fields inherited from class bibliothek.gui.dock.station.AbstractDockableStation |
---|
listeners |
Constructor Summary | |
---|---|
|
FlapDockStation()
Defaultconstructor of a FlapDockStation |
protected |
FlapDockStation(boolean init)
Creates a new FlapDockStation . |
Method Summary | |
---|---|
void |
add(Dockable dockable)
Adds dockable as new child to this station. |
void |
add(Dockable dockable,
int index)
Inserts dockable as new child in the list of
children. |
void |
addFlapDockStationListener(FlapDockListener listener)
Adds a listener to this station. |
void |
aside(AsideRequest request)
Requests this DockStation to find a DockableProperty that is "aside" another
property. |
protected void |
callDockUiUpdateTheme()
Calls the method DockUI .DockUI.updateTheme(DockStation, DockFactory)
with this as the first argument, and an appropriate factory
as the second argument. |
boolean |
canDrag(Dockable dockable)
Tells whether dockable can be removed from this station or not. |
boolean |
canReplace(Dockable old,
Dockable next)
Tells whether its possible to replace the child old
with next where next is not a child of this station. |
void |
changed(Dockable dockable,
DockTitle title,
boolean active)
Called by the DockController of this station to indicate that
the active-state of title has been changed. |
boolean |
combine(Dockable child,
Dockable append)
Creates a combination out of child , which must be a
child of this station, and append which must not be
a child of this station. |
boolean |
combine(Dockable child,
Dockable append,
DockableProperty property)
Creates a combination out of child , which must be a
child of this station, and append which must not be
a child of this station. |
protected ButtonPane |
createButtonPane()
Creates the panel which will show buttons for the children of this station. |
protected FlapWindow |
createFlapWindow(ButtonPane buttonPane)
Creates a window for this station. |
protected FlapDockStation.DockableHandle |
createHandle(Dockable dockable)
Creates a new wrapper around dockable , the wrapper is used as internal representation
of dockable . |
protected ListeningDockAction |
createHoldAction()
Creates a DockAction that is added to all children
of this station. |
protected DockComponentRootHandler |
createRootHandler()
Creates the DockComponentRootHandler which configures the Component s of this dockable. |
void |
drag(Dockable dockable)
Removes a child from this station. |
void |
drop(Dockable dockable)
Adds dockable to this station. |
boolean |
drop(Dockable dockable,
DockableProperty property)
Tries to add dockable to this station such that the location
given by property is matched. |
boolean |
drop(Dockable dockable,
FlapDockProperty property)
Adds the Dockable dockable to this station or
to a child of this station, according to the contents of
property . |
protected void |
fireHoldChanged(Dockable dockable,
boolean value)
Informs all registered FlapDockListeners
that the hold-property of a Dockable has been changed. |
int |
getBorderSideSnapSize()
Tells how far the layer outside the station streches. |
DockTitle |
getButton(int index)
Gets the title which is used as button for the index 'th dockable. |
DockTitleVersion |
getButtonVersion()
Gets the DockTitleVersion that is used to create titles
for the button-panel. |
StationCombinerValue |
getCombiner()
Gets the Combiner to merge Dockables |
Component |
getComponent()
Gets the Component which represents this Dockable . |
FlapLayoutManager |
getCurrentFlapLayoutManager()
Gets the currently used FlapLayoutManager . |
int |
getDefaultWindowSize()
Gets the default size of a new window. |
DockActionSource |
getDirectActionOffers(Dockable dockable)
Gets a list of actions which should be available for the user and affect the child dockable . |
FlapDockStation.Direction |
getDirection()
Gets the direction in which the popup-window is currently opened. |
DefaultDisplayerFactoryValue |
getDisplayerFactory()
Gets the factory to create new DockableDisplayer . |
DisplayerCollection |
getDisplayers()
Gets the set of displayers currently used on this station. |
Dockable |
getDockable(int index)
Gets the index'th child of this station. |
int |
getDockableCount()
Gets the number of children. |
DockableProperty |
getDockableProperty(Dockable dockable,
Dockable target)
Gets precise information about the location of a child of this station. |
Rectangle |
getExpansionBounds()
Gets the rectangle to which a flap-window will be attached. |
String |
getFactoryID()
Gets the unique name of the DockFactory which can read
and write elements of this type. |
FlapLayoutManager |
getFlapLayoutManager()
Gets the layout manager which was explicitly set by setFlapLayoutManager(FlapLayoutManager) . |
FlapWindow |
getFlapWindow()
Gets the window which is currently used by this station. |
Dockable |
getFrontDockable()
Gets the favorite child of this station. |
protected FlapDockStation.DockableHandle |
getHandle(Dockable dockable)
Gets the wrapper of dockable . |
DockStationDropLayer[] |
getLayers()
Gets a description of all the areas of the screen where this DockStation can handle a drop event.Everytime the mouse is moved or released during a drag & drop operation, this method is called for all DockStation s. |
Dimension |
getMinimumSize()
Gets the minimum size this station should have. |
DefaultStationPaintValue |
getPaint()
Gets the StationPaint to paint on this station. |
PlaceholderMapping |
getPlaceholderMapping()
Allows access to the placeholders that are stored on this station. |
PlaceholderMap |
getPlaceholders()
Gets a snapshot of all placeholders that are currently stored in this DockStation . |
PlaceholderMap |
getPlaceholders(Map<Dockable,Integer> children)
Gets the placeholders of this station using a PlaceholderListItemConverter to
encode the children of this station. |
PlaceholderStrategy |
getPlaceholderStrategy()
Gets the PlaceholderStrategy that is currently in use. |
DockTitleVersion |
getTitleVersion()
Gets the DockTitleVersion that is used to create titles
for the popup-window. |
int |
getWindowBorder()
Gets the size of the border of the popup-window, where the user can change the size of the window itself. |
int |
getWindowMinSize()
Gets the minimal size the popup-window can have. |
int |
getWindowSize(Dockable dockable)
Gets the current size of the popup-window |
int |
indexOf(Dockable dockable)
Gets the location of dockable in the button-panel. |
protected void |
init()
Initializes the fields of this station, hast to be called exactly once |
boolean |
isAutoDirection()
Tells whether this station can change the direction
itself, or if only the user can change the direction. |
boolean |
isFlapWindow(FlapWindow window)
Checks whether the currently used FlapWindow equals
window . |
boolean |
isHold(Dockable dockable)
Tells the hold =property of dockable . |
boolean |
isOverButtons(int x,
int y)
Tells whether the point x/y is over the buttons of this station. |
boolean |
isSmallButtons()
How the buttons are organized. |
boolean |
isVisible(Dockable dockable)
Tells whether the child dockable is visible or not. |
void |
move(Dockable dockable,
DockableProperty property)
Tries to move the child dockable in such a way, that
DockStation.getDockableProperty(Dockable, Dockable) would return a
DockableProperty that equals property .There is no need to give a guarantee that the move successes, and clients should always be prepared for the possibility that this DockStation
does nothing at all. |
protected DockTitle.Orientation |
orientation(FlapDockStation.Direction direction)
Determines the orientation of the DockTitles on this
station. |
StationDragOperation |
prepareDrag(Dockable dockable)
Informs this station that a drag and drop operation is in progress and that dockable might
be removed from this station. |
StationDropOperation |
prepareDrop(StationDropItem item)
Prepares this station to get the new child dockable or to move around the known child dockable . |
protected void |
recreateTitles()
Deletes all titles of the button pane and then recreates them. |
void |
remove(Dockable dockable)
Removes dockable from this station.Note: clients may need to invoke DockController.freezeLayout()
and DockController.meltLayout() to ensure noone else adds or
removes Dockable s. |
void |
remove(int index)
Removes the child with the given index from this station.Note: clients may need to invoke DockController.freezeLayout()
and DockController.meltLayout() to ensure noone else adds or
removes Dockable s. |
void |
removeFlapDockStationListener(FlapDockListener listener)
Removes an earlier added listener from this station. |
void |
replace(Dockable child,
Dockable append)
Replaces the child old by next which is
not yet a child of this station. |
void |
replace(DockStation old,
Dockable next)
Replaces the child old by next which is
not yet a child of this station. |
void |
selfSetDirection()
Calculates the best direction
for the popup-window of this station. |
void |
setAutoDirection(boolean autoDirection)
Tells this station whether it can choose the direction
of the popup-window itself, or if the direction remains always the
same. |
void |
setBorderSideSnapSize(int borderSideSnapSize)
Sets the size of the outside layer. |
void |
setController(DockController controller)
Sets the controller in whose realm this Dockable is. |
void |
setDefaultWindowSize(int defaultWindowSize)
Sets the default size a window should have. |
void |
setDirection(FlapDockStation.Direction direction)
Sets the direction in which the popup-window points. |
void |
setDockParent(DockStation station)
Sets the parent property. |
void |
setFlapLayoutManager(FlapLayoutManager manager)
Sets the layout manager which should be used by this station. |
void |
setFrontDockable(Dockable dockable)
Sets the most important child. |
void |
setHold(Dockable dockable,
boolean hold)
Tells whether the station should close the popup when the Dockable looses the focus, or if the popup should
remain open until the user closes the popup. |
void |
setMinimumSize(Dimension size)
Sets the minimum size this station should have. |
void |
setPlaceholders(PlaceholderMap placeholders)
Sets an earlier snapshot of the placeholders of this station. |
void |
setPlaceholders(PlaceholderMap map,
Map<Integer,Dockable> children)
Sets a new layout on this station, this method assumes that map was created
using getPlaceholders(Map) . |
void |
setPlaceholderStrategy(PlaceholderStrategy strategy)
Sets the PlaceholderStrategy to use, null will set
the default strategy. |
void |
setSmallButtons(boolean smallButtons)
Sets how the buttons are layout. |
void |
setWindowBorder(int windowBorder)
Sets the size of the draggable area on the popup-window, that is used to change the size of the window. |
void |
setWindowMinSize(int windowMinSize)
Sets the minimal size which the popup-window can have. |
void |
setWindowSize(Dockable dockable,
int size)
Sets the size of the popup-window for dockable . |
void |
updateHold(Dockable dockable)
Updates the hold property of dockable . |
protected void |
updateWindowBounds()
Recalculates the size and the location of the popup-window, if there is a window. |
void |
updateWindowSize(Dockable dockable)
Updates the size of the window if dockable is currently
shown. |
Methods inherited from class bibliothek.gui.dock.station.AbstractDockableStation |
---|
accept, acceptable, acceptable, addDockStationListener, asDockStation, createTitleIcon, delegate, fireDockablesRepositioned, fireDockablesRepositioned, getIndirectActionOffers, getTheme, isChildShowing, isStationShowing, isStationVisible, removeDockStationListener, requestChildDisplayer, requestChildDockTitle, updateTheme |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface bibliothek.gui.DockStation |
---|
getController |
Methods inherited from interface bibliothek.gui.dock.DockElement |
---|
asDockable |
Methods inherited from interface bibliothek.gui.dock.component.DockComponentRoot |
---|
getComponentConfiguration, setComponentConfiguration |
Field Detail |
---|
public static final String WINDOW_TITLE_ID
DockTitleVersion
from the
DockController
which owns this station. The titles that are
created for this version are used on the popup-window.
public static final String BUTTON_TITLE_ID
DockTitleVersion
from the
DockController
which owns this station. The titles that are
created for this version are used as buttons on this station.
public static final String DISPLAYER_ID
Extension
s which load additional DisplayerFactory
s.
public static final PropertyKey<FlapLayoutManager> LAYOUT_MANAGER
FlapLayoutManager
that is used by all FlapDockStation
s.
public static final PropertyKey<ButtonContent> BUTTON_CONTENT
DockTheme
s, tells the theme what content on the buttons
should be visible. Note that some themes might ignore that setting. Changing this property will call
recreateTitles()
, meaning all DockTitle
s are removed and recreated.
public static final PropertyKey<ButtonContentFilter> BUTTON_CONTENT_FILTER
BUTTON_CONTENT
, adds additional information to the ButtonContent
.
public static final PropertyKey<Dimension> MINIMUM_SIZE
FlapDockStation
s.
public static final PropertyKey<FlapWindowFactory> WINDOW_FACTORY
Constructor Detail |
---|
public FlapDockStation()
FlapDockStation
protected FlapDockStation(boolean init)
FlapDockStation
.
init
- true
if the fields of this station should
be initialized, false
otherwise. If false
, then
init()
must be called by a subclass.Method Detail |
---|
protected void init()
protected ButtonPane createButtonPane()
protected ListeningDockAction createHoldAction()
DockAction
that is added to all children
of this station. The action should change the hold
state of the associated Dockable
, this can be done
through the method setHold(Dockable, boolean)
.
null
if no action should
be added to the childrenprotected DockComponentRootHandler createRootHandler()
AbstractDockable
DockComponentRootHandler
which configures the Component
s of this dockable.
createRootHandler
in class AbstractDockable
null
public void setDockParent(DockStation station)
Dockable
station
.DockHierarchyEvent
.DockHierarchyObserver
, invoke
DockHierarchyObserver.update()
after the
property has changed, it will automatically fire a DockHierarchyEvent
if necessary.
setDockParent
in interface Dockable
setDockParent
in class AbstractDockable
station
- the parent, may be null
if this Dockable
is not visible at all.public void setController(DockController controller)
Dockable
null
means that this Dockable
is not managed by a controller.DockHierarchyListener
s about the change.DockHierarchyObserver
, invoke
DockHierarchyObserver.controllerChanged(DockController)
setController
in interface Dockable
setController
in interface DockStation
setController
in class AbstractDockable
controller
- the owner, may be null
protected void callDockUiUpdateTheme() throws IOException
AbstractDockableStation
DockUI
.DockUI.updateTheme(DockStation, DockFactory)
with this
as the first argument, and an appropriate factory
as the second argument.
callDockUiUpdateTheme
in class AbstractDockableStation
IOException
- if the DockUI throws an exceptionpublic FlapDockStation.Direction getDirection()
public void setDirection(FlapDockStation.Direction direction)
autoDirection
is set to true
.
direction
- The direction of the popup-windowprotected DockTitle.Orientation orientation(FlapDockStation.Direction direction)
DockTitles
on this
station.
direction
- the direction in which the flap opens
protected void updateWindowBounds()
public Dimension getMinimumSize()
null
public void setMinimumSize(Dimension size)
null
is valid and will let this station use the property MINIMUM_SIZE
.
size
- the new minimum size or null
public DefaultDisplayerFactoryValue getDisplayerFactory()
DockableDisplayer
.
public DisplayerCollection getDisplayers()
public StationCombinerValue getCombiner()
Combiner
to merge Dockables
public DefaultStationPaintValue getPaint()
StationPaint
to paint on this station.
public Rectangle getExpansionBounds()
public boolean isAutoDirection()
direction
itself, or if only the user can change the direction.
true
if the station chooses the direction itselfsetAutoDirection(boolean)
public void setAutoDirection(boolean autoDirection)
direction
of the popup-window itself, or if the direction remains always the
same.
autoDirection
- true
if the station can choose the
direction itself, false
otherwisepublic void selfSetDirection()
direction
for the popup-window of this station.
public Dockable getFrontDockable()
DockStation
null
indicates that there are no children
at all, or that there is no favorite child (all children are equal important).DockController.setFocusedDockable(Dockable, boolean)
which will then call DockStation.setFrontDockable(Dockable)
. Note that the
DockController itself listens to the DockTitles, and maybe the station
doesn't need a logic to decide which child is important.
null
public void setFrontDockable(Dockable dockable)
DockStation
DockStation.getFrontDockable()
how stations can change
this property.
dockable
- the new favorite child, can be null
DockStation.getFrontDockable()
protected FlapWindow createFlapWindow(ButtonPane buttonPane)
buttonPane
- the panel needed to calculate the size of the window
null
if no window could be createdpublic boolean isHold(Dockable dockable)
hold
=property of dockable
.
dockable
- the Dockable
whose property is asked
setHold(Dockable, boolean)
public void setHold(Dockable dockable, boolean hold)
Dockable
looses the focus, or if the popup should
remain open until the user closes the popup. The value is forwarded
to the layout manager
of this station, the
layout manager can then decide if and how it would like to react.
dockable
- the Dockable
whose settings should changehold
- true
if the popup should remain open,
false
if it should closepublic void updateHold(Dockable dockable)
dockable
.
The new value is provided by the layout manager
.
dockable
- the element whose property is updatedpublic boolean isSmallButtons()
true
if the buttons are layout in a way that
needs not much space.setSmallButtons(boolean)
public void setSmallButtons(boolean smallButtons)
true
, then the buttons
have their preferred size. If false
the buttons take
all available space of this station.
smallButtons
- true
if the buttons should be smallpublic DockTitleVersion getTitleVersion()
DockTitleVersion
that is used to create titles
for the popup-window.
null
public DockTitleVersion getButtonVersion()
DockTitleVersion
that is used to create titles
for the button-panel.
null
public int getWindowBorder()
setWindowBorder(int)
public void setWindowBorder(int windowBorder)
windowBorder
- the border, at least 0public int getWindowMinSize()
setWindowMinSize(int)
public void setWindowMinSize(int windowMinSize)
windowMinSize
- the minimal sizepublic int getWindowSize(Dockable dockable)
dockable
- the element for which the size should be returned
public void setWindowSize(Dockable dockable, int size)
dockable
. The
value will be forwarded to the layout manager
of this station, the layout manager can decide if and how the new size
is to be stored.
dockable
- the element for which the size should be setsize
- the size, at least 0public void updateWindowSize(Dockable dockable)
dockable
is currently
shown. The new size is provided by the layout manager
.
dockable
- the element whose size should be updatedpublic void setDefaultWindowSize(int defaultWindowSize)
layout manager
.
defaultWindowSize
- the default size of windowspublic int getDefaultWindowSize()
public void setFlapLayoutManager(FlapLayoutManager manager)
LAYOUT_MANAGER
.
manager
- the manager or null
when a default
manager should be usedpublic FlapLayoutManager getFlapLayoutManager()
setFlapLayoutManager(FlapLayoutManager)
.
null
public FlapLayoutManager getCurrentFlapLayoutManager()
FlapLayoutManager
.
public PlaceholderStrategy getPlaceholderStrategy()
PlaceholderStrategy
that is currently in use.
null
public void setPlaceholderStrategy(PlaceholderStrategy strategy)
PlaceholderStrategy
to use, null
will set
the default strategy.
strategy
- the new strategy, can be null
public void addFlapDockStationListener(FlapDockListener listener)
listener
- the new listenerpublic void removeFlapDockStationListener(FlapDockListener listener)
listener
- the listener to removeprotected void fireHoldChanged(Dockable dockable, boolean value)
FlapDockListeners
that the hold-property of a Dockable
has been changed.
dockable
- the Dockable
whose property is changedvalue
- the new value of the propertypublic DockActionSource getDirectActionOffers(Dockable dockable)
DockStation
dockable
.
getDirectActionOffers
in interface DockStation
getDirectActionOffers
in class AbstractDockableStation
dockable
- a child of this station
dockable
, can be null
public void changed(Dockable dockable, DockTitle title, boolean active)
DockStation
DockController
of this station to indicate that
the active-state of title
has been changed. This station
should call the method title.changed
with an appropriate event. The station may add some additional information
to this call.
changed
in interface DockStation
changed
in class AbstractDockableStation
dockable
- the child whose title is changedtitle
- the changed title, may not be boundactive
- the new state of the titlepublic boolean isFlapWindow(FlapWindow window)
FlapWindow
equals
window
.
window
- a window
true
if window
is currently used
by this stationpublic FlapWindow getFlapWindow()
null
public PlaceholderMap getPlaceholders()
DockStation
DockStation
.
A DockStation
is free in the format it chooses to fill the map. The map is to be
created with the assumptions that DockStation.getDockableCount()
is 0
, meaning
any existing Dockable
gets replaced by its placeholder. The current
PlaceholderStrategy
should be used to convert Dockable
s to placeholders.DockStation.getPlaceholderMapping()
.
null
if this station does not support
placeholderspublic PlaceholderMapping getPlaceholderMapping()
DockStation
PlaceholderMapping
to add or remove
placeholders from the station.
public void setPlaceholders(PlaceholderMap placeholders)
DockStation
DockStation.getDockableCount()
is 0
).placeholders
.
placeholders
- some set of placeholderspublic PlaceholderMap getPlaceholders(Map<Dockable,Integer> children)
PlaceholderListItemConverter
to
encode the children of this station. To be exact, the converter puts the following
parameters for each Dockable
into the map:
children
isHold(Dockable)
getWindowSize(Dockable)
children
- a unique identifier for each child of this station
public void setPlaceholders(PlaceholderMap map, Map<Integer,Dockable> children)
map
was created
using getPlaceholders(Map)
.
map
- the map to readchildren
- the new children of this stations
IllegalStateException
- if there are children left on this stationpublic DockStationDropLayer[] getLayers()
DockStation
DockStation
can handle a drop event.DockStation
s. The returned DockStationDropLayer
s are then filtered and ordered, the resulting
order defines the order in which the method DockStation.prepareDrop(StationDropItem)
is called.
getLayers
in interface DockStation
getLayers
in class AbstractDockableStation
null
, must not contain null
,
must not contain the same entry twice. The array or the DockStationDropLayer
s may be modified,
hence this method should always create new objects.public void setBorderSideSnapSize(int borderSideSnapSize)
borderSideSnapSize
, then this station may still be the target of a drag and
drop operation.
borderSideSnapSize
- the size in pixelspublic int getBorderSideSnapSize()
setBorderSideSnapSize(int)
public StationDragOperation prepareDrag(Dockable dockable)
DockStation
dockable
might
be removed from this station.
dockable
- the child that might be removed in the near future
null
public StationDropOperation prepareDrop(StationDropItem item)
DockStation
dockable
or to move around the known child dockable
.
The station can refuse dockable
, in this case this method just returns null
.
There are some constraints:
DockStation.accept(Dockable)
and Dockable.accept(DockStation)
or Dockable.accept(DockStation, Dockable)
to ensure that the desired
drop-location is valid.DockAcceptance
of its controller
(see DockController.getAcceptance()
) to ensure that the drop/location is valid.
item
- information about the dockable that is going to be dropped
Dockable
can be dropped or null
if
no drop operation is possiblepublic void drop(Dockable dockable)
DockStation
dockable
to this station. The station can decide
by its own where to put dockable
.
dockable
- a new childpublic boolean drop(Dockable dockable, DockableProperty property)
DockStation
dockable
to this station such that the location
given by property
is matched. If property
has a successor
and points to
another station, just call the drop
-method of this
child-station. Note that property
can be of any type and
contain invalid information.
dockable
- the new childproperty
- the location of the child, may be invalid data
true
if property
could be read
and dockable
was dropped, false
otherwise.public boolean drop(Dockable dockable, FlapDockProperty property)
Dockable
dockable
to this station or
to a child of this station, according to the contents of
property
.
dockable
- the new childproperty
- the location of the new child
true
if the new child could be added,
false
if the child has been rejectedpublic DockableProperty getDockableProperty(Dockable dockable, Dockable target)
DockStation
DockStation.drop(Dockable, DockableProperty)
.
dockable
- a child of this station, this childs location is askedtarget
- an optional hint telling for which dockable the location information
will be used, can be null
. This hint can be used to find a placeholder
that should be part of the result.
DockUtilities.getPropertyChain(DockStation, Dockable)
public void aside(AsideRequest request)
DockStation
DockStation
to find a DockableProperty
that is "aside" another
property. What exactly the meaning of "aside" is, is left to the implementation. Usually
"aside" means on the same "stack" but with the next higher index.request
object contains information about the location whose neighbor is
searched, about a placeholder that should be used for the new location, and offers methods
to forward the call to the next DockStation
or Combiner
if there is a
successor
.answer
methods of request
with every
kind of information it finds.request
, then it just has to return without calling
any of the answer
methods.
request
- information about a location and methods to create the neighbor locationCombiner.aside(AsideRequest)
public void move(Dockable dockable, DockableProperty property)
DockStation
dockable
in such a way, that
DockStation.getDockableProperty(Dockable, Dockable)
would return a
DockableProperty
that equals property
.DockStation
does nothing at all.
dockable
- a child of this stationproperty
- the preferred position of dockable
public boolean isOverButtons(int x, int y)
x/y
is over the buttons of this station.
x
- the x-coordinate on the screeny
- the y-coordinate on the screen
true
if the point x/y
is over the buttonspublic boolean canDrag(Dockable dockable)
DockStation
dockable
can be removed from this station or not.
This method assumes that dockable
is a child of
this station, if not, then the behavior of this method is unspecified.
dockable
- a child of this station
true
if dockable
can be draggedpublic void drag(Dockable dockable)
DockStation
DockStation.canDrag(Dockable)
returned false
.DockController.freezeLayout()
and DockController.meltLayout()
to ensure noone else adds or
removes Dockable
s.
dockable
- the child to removepublic String getFactoryID()
DockElement
DockFactory
which can read
and write elements of this type.
public Component getComponent()
Dockable
Component
which represents this Dockable
. Note that
the component should be a focus cycle root
public int getDockableCount()
DockStation
public Dockable getDockable(int index)
DockStation
index
- a value between 0 (incl.) and DockStation.getDockableCount()
(excl.).
public DockTitle getButton(int index)
index
'th dockable.
Clients should not modify the result of this method.
index
- the index of a Dockable
null
public boolean isVisible(Dockable dockable)
DockStation
dockable
is visible or not. Visible
means that the component
of dockable
can be seen by the user. The result must be false
if
this station is not visible.
isVisible
in interface DockStation
isVisible
in class AbstractDockableStation
dockable
- the child whose visibility-state is questioned
dockable
is visible or notDockStation.isStationVisible()
protected void recreateTitles()
public void remove(Dockable dockable)
dockable
from this station.DockController.freezeLayout()
and DockController.meltLayout()
to ensure noone else adds or
removes Dockable
s.
dockable
- the child to removepublic void remove(int index)
index
from this station.DockController.freezeLayout()
and DockController.meltLayout()
to ensure noone else adds or
removes Dockable
s.
index
- the index of the child that will be removedpublic void add(Dockable dockable)
dockable
as new child to this station. The child
is added at the end of all children.
dockable
- the new childpublic void add(Dockable dockable, int index)
dockable
as new child in the list of
children.
dockable
- the new childindex
- the location in the button-panel of the childprotected FlapDockStation.DockableHandle createHandle(Dockable dockable)
dockable
, the wrapper is used as internal representation
of dockable
.
dockable
- the element for which a new wrapper is created
null
protected FlapDockStation.DockableHandle getHandle(Dockable dockable)
dockable
.
dockable
- a child of this station
null
if not yet created or if
dockable
is not a child of this stationpublic boolean combine(Dockable child, Dockable append)
child
, which must be a
child of this station, and append
which must not be
a child of this station.
child
- a child of this stationappend
- a Dockable
that is not a child of this station
true
if the combination was successful,
false
otherwise (the child
will remain
on this station)public boolean combine(Dockable child, Dockable append, DockableProperty property)
child
, which must be a
child of this station, and append
which must not be
a child of this station.
child
- a child of this stationappend
- a Dockable
that is not a child of this stationproperty
- location information associated with append
true
if the combination was successful,
false
otherwise (the child
will remain
on this station)public boolean canReplace(Dockable old, Dockable next)
DockStation
old
with next
where next is not a child of this station.
old
- a child of this stationnext
- the replacement of next
.
true
if the replacement is possiblepublic void replace(DockStation old, Dockable next)
DockStation
old
by next
which is
not yet a child of this station. This method should not be
called if canReplace
returned
false
. This method can assume that next
was
a child of old
but no longer is.
old
- a dockable station that is a child of this stationnext
- the replacement of old
public void replace(Dockable child, Dockable append)
DockStation
old
by next
which is
not yet a child of this station. This method should not be
called if canReplace
returned
false
.
child
- a childappend
- the replacement of old
public int indexOf(Dockable dockable)
dockable
in the button-panel.
dockable
- the Dockable
to search
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |