public class FXDefaultHandlePartFactory extends java.lang.Object implements IHandlePartFactory<javafx.scene.Node>
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
HOVER_HANDLES_GEOMETRY_PROVIDER |
static java.lang.String |
SELECTION_HANDLES_GEOMETRY_PROVIDER |
| Constructor and Description |
|---|
FXDefaultHandlePartFactory() |
| Modifier and Type | Method and Description |
|---|---|
protected IHandlePart<javafx.scene.Node,? extends javafx.scene.Node> |
createBoundsSelectionCornerHandlePart(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets,
java.util.Map<java.lang.Object,java.lang.Object> contextMap,
com.google.inject.Provider<BezierCurve[]> segmentsProvider,
int segmentIndex,
double segmentParameter)
Creates an
FXRectangleSegmentHandlePart for one corner of the
bounds of a multi selection. |
protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> |
createBoundsSelectionHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets,
com.google.inject.Provider<? extends IGeometry> handleGeometryProvider,
java.util.Map<java.lang.Object,java.lang.Object> contextMap) |
protected IHandlePart<javafx.scene.Node,? extends javafx.scene.Node> |
createCurveSelectionHandlePart(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> targetPart,
com.google.inject.Provider<BezierCurve[]> segmentsProvider,
int segmentCount,
int segmentIndex,
double segmentParameter)
Creates an
IHandlePart for the specified segment vertex of the
IGeometry provided by the given handleGeometryProvider. |
protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> |
createCurveSelectionHandleParts(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> targetPart,
com.google.inject.Provider<BezierCurve[]> segmentsProvider,
java.util.Map<java.lang.Object,java.lang.Object> contextMap)
Generate handles for the end/join points of the individual beziers.
|
java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> |
createHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets,
IBehavior<javafx.scene.Node> contextBehavior,
java.util.Map<java.lang.Object,java.lang.Object> contextMap)
Creates specific
IHandleParts for the given targets. |
protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> |
createHoverHandleParts(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> target,
HoverBehavior<javafx.scene.Node> contextBehavior,
java.util.Map<java.lang.Object,java.lang.Object> contextMap) |
protected IHandlePart<javafx.scene.Node,? extends javafx.scene.Node> |
createHoverSegmentHandlePart(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> target,
com.google.inject.Provider<BezierCurve[]> hoverHandlesSegmentsInSceneProvider,
int segmentCount,
int segmentIndex,
java.util.Map<java.lang.Object,java.lang.Object> contextMap) |
protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> |
createMultiSelectionHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets,
java.util.Map<java.lang.Object,java.lang.Object> contextMap) |
protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> |
createSelectionHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets,
SelectionBehavior<javafx.scene.Node> selectionBehavior,
java.util.Map<java.lang.Object,java.lang.Object> contextMap) |
protected IHandlePart<javafx.scene.Node,? extends javafx.scene.Node> |
createSelectionSegmentHandlePart(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> target,
com.google.inject.Provider<BezierCurve[]> segmentsProvider,
int segmentCount,
int segmentIndex,
java.util.Map<java.lang.Object,java.lang.Object> contextMap)
Creates an
IHandlePart for the specified vertex of the
IGeometry provided by the given handleGeometryProvider. |
protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> |
createSingleSelectionHandleParts(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> target,
java.util.Map<java.lang.Object,java.lang.Object> contextMap) |
protected java.util.Collection<? extends IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> |
createTightBoundsSelectionHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targetParts,
com.google.inject.Provider<BezierCurve[]> segmentsProvider,
java.util.Map<java.lang.Object,java.lang.Object> contextMap) |
public static final java.lang.String SELECTION_HANDLES_GEOMETRY_PROVIDER
public static final java.lang.String HOVER_HANDLES_GEOMETRY_PROVIDER
protected IHandlePart<javafx.scene.Node,? extends javafx.scene.Node> createBoundsSelectionCornerHandlePart(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets, java.util.Map<java.lang.Object,java.lang.Object> contextMap, com.google.inject.Provider<BezierCurve[]> segmentsProvider, int segmentIndex, double segmentParameter)
FXRectangleSegmentHandlePart for one corner of the
bounds of a multi selection. The selection bounds geometry can be
obtained from the given provider as a poly-bezier, i.e. an array of
BezierCurves. The position of the handle part to create is
represented via segment index and parameter, where the index refers to
the respective BezierCurve segment, and the parameter (0 = start,
0.5 = mid, 1 = end) to the relative position w.r.t. to the indexed
segment.targets - The selected IVisualParts that form the multi
selection, for which feedback handles are to be created.contextMap - May contain additional information needed for the creation or
to identify the creation context, when querying back such
information from the context IBehavior that initiated
the creation.segmentsProvider - A provider that delivers the selection geometry as a
poly-bezier, represented as an array of BezierCurves.segmentIndex - The index of the poly-bezier segment at which the handle is to
be placed.segmentParameter - The parameter that identifies the position within the segment
(0 = start, 0.5 = mid, 1 = end).IHandlePart for the specified corner of the bounds of
the multi selectionprotected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> createBoundsSelectionHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets, com.google.inject.Provider<? extends IGeometry> handleGeometryProvider, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
protected IHandlePart<javafx.scene.Node,? extends javafx.scene.Node> createCurveSelectionHandlePart(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> targetPart, com.google.inject.Provider<BezierCurve[]> segmentsProvider, int segmentCount, int segmentIndex, double segmentParameter)
IHandlePart for the specified segment vertex of the
IGeometry provided by the given handleGeometryProvider.targetPart - The IVisualPart which is selected.segmentsProvider - Provides BezierCurves from which the handle part can
retrieve its location.segmentCount - The number of segments that existsegmentIndex - Index of the segment of the provided BezierCurves
where the handle part will be located.segmentParameter - Parameter between 0 and 1 that specifies the location on the
segment.IHandlePart for the specified segment vertex of the
provided BezierCurvesprotected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> createCurveSelectionHandleParts(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> targetPart, com.google.inject.Provider<BezierCurve[]> segmentsProvider, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
targetPart - The IVisualPart which is selected.segmentsProvider - Provides an IGeometry for which IHandleParts
are to be created.contextMap - Stores context information as an IBehavior is
stateless.IHandleParts for the given target part.public java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> createHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets, IBehavior<javafx.scene.Node> contextBehavior, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
IHandlePartFactoryIHandleParts for the given targets. As
additional information might be needed by the IHandlePartFactory
to identify the creation context, the initiating contextBehavior
is expected to pass in a reference to itself as well as a
contextMap.
The contextMap may either directly contain the additional information needed by the factory, or it may be used as a reference to identify the creation context, in case the factory needs to query back the initiating contextBehavior for such information.
This mechanism is needed because all IBehaviors are expected to
be stateless, so only the information within the contextMap will
allow the contextBehavior to identify the respective creation
context. A contract between a (concrete) IBehavior and a
(concrete) IHandlePartFactory that is based on such a query may
be realized as follows:
List createHandleParts(List targets, IBehavior contextBehavior,
Map<Object, Object> contextMap) {
if (contextBehavior instanceof ConcreteBehavior) {
SomeAdditionalInformation i = ((ConcreteBehavior) contextBehavior)
.giveSomeAdditionalInformation(contextMap);
...
}
}
createHandleParts in interface IHandlePartFactory<javafx.scene.Node>targets - The target IVisualParts for which handles are to be
created.contextBehavior - The context IBehavior which initiates the creation of
feedback.contextMap - A map in which the state-less context IBehavior) may
place additional context information for the creation process.
It may either directly contain additional information needed
by the IHandlePartFactory, or may be passed back by
the IHandlePartFactory to the calling context
IBehavior to query such kind of information (in which
case it will allow the context IBehavior to identify
the creation context).IHandleParts that can be used to manipulate the
given targets.protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> createHoverHandleParts(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> target, HoverBehavior<javafx.scene.Node> contextBehavior, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
protected IHandlePart<javafx.scene.Node,? extends javafx.scene.Node> createHoverSegmentHandlePart(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> target, com.google.inject.Provider<BezierCurve[]> hoverHandlesSegmentsInSceneProvider, int segmentCount, int segmentIndex, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> createMultiSelectionHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
protected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> createSelectionHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targets, SelectionBehavior<javafx.scene.Node> selectionBehavior, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
protected IHandlePart<javafx.scene.Node,? extends javafx.scene.Node> createSelectionSegmentHandlePart(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> target, com.google.inject.Provider<BezierCurve[]> segmentsProvider, int segmentCount, int segmentIndex, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
IHandlePart for the specified vertex of the
IGeometry provided by the given handleGeometryProvider.target - IVisualPart for which a selection handle is created.segmentsProvider - Provides the BezierCurves from which the handle can
retrieve its location.segmentCount - Number of segments.segmentIndex - Index of the segment where the handle is located.contextMap - Stores context information as an IBehavior is
stateless.IHandlePart for the specified vertex of the
IGeometry provided by the handleGeometryProviderprotected java.util.List<IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> createSingleSelectionHandleParts(IVisualPart<javafx.scene.Node,? extends javafx.scene.Node> target, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
protected java.util.Collection<? extends IHandlePart<javafx.scene.Node,? extends javafx.scene.Node>> createTightBoundsSelectionHandleParts(java.util.List<? extends IVisualPart<javafx.scene.Node,? extends javafx.scene.Node>> targetParts, com.google.inject.Provider<BezierCurve[]> segmentsProvider, java.util.Map<java.lang.Object,java.lang.Object> contextMap)
Copyright (c) 2014 itemis AG and others. All rights reserved.