public class FlapDockStation extends AbstractDockableStation
DockStation shows only a title for each of it's children.Dockable
which owns the clicked title is shown in this window.| Modifier and Type | Class and Description |
|---|---|
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. |
| Modifier and Type | Field and Description |
|---|---|
static PropertyKey<ButtonContent> |
BUTTON_CONTENT
Key for all
DockThemes, 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
Extensions which load additional DisplayerFactorys. |
static PropertyKey<FlapLayoutManager> |
LAYOUT_MANAGER
Key for the
FlapLayoutManager that is used by all FlapDockStations. |
static PropertyKey<Dimension> |
MINIMUM_SIZE
Key for the minimum size of all
FlapDockStations. |
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. |
listeners| Modifier | Constructor and Description |
|---|---|
|
FlapDockStation()
Default constructor of a
FlapDockStation |
protected |
FlapDockStation(boolean init)
Creates a new
FlapDockStation. |
| Modifier and Type | Method and Description |
|---|---|
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 Components 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 stretches.
|
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()
|
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.Every time the mouse is moved or released during a drag & drop operation, this method is called for all DockStations. |
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 no-one else adds or
removes Dockables. |
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 no-one else adds or
removes Dockables. |
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. |
accept, acceptable, acceptable, addDockStationListener, asDockStation, createTitleIcon, delegate, fireDockablesRepositioned, fireDockablesRepositioned, getIndirectActionOffers, getTheme, isChildShowing, isStationShowing, isStationVisible, removeDockStationListener, requestChildDisplayer, requestChildDockTitle, updateThemeaccept, accept, addDockableListener, addDockableStateListener, addDockHierarchyListener, addKeyListener, addMouseInputListener, asDockable, bind, configureDisplayerHints, fireTitleBound, fireTitleExchanged, fireTitleExchanged, fireTitleIconChanged, fireTitleTextChanged, fireTitleTooltipChanged, fireTitleUnbound, getComponentConfiguration, getConfigurableDisplayerHints, getController, getDockableStateListeners, getDockElementObserver, getDockParent, getElement, getGlobalActionOffers, getLocalActionOffers, getPopupLocation, getRootHandler, getTitleIcon, getTitleIconHandling, getTitleText, getTitleToolTip, isDockableShowing, isDockableVisible, isUsedAsTitle, listBoundTitles, removeDockableListener, removeDockableStateListener, removeDockHierarchyListener, removeKeyListener, removeMouseInputListener, requestDisplayer, requestDockTitle, resetTitleIcon, setActionOffers, setComponentConfiguration, setTitleIcon, setTitleIconHandling, setTitleText, setTitleToolTip, shouldFocus, shouldTransfersFocus, unbindclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetControllerasDockablegetComponentConfiguration, setComponentConfigurationpublic 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
Extensions which load additional DisplayerFactorys.public static final PropertyKey<FlapLayoutManager> LAYOUT_MANAGER
FlapLayoutManager that is used by all FlapDockStations.public static final PropertyKey<ButtonContent> BUTTON_CONTENT
DockThemes, 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 DockTitles 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
FlapDockStations.public static final PropertyKey<FlapWindowFactory> WINDOW_FACTORY
public FlapDockStation()
FlapDockStationprotected 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.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()
AbstractDockableDockComponentRootHandler which configures the Components of this dockable.createRootHandler in class AbstractDockablenullpublic void setDockParent(DockStation station)
Dockablestation.DockHierarchyEvent.DockHierarchyObserver, invoke
DockHierarchyObserver.update() after the
property has changed, it will automatically fire a DockHierarchyEvent if necessary.setDockParent in interface DockablesetDockParent in class AbstractDockablestation - the parent, may be null if this Dockable is not visible at all.public void setController(DockController controller)
Dockablenull
means that this Dockable is not managed by a controller.DockHierarchyListeners about the change.DockHierarchyObserver, invoke
DockHierarchyObserver.controllerChanged(DockController)setController in interface DockablesetController in interface DockStationsetController in class AbstractDockablecontroller - the owner, may be nullprotected void callDockUiUpdateTheme()
throws IOException
AbstractDockableStationDockUI.DockUI.updateTheme(DockStation, DockFactory)
with this as the first argument, and an appropriate factory
as the second argument.callDockUiUpdateTheme in class AbstractDockableStationIOException - 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 opensprotected void updateWindowBounds()
public Dimension getMinimumSize()
nullpublic void setMinimumSize(Dimension size)
null
is valid and will let this station use the property MINIMUM_SIZE.size - the new minimum size or nullpublic DefaultDisplayerFactoryValue getDisplayerFactory()
DockableDisplayer.public DisplayerCollection getDisplayers()
public StationCombinerValue getCombiner()
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()
DockStationnull 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.nullpublic void setFrontDockable(Dockable dockable)
DockStationDockStation.getFrontDockable() how stations can change
this property.dockable - the new favorite child, can be nullDockStation.getFrontDockable()protected FlapWindow createFlapWindow(ButtonPane buttonPane)
buttonPane - the panel needed to calculate the size of the windownull if no window could be createdpublic boolean isHold(Dockable dockable)
hold=property of dockable.dockable - the Dockable whose property is askedsetHold(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.nullpublic DockTitleVersion getButtonVersion()
DockTitleVersion that is used to create titles
for the button-panel.nullpublic 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 returnedpublic 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).nullpublic FlapLayoutManager getCurrentFlapLayoutManager()
FlapLayoutManager.public PlaceholderStrategy getPlaceholderStrategy()
PlaceholderStrategy that is currently in use.nullpublic void setPlaceholderStrategy(PlaceholderStrategy strategy)
PlaceholderStrategy to use, null will set
the default strategy.strategy - the new strategy, can be nullpublic 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)
DockStationdockable.getDirectActionOffers in interface DockStationgetDirectActionOffers in class AbstractDockableStationdockable - a child of this stationdockable, can be nullpublic void changed(Dockable dockable, DockTitle title, boolean active)
DockStationDockController 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 DockStationchanged in class AbstractDockableStationdockable - 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 windowtrue if window is currently used
by this stationpublic FlapWindow getFlapWindow()
nullpublic PlaceholderMap getPlaceholders()
DockStationDockStation.
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 Dockables to placeholders.DockStation.getPlaceholderMapping().null if this station does not support
placeholderspublic PlaceholderMapping getPlaceholderMapping()
DockStationPlaceholderMapping to add or remove
placeholders from the station.public void setPlaceholders(PlaceholderMap placeholders)
DockStationDockStation.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:
childrenisHold(Dockable)getWindowSize(Dockable)children - a unique identifier for each child of this stationpublic void setPlaceholders(PlaceholderMap map, Map<Integer,Dockable> children)
map was created
using getPlaceholders(Map).map - the map to readchildren - the new children of this stationsIllegalStateException - if there are children left on this stationpublic DockStationDropLayer[] getLayers()
DockStationDockStation can handle a drop event.DockStations. The returned DockStationDropLayers are then filtered and ordered, the resulting
order defines the order in which the method DockStation.prepareDrop(StationDropItem) is called.getLayers in interface DockStationgetLayers in class AbstractDockableStationnull, must not contain null,
must not contain the same entry twice. The array or the DockStationDropLayers may be modified,
hence this method should always create new objects.DockStationDropLayerFactorypublic 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)
DockStationdockable might
be removed from this station.dockable - the child that might be removed in the near futurenullpublic StationDropOperation prepareDrop(StationDropItem item)
DockStationdockable 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 droppedDockable can be dropped or null if
no drop operation is possiblepublic void drop(Dockable dockable)
DockStationdockable to this station. The station can decide
by its own where to put dockable.dockable - a new childpublic boolean drop(Dockable dockable, DockableProperty property)
DockStationdockable 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 datatrue 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 childtrue if the new child could be added,
false if the child has been rejectedpublic DockableProperty getDockableProperty(Dockable dockable, Dockable target)
DockStationDockStation.drop(Dockable, DockableProperty).dockable - a child of this station, this child's 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)
DockStationDockStation 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)
DockStationdockable 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 dockablepublic 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 screentrue if the point x/y is over the buttonspublic boolean canDrag(Dockable dockable)
DockStationdockable 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 stationtrue if dockable can be draggedpublic void drag(Dockable dockable)
DockStationDockStation.canDrag(Dockable) returned false.DockController.freezeLayout()
and DockController.meltLayout() to ensure no-one else adds or
removes Dockables.dockable - the child to removepublic String getFactoryID()
DockElementDockFactory which can read
and write elements of this type.public Component getComponent()
DockableComponent which represents this Dockable. Note that
the component should be a focus cycle rootpublic int getDockableCount()
DockStationpublic Dockable getDockable(int index)
DockStationindex - 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 Dockablenullpublic boolean isVisible(Dockable dockable)
DockStationdockable 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 DockStationisVisible in class AbstractDockableStationdockable - the child whose visibility-state is questioneddockable is visible or notDockStation.isStationVisible()protected void recreateTitles()
public void remove(Dockable dockable)
dockable from this station.DockController.freezeLayout()
and DockController.meltLayout() to ensure no-one else adds or
removes Dockables.dockable - the child to removepublic void remove(int index)
index from this station.DockController.freezeLayout()
and DockController.meltLayout() to ensure no-one else adds or
removes Dockables.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 creatednullprotected FlapDockStation.DockableHandle getHandle(Dockable dockable)
dockable.dockable - a child of this stationnull 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 stationtrue 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 appendtrue if the combination was successful,
false otherwise (the child will remain
on this station)public boolean canReplace(Dockable old, Dockable next)
DockStationold
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)
DockStationold 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 oldpublic void replace(Dockable child, Dockable append)
DockStationold 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 oldCopyright © 2017 Docking Frames. All rights reserved.