public static interface PolylineRingHandlesProvider.IHandleFactory
It allows you to
Additional handles can not be added using this factory. The way to do this is to wrap the IEditHandles
provided by PolylineRingHandlesProvider
, and to insert additional handles in the IEditHandles#getList
method.
Modifier and Type | Method and Description |
---|---|
IEditHandle |
createInsertPointHandle(Observable<PolylineRing> polylineRing,
long insertIndex,
IPointEditAction editAction,
FeatureEditContext context)
Creates a handle that allows you to insert a new point in a
PolylineRing . |
IEditHandle |
createMovePointHandle(Observable<PolylineRing> polylineRing,
long pointIndex,
IPointEditAction editAction,
FeatureEditContext context)
Creates a handle that allows you to move a point of the
PolylineRing . |
IEditHandle |
createRemovePointHandle(Observable<PolylineRing> polylineRing,
long pointIndex,
IPointEditAction editAction,
FeatureEditContext context)
Creates a handle that allows you to remove a point of the
PolylineRing . |
boolean |
isInsertPointHandleValid(IEditHandle insertPointHandle,
Observable<PolylineRing> polylineRing,
long insertIndex,
FeatureEditContext context)
Returns true if the given handle is still valid, or false if it should be removed.
|
boolean |
isMovePointHandleValid(IEditHandle movePointHandle,
Observable<PolylineRing> polylineRing,
long pointIndex,
FeatureEditContext context)
Returns true if the given handle is still valid, or false if it should be removed.
|
boolean |
isRemovePointHandleValid(IEditHandle removePointHandle,
Observable<PolylineRing> polylineRing,
long pointIndex,
FeatureEditContext context)
Returns true if the given handle is still valid, or false if it should be removed.
|
@Nullable IEditHandle createMovePointHandle(@NotNull Observable<PolylineRing> polylineRing, long pointIndex, @NotNull IPointEditAction editAction, @NotNull FeatureEditContext context)
PolylineRing
.
While the handle is not already present, this method is called whenever the edited geometry changes.
polylineRing
- the Geometry
that is being editedpointIndex
- the index of the point to moveeditAction
- the move-point edit action, to be used by the handle. If a constraint
was configured on the handles provider, this action applies that constraint when it is executed, providing a PolylineChange
parameter with one moved point index
.context
- the contextnull
if no handle should be usedboolean isMovePointHandleValid(@NotNull IEditHandle movePointHandle, @NotNull Observable<PolylineRing> polylineRing, long pointIndex, @NotNull FeatureEditContext context)
This method is called whenever the edited geometry changes and allows the factory to dynamically disable or re-create specific edit handles. When this method returns false, the handle is removed and createMovePointHandle
is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return null
in that method.
movePointHandle
- the handlepolylineRing
- the Geometry
that is being editedpointIndex
- the index of the pointcontext
- the context@Nullable IEditHandle createRemovePointHandle(@NotNull Observable<PolylineRing> polylineRing, long pointIndex, @NotNull IPointEditAction editAction, @NotNull FeatureEditContext context)
PolylineRing
.
While the handle is not already present, this method is called whenever the edited geometry changes.
polylineRing
- the Geometry
that is being editedpointIndex
- the index of the point to removeeditAction
- the remove-point edit action, to be used by the handle. If a constraint
was configured on the handles provider, this action applies that constraint when it is executed, providing a PolylineChange
parameter with one removed point index
.context
- the contextnull
if no handle should be usedboolean isRemovePointHandleValid(@NotNull IEditHandle removePointHandle, @NotNull Observable<PolylineRing> polylineRing, long pointIndex, @NotNull FeatureEditContext context)
This method is called whenever the edited geometry changes and allows the factory to dynamically disable or re-create specific edit handles. When this method returns false, the handle is removed and createRemovePointHandle
is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return null
in that method.
removePointHandle
- the handlepolylineRing
- the Geometry
that is being editedpointIndex
- the index of the pointcontext
- the context@Nullable IEditHandle createInsertPointHandle(@NotNull Observable<PolylineRing> polylineRing, long insertIndex, @NotNull IPointEditAction editAction, @NotNull FeatureEditContext context)
PolylineRing
.
While the handle is not already present, this method is called whenever the edited geometry changes.
polylineRing
- the Geometry
that is being editedinsertIndex
- the index at which to insert a point in the Polyline
. After the point is inserted, the new point will have this index. Values are within [1, pointCount]
.editAction
- the edit action that inserts the point. If a constraint
was configured on the handles provider, this action applies that constraint when it is executed, providing a PolylineChange
parameter with one inserted point index
.context
- the contextnull
if no handle should be usedboolean isInsertPointHandleValid(@NotNull IEditHandle insertPointHandle, @NotNull Observable<PolylineRing> polylineRing, long insertIndex, @NotNull FeatureEditContext context)
This method is called whenever the edited geometry changes and allows the factory to dynamically disable or re-create specific edit handles. When this method returns false, the handle is removed and createInsertPointHandle
is called, in case the handle should immediately be re-created. If the handle should remain absent, make sure to also return null
in that method.
insertPointHandle
- the handlepolylineRing
- the Geometry
that is being editedinsertIndex
- the insertion indexcontext
- the context