@FrameworkOnly public class SplitPlaceholderSet extends java.lang.Object
Dockable
s of a SplitDockStation
and makes sure that a placeholder is used by no more than one SplitNode
.Constructor and Description |
---|
SplitPlaceholderSet(SplitDockAccess access)
Creates a new set.
|
Modifier and Type | Method and Description |
---|---|
void |
removeDoublePlaceholders(SplitNode node,
PlaceholderMap map)
Removes any placeholder from
placeholderMap that is stored in another node
than node . |
void |
set(SplitNode node,
Dockable dockable,
SplitNode... protectedNodes)
Ensures that
node is associated with the placeholder for dockable . |
void |
set(SplitNode node,
Path placeholder,
SplitNode... protectedNodes)
Ensures that
node is associated with placeholder
but no other node has placeholder . |
public SplitPlaceholderSet(SplitDockAccess access)
access
- Access to the owner of this set, not null
public void set(SplitNode node, Dockable dockable, SplitNode... protectedNodes)
node
is associated with the placeholder for dockable
.node
- the owner of dockable
, can be null
to indicate
that no-one must use the placeholder of dockable
dockable
- the item whose placeholder is updatedprotectedNodes
- nodes that will not be removed even if they are no longer useful
public void set(SplitNode node, Path placeholder, SplitNode... protectedNodes)
node
is associated with placeholder
but no other node has placeholder
.node
- the node which must have placeholder
, null
to
indicate that no-one must use placeholder
placeholder
- the placeholder to set or to moveprotectedNodes
- nodes that will not be removed even if they are no longer useful
public void removeDoublePlaceholders(SplitNode node, PlaceholderMap map)
placeholderMap
that is stored in another node
than node
.node
- the node which must not be searched, can be null
map
- the map from which placeholders will be removed