public class SplitSpanStrategy extends Object
Span
s of a SplitDockStation
.Constructor and Description |
---|
SplitSpanStrategy(SplitDockStation station)
Creates a new strategy
|
Modifier and Type | Method and Description |
---|---|
Span[] |
createSpans(SpanSplitNode node)
Creates four
Span s, one for each side of leaf . |
StationSpanFactoryValue |
getFactory()
Gets the factory which is responsible for creating new
Span s. |
Span[] |
getSpans(PutInfo put)
Gets the
Span s that are used when put is active. |
Rectangle |
modifyBounds(Rectangle bounds,
SpanSplitNode node)
|
int |
putToPosition(PutInfo.Put put)
Tells the index of the
Span at side put . |
void |
setController(DockController controller)
Sets the
DockController which is used by the SplitDockStation . |
void |
setPut(PutInfo info)
Mutates the
Span s such that info shows up. |
void |
unsetPut()
Immediatelly resets all
Span s to have a size of 0 . |
public SplitSpanStrategy(SplitDockStation station)
station
- the owner of this strategy, not null
public void setPut(PutInfo info)
Span
s such that info
shows up.info
- the current drop information or null
public int putToPosition(PutInfo.Put put)
Span
at side put
.put
- one of the non-combining putsIllegalArgumentException
- if put
does not desribe one
of the sides of a SplitNode
public Span[] getSpans(PutInfo put)
Span
s that are used when put
is active.put
- the drag and drop operation which may be activeSpan
s that would expand if put
is active, can be null
public void unsetPut()
Span
s to have a size of 0
.public StationSpanFactoryValue getFactory()
Span
s.public void setController(DockController controller)
DockController
which is used by the SplitDockStation
.controller
- the controller in whose realm this strategy workspublic Span[] createSpans(SpanSplitNode node)
Span
s, one for each side of leaf
.public Rectangle modifyBounds(Rectangle bounds, SpanSplitNode node)
bounds
- the boundaries to shrinknode
- the node to evaluate