Class InteractionConfiguration
VertexTool, FreehandTool, or
ShapeTool.
An InteractionConfiguration allows you to customize the interactive geometry editing experience to suit your specific users. For example:
- Disable vertex, mid-vertex, and part selection (
allowVertexCreationProperty(),allowMidVertexSelectionProperty(),allowPartCreationProperty()) to define a tool to only move the complete geometry. - Disable moving the selected element (
allowMovingSelectedElementProperty()) but allow all selections, and provide a tool for a user to enter new coordinates instead of moving interactively.
GeometryEditorElement to select the different types of
GeometryEditorElement representing vertices, parts, and the entire geometry. For example if all elements are
allowed to be selected:
- Tap twice on a vertex of a
Multipointto select first the vertex and then the entire multipoint geometry - Tap three times on a vertex of a
PolylineorPolygonto select first the vertex, then the part, and then the entire geometry - Tap twice on an edge of a
PolylineorPolygonto select first the part and then the entire geometry - Tap twice on a fill of a
Polygonto select first the part and then the entire geometry
InteractionConfiguration.allowMovingSelectedElementProperty(),
allowRotatingSelectedElementProperty(), and
allowScalingSelectedElementProperty(), visual handles are displayed to help the user move,
rotate, or scale the selected element.
You can change the interaction properties of a tool at any point, including when a geometry editor is started
(GeometryEditor.startedProperty() = true) and the tool is in use by the editor. If you change a property that
disallows an in-progress interaction, then the interaction is cancelled and does not affect the state of the
GeometryEditor.
Changing InteractionConfiguration properties affects whether types of interaction (such as tapping or
dragging) to add new vertices or parts are enabled or not, but never affects the type of interaction used by
each different GeometryEditorTool to create new vertices and parts. For example, a VertexTool adds
vertices in response to a tap, whereas both FreehandTool and ShapeTool add parts in response to a drag
operation but never in response to a tap.
Convenience methods are available to quickly set all properties relative to a category of interaction - for
example use setAllowSelection(boolean) to change all selection interactions,
and setAllowTransformation(boolean) to change all properties that control geometry
transformation.
- Since:
- 200.1.0
- See Also:
-
Property Summary
PropertiesTypePropertyDescriptionTrue if the selectedGeometryEditorElementcan be interactively deleted, false otherwise.True if the entire geometry can be interactively selected, false otherwise.True if a mid-vertex of a polygon or polyline can be interactively selected, false otherwise.True if the selectedGeometryEditorElementcan be interactively moved, false otherwise.True if you can interactively create a new part in a polyline or polygon, false otherwise.True to allow you to interactively rotate the selectedGeometryEditorElement, false otherwise.True to allow you to interactively scale the selectedGeometryEditorElement, false otherwise.True to allow a vertex to be created interactively, false otherwise.True to allow vertices to be selected interactively, false otherwise.True to require aGeometryEditorElementto first be selected before it can be moved by interactively dragging, false otherwise.Determines how a geometry can be interactively scaled (resized) to fill its allocated space while using theGeometryEditor. -
Constructor Summary
ConstructorsConstructorDescriptionCreates an InteractionConfiguration that enables selection, transformation and deletion. -
Method Summary
Modifier and TypeMethodDescriptionTrue if the selectedGeometryEditorElementcan be interactively deleted, false otherwise.True if the entire geometry can be interactively selected, false otherwise.True if a mid-vertex of a polygon or polyline can be interactively selected, false otherwise.True if the selectedGeometryEditorElementcan be interactively moved, false otherwise.True if you can interactively create a new part in a polyline or polygon, false otherwise.True to allow you to interactively rotate the selectedGeometryEditorElement, false otherwise.True to allow you to interactively scale the selectedGeometryEditorElement, false otherwise.True to allow a vertex to be created interactively, false otherwise.True to allow vertices to be selected interactively, false otherwise.Gets the value of thescaleModeproperty.booleanGets the value of theallowDeletingSelectedElementproperty.booleanGets the value of theallowGeometrySelectionproperty.booleanGets the value of theallowMidVertexSelectionproperty.booleanGets the value of theallowMovingSelectedElementproperty.booleanGets the value of theallowPartCreationproperty.booleanGets the value of theallowPartSelectionproperty.booleanGets the value of theallowRotatingSelectedElementproperty.booleanGets the value of theallowScalingSelectedElementproperty.booleanGets the value of theallowVertexCreationproperty.booleanGets the value of theallowVertexSelectionproperty.booleanGets the value of therequireSelectionBeforeMoveproperty.True to require aGeometryEditorElementto first be selected before it can be moved by interactively dragging, false otherwise.Determines how a geometry can be interactively scaled (resized) to fill its allocated space while using theGeometryEditor.voidsetAllowCreation(boolean allowCreation) Set true to enable creation, or false to disable creation.voidsetAllowDeletingSelectedElement(boolean allowDeletingSelectedElement) Sets the value of theallowDeletingSelectedElementproperty.voidsetAllowDeletion(boolean allowDeletion) Set true to enable deletion, or false to disable deletion.voidsetAllowGeometrySelection(boolean allowGeometrySelection) Sets the value of theallowGeometrySelectionproperty.voidsetAllowMidVertexSelection(boolean allowMidVertexSelection) Sets the value of theallowMidVertexSelectionproperty.voidsetAllowMovingSelectedElement(boolean allowMovingSelectedElement) Sets the value of theallowMovingSelectedElementproperty.voidsetAllowPartCreation(boolean allowPartCreation) Sets the value of theallowPartCreationproperty.voidsetAllowPartSelection(boolean allowPartSelection) Sets the value of theallowPartSelectionproperty.voidsetAllowRotatingSelectedElement(boolean allowRotatingSelectedElement) Sets the value of theallowRotatingSelectedElementproperty.voidsetAllowScalingSelectedElement(boolean allowScalingSelectedElement) Sets the value of theallowScalingSelectedElementproperty.voidsetAllowSelection(boolean allowSelection) Set true to enable selection, or false to disable selection.voidsetAllowTransformation(boolean allowTransformation) Set true to enable interactions that transform theGeometryEditor.geometryProperty(), for exampleallowMovingSelectedElementProperty().voidsetAllowVertexCreation(boolean allowVertexCreation) Sets the value of theallowVertexCreationproperty.voidsetAllowVertexSelection(boolean allowVertexSelection) Sets the value of theallowVertexSelectionproperty.voidsetRequireSelectionBeforeMove(boolean requireSelectionBeforeMove) Sets the value of therequireSelectionBeforeMoveproperty.voidsetScaleMode(GeometryEditorScaleMode scaleMode) Sets the value of thescaleModeproperty.
-
Property Details
-
allowDeletingSelectedElement
True if the selectedGeometryEditorElementcan be interactively deleted, false otherwise. Default is true.Whether true or false, an element can be deleted using
GeometryEditor.deleteSelectedElement().If true, then the
GeometryEditorElement.canDeleteProperty()of theselected elementis also true. If you have implemented a customization to allow users to interactively delete the selected element, then you can use this property to check if that customization should be enabled.setAllowDeletion(boolean)sets this property.- Since:
- 200.1.0
- See Also:
-
allowGeometrySelection
True if the entire geometry can be interactively selected, false otherwise. Default is true.If true, you can tap multiple times on elements of the geometry to make the entire geometry selected.
Whether true or false, the entire geometry can be selected by
GeometryEditor.selectGeometry().setAllowSelection(boolean)sets this property.- Since:
- 200.1.0
- See Also:
-
allowMidVertexSelection
True if a mid-vertex of a polygon or polyline can be interactively selected, false otherwise. Default is true.By default, mid-vertices (
GeometryEditorMidVertex) are displayed and can be helpful in interactive workflows to provide a visual cue that new vertices can be inserted between the existing vertices of polygons and polylines. They may be most helpful for users with less editing experience.If true, and
allowVertexCreationProperty()is also true, then you can select and drag a mid-vertex to insert a vertex into thegeometryand immediately move it to the required position.If false, and you also do not intend to programmatically select any mid-vertices (
GeometryEditor.selectMidVertex(long, long)) then setGeometryEditorStyle.midVertexSymbolProperty()to null to prevent the display of unusable mid-vertices.Whether true or false, a mid-vertex can be selected by
GeometryEditor.selectMidVertex(long, long).setAllowSelection(boolean)sets this property.- Since:
- 200.1.0
- See Also:
-
allowMovingSelectedElement
True if the selectedGeometryEditorElementcan be interactively moved, false otherwise. Default is true.If true, you can use a drag gesture to move the selected
GeometryEditorElementto the required location. Create a tool to allow moving only specific types ofGeometryEditorElementby also allowing or disallowing the selection of different types of element (allowVertexSelectionProperty()for example).If false, the behavior of a drag gesture depends on the current value of
GeometryEditor.toolProperty(). AVertexToolwill pan the map, whereas aFreehandToolwill create a new part (depending onallowPartCreationProperty()).If true, and the selected element is a
GeometryEditorPartor aGeometryEditorGeometrywith a geometry type ofGeometryType.POLYLINEorGeometryType.POLYGON, then a bounding box is drawn using theGeometryEditorStyle.boundingBoxSymbolProperty().setAllowTransformation(boolean)sets this property.- Since:
- 200.1.0
- See Also:
-
allowPartCreation
True if you can interactively create a new part in a polyline or polygon, false otherwise. Default is true.If true and the
GeometryTypeof theGeometryEditor.geometryProperty()is a polygon or polyline, you can add new parts to theMultipartgeometry - thetooldetermines the interaction required to add the new part. If theGeometryTypeof thegeometryis a point or multipoint, this property is ignored. For new geometry creation (usingGeometryEditor.start(GeometryType), or callingGeometryEditor.start(Geometry)with an empty geometry), this property is always ignored when adding the first part, and respected thereafter.Users less experienced with GIS data may not understand how visually separate parts of polygons and polylines form a single geometry. You may wish to prevent such users from inadvertently creating geometries with multiple parts in order to keep their workflows straightforward and understandable. Alternatively, your app may be editing data which does not support multipart geometries.
setAllowCreation(boolean)sets this property.- Since:
- 200.1.0
- See Also:
-
allowPartSelection
True to allow a part of aMultipartgeometry (PolylineorPolygon) to be selected interactively, false otherwise. Default is true.If true, you can tap on the edge of a polygon or polyline
GeometryEditorGeometryin order to the select the part.Whether true or false, a part can be selected by
GeometryEditor.selectPart(long). Parts are also selected after creation using aFreehandTool.setAllowSelection(boolean)sets this property.- Since:
- 200.1.0
- See Also:
-
allowRotatingSelectedElement
True to allow you to interactively rotate the selectedGeometryEditorElement, false otherwise. Default is true.This property applies when the
GeometryEditor.selectedElementProperty()is:- a
GeometryEditorGeometrywhenGeometryEditor.geometryProperty()is aGeometryType.POLYGON, aGeometryType.POLYLINE, or aGeometryType.MULTIPOINT - a
GeometryEditorPart
GeometryEditorVertexbecause a zero-dimensional geometry cannot be rotated.When this property is true, and the
GeometryEditor.selectedElementProperty()is rotatable, then a control handle is displayed (seeGeometryEditorStyle.rotateHandleSymbolProperty()) that allows the selected element to be interactively rotated. The bounding box of the selected element is also displayed (GeometryEditorStyle.boundingBoxSymbolProperty()).Interactive rotation changes the position of the selected element according to the movement of the rotation handle using the center of the extent of the selected element as the center of rotation (origin). Use
GeometryEditor.rotateSelectedElement(double, Point)to rotate the selected element around a given origin.setAllowTransformation(boolean)sets this property.- Since:
- 200.2.0
- See Also:
- a
-
allowScalingSelectedElement
True to allow you to interactively scale the selectedGeometryEditorElement, false otherwise. Default is true.This property applies when the
GeometryEditor.selectedElementProperty()is:- a
GeometryEditorGeometrywhenGeometryEditor.geometryProperty()is aGeometryType.POLYGON, aGeometryType.POLYLINE, or aGeometryType.MULTIPOINT - a
GeometryEditorPart
GeometryEditorVertexbecause a zero-dimensional geometry cannot be scaled.When this property is true, and the
GeometryEditor.selectedElementProperty()is scalable, then control handles are displayed (seeGeometryEditorStyle.boundingBoxHandleSymbolProperty()) that allow the selected element to be interactively scaled. The bounding box of the selected element is also displayed (GeometryEditorStyle.boundingBoxSymbolProperty()).Interactive scaling changes the extent of the selected element according to the movement of the scale handle being moved - the opposite handle is used as the origin of the scale transformation. Use
GeometryEditor.scaleSelectedElement(double, double, Point)to scale the selected element relative to a given origin.setAllowTransformation(boolean)sets this property.- Since:
- 200.2.0
- See Also:
- a
-
allowVertexCreation
True to allow a vertex to be created interactively, false otherwise. Default is true.If true, you can tap on the map to add a new vertex. The vertex is inserted after the previously selected vertex, or as the first vertex if the previous selection was the first vertex in a
Polyline. If you tap on an existingGeometryEditorElementthen selection occurs instead.A
FreehandToolignores this property as it does not create individual vertices; instead you use a freehand gesture to create a part in a polygon or polyline geometry.Whether true or false, a vertex can be created by
GeometryEditor.insertVertex(Point).setAllowCreation(boolean)sets this property.- Since:
- 200.1.0
- See Also:
-
allowVertexSelection
True to allow vertices to be selected interactively, false otherwise. Default is true.If true, you can tap on a vertex to select it.
To prevent vertices from being selected interactively by tapping on the vertex, while still allowing programmatic selection, set the value of the
allowVertexSelectionProperty()to false.Whether true or false, a vertex may still become selected in other ways, for example by a call to
GeometryEditor.selectVertex(long, long), or when a new vertex is created.setAllowSelection(boolean)sets this property.- Since:
- 200.1.0
- See Also:
-
requireSelectionBeforeMove
True to require aGeometryEditorElementto first be selected before it can be moved by interactively dragging, false otherwise. Default is false.By default, you can select and immediately move an element in one gesture. Some users may find this can lead to an increase in accidental element moves when editing. By setting this to true, this can reduce the possibility of accidental moves. Alternatively, you may wish to provide access to
GeometryEditor.undo()andGeometryEditor.redo()to provide easy correction of accidental edits.If false, the behavior of a drag gesture depends on the current
tool. For aVertexTool, a drag gesture on the map over a geometry editor element that is not already selected pans the map, whereas aFreehandToolwill create a new part (depending onallowPartCreationProperty()).This property applies if and only if
allowMovingSelectedElementProperty()is true.- Since:
- 200.1.0
- See Also:
-
scaleMode
Determines how a geometry can be interactively scaled (resized) to fill its allocated space while using theGeometryEditor.This property is ignored during geometry editing if
allowScalingSelectedElementProperty()is false. It will be used to define how geometries are initially created by a drag interaction when the active tool is aShapeToolregardless of the value ofInteractionConfiguration.allowScalingSelectedElementProperty().The scale control handles displayed to the user differ according to the value of this property.
Attempting to set the value to null will throw a NullPointerException exception.
- Since:
- 200.2.0
- See Also:
-
-
Constructor Details
-
InteractionConfiguration
public InteractionConfiguration()Creates an InteractionConfiguration that enables selection, transformation and deletion.Defines the most powerful and least restrictive interactive experience. When you create a new
GeometryEditorTool, its InteractionConfiguration property defines the values appropriate for that type of tool, which may differ from the default values set by this constructor. For more information on the different default values for these tools, seeVertexTool,FreehandTool, andShapeTool.- Since:
- 200.1.0
- See Also:
-
-
Method Details
-
allowDeletingSelectedElementProperty
True if the selectedGeometryEditorElementcan be interactively deleted, false otherwise. Default is true.Whether true or false, an element can be deleted using
GeometryEditor.deleteSelectedElement().If true, then the
GeometryEditorElement.canDeleteProperty()of theselected elementis also true. If you have implemented a customization to allow users to interactively delete the selected element, then you can use this property to check if that customization should be enabled.setAllowDeletion(boolean)sets this property.- Returns:
- the
allowDeletingSelectedElementproperty - Since:
- 200.1.0
- See Also:
-
isAllowDeletingSelectedElement
public boolean isAllowDeletingSelectedElement()Gets the value of theallowDeletingSelectedElementproperty.- Property description:
- True if the selected
GeometryEditorElementcan be interactively deleted, false otherwise. Default is true.Whether true or false, an element can be deleted using
GeometryEditor.deleteSelectedElement().If true, then the
GeometryEditorElement.canDeleteProperty()of theselected elementis also true. If you have implemented a customization to allow users to interactively delete the selected element, then you can use this property to check if that customization should be enabled.setAllowDeletion(boolean)sets this property. - Returns:
- the value of the
allowDeletingSelectedElementproperty - Since:
- 200.1.0
- See Also:
-
setAllowDeletingSelectedElement
public void setAllowDeletingSelectedElement(boolean allowDeletingSelectedElement) Sets the value of theallowDeletingSelectedElementproperty.- Property description:
- True if the selected
GeometryEditorElementcan be interactively deleted, false otherwise. Default is true.Whether true or false, an element can be deleted using
GeometryEditor.deleteSelectedElement().If true, then the
GeometryEditorElement.canDeleteProperty()of theselected elementis also true. If you have implemented a customization to allow users to interactively delete the selected element, then you can use this property to check if that customization should be enabled.setAllowDeletion(boolean)sets this property. - Parameters:
allowDeletingSelectedElement- the value for theallowDeletingSelectedElementproperty- Since:
- 200.1.0
- See Also:
-
allowGeometrySelectionProperty
True if the entire geometry can be interactively selected, false otherwise. Default is true.If true, you can tap multiple times on elements of the geometry to make the entire geometry selected.
Whether true or false, the entire geometry can be selected by
GeometryEditor.selectGeometry().setAllowSelection(boolean)sets this property.- Returns:
- the
allowGeometrySelectionproperty - Since:
- 200.1.0
- See Also:
-
isAllowGeometrySelection
public boolean isAllowGeometrySelection()Gets the value of theallowGeometrySelectionproperty.- Property description:
- True if the entire geometry can be interactively selected, false otherwise. Default is true.
If true, you can tap multiple times on elements of the geometry to make the entire geometry selected.
Whether true or false, the entire geometry can be selected by
GeometryEditor.selectGeometry().setAllowSelection(boolean)sets this property. - Returns:
- the value of the
allowGeometrySelectionproperty - Since:
- 200.1.0
- See Also:
-
setAllowGeometrySelection
public void setAllowGeometrySelection(boolean allowGeometrySelection) Sets the value of theallowGeometrySelectionproperty.- Property description:
- True if the entire geometry can be interactively selected, false otherwise. Default is true.
If true, you can tap multiple times on elements of the geometry to make the entire geometry selected.
Whether true or false, the entire geometry can be selected by
GeometryEditor.selectGeometry().setAllowSelection(boolean)sets this property. - Parameters:
allowGeometrySelection- the value for theallowGeometrySelectionproperty- Since:
- 200.1.0
- See Also:
-
allowMidVertexSelectionProperty
True if a mid-vertex of a polygon or polyline can be interactively selected, false otherwise. Default is true.By default, mid-vertices (
GeometryEditorMidVertex) are displayed and can be helpful in interactive workflows to provide a visual cue that new vertices can be inserted between the existing vertices of polygons and polylines. They may be most helpful for users with less editing experience.If true, and
allowVertexCreationProperty()is also true, then you can select and drag a mid-vertex to insert a vertex into thegeometryand immediately move it to the required position.If false, and you also do not intend to programmatically select any mid-vertices (
GeometryEditor.selectMidVertex(long, long)) then setGeometryEditorStyle.midVertexSymbolProperty()to null to prevent the display of unusable mid-vertices.Whether true or false, a mid-vertex can be selected by
GeometryEditor.selectMidVertex(long, long).setAllowSelection(boolean)sets this property.- Returns:
- the
allowMidVertexSelectionproperty - Since:
- 200.1.0
- See Also:
-
isAllowMidVertexSelection
public boolean isAllowMidVertexSelection()Gets the value of theallowMidVertexSelectionproperty.- Property description:
- True if a mid-vertex of a polygon or polyline can be interactively selected, false otherwise. Default is true.
By default, mid-vertices (
GeometryEditorMidVertex) are displayed and can be helpful in interactive workflows to provide a visual cue that new vertices can be inserted between the existing vertices of polygons and polylines. They may be most helpful for users with less editing experience.If true, and
allowVertexCreationProperty()is also true, then you can select and drag a mid-vertex to insert a vertex into thegeometryand immediately move it to the required position.If false, and you also do not intend to programmatically select any mid-vertices (
GeometryEditor.selectMidVertex(long, long)) then setGeometryEditorStyle.midVertexSymbolProperty()to null to prevent the display of unusable mid-vertices.Whether true or false, a mid-vertex can be selected by
GeometryEditor.selectMidVertex(long, long).setAllowSelection(boolean)sets this property. - Returns:
- the value of the
allowMidVertexSelectionproperty - Since:
- 200.1.0
- See Also:
-
setAllowMidVertexSelection
public void setAllowMidVertexSelection(boolean allowMidVertexSelection) Sets the value of theallowMidVertexSelectionproperty.- Property description:
- True if a mid-vertex of a polygon or polyline can be interactively selected, false otherwise. Default is true.
By default, mid-vertices (
GeometryEditorMidVertex) are displayed and can be helpful in interactive workflows to provide a visual cue that new vertices can be inserted between the existing vertices of polygons and polylines. They may be most helpful for users with less editing experience.If true, and
allowVertexCreationProperty()is also true, then you can select and drag a mid-vertex to insert a vertex into thegeometryand immediately move it to the required position.If false, and you also do not intend to programmatically select any mid-vertices (
GeometryEditor.selectMidVertex(long, long)) then setGeometryEditorStyle.midVertexSymbolProperty()to null to prevent the display of unusable mid-vertices.Whether true or false, a mid-vertex can be selected by
GeometryEditor.selectMidVertex(long, long).setAllowSelection(boolean)sets this property. - Parameters:
allowMidVertexSelection- the value for theallowMidVertexSelectionproperty- Since:
- 200.1.0
- See Also:
-
allowMovingSelectedElementProperty
True if the selectedGeometryEditorElementcan be interactively moved, false otherwise. Default is true.If true, you can use a drag gesture to move the selected
GeometryEditorElementto the required location. Create a tool to allow moving only specific types ofGeometryEditorElementby also allowing or disallowing the selection of different types of element (allowVertexSelectionProperty()for example).If false, the behavior of a drag gesture depends on the current value of
GeometryEditor.toolProperty(). AVertexToolwill pan the map, whereas aFreehandToolwill create a new part (depending onallowPartCreationProperty()).If true, and the selected element is a
GeometryEditorPartor aGeometryEditorGeometrywith a geometry type ofGeometryType.POLYLINEorGeometryType.POLYGON, then a bounding box is drawn using theGeometryEditorStyle.boundingBoxSymbolProperty().setAllowTransformation(boolean)sets this property.- Returns:
- the
allowMovingSelectedElementproperty - Since:
- 200.1.0
- See Also:
-
isAllowMovingSelectedElement
public boolean isAllowMovingSelectedElement()Gets the value of theallowMovingSelectedElementproperty.- Property description:
- True if the selected
GeometryEditorElementcan be interactively moved, false otherwise. Default is true.If true, you can use a drag gesture to move the selected
GeometryEditorElementto the required location. Create a tool to allow moving only specific types ofGeometryEditorElementby also allowing or disallowing the selection of different types of element (allowVertexSelectionProperty()for example).If false, the behavior of a drag gesture depends on the current value of
GeometryEditor.toolProperty(). AVertexToolwill pan the map, whereas aFreehandToolwill create a new part (depending onallowPartCreationProperty()).If true, and the selected element is a
GeometryEditorPartor aGeometryEditorGeometrywith a geometry type ofGeometryType.POLYLINEorGeometryType.POLYGON, then a bounding box is drawn using theGeometryEditorStyle.boundingBoxSymbolProperty().setAllowTransformation(boolean)sets this property. - Returns:
- the value of the
allowMovingSelectedElementproperty - Since:
- 200.1.0
- See Also:
-
setAllowMovingSelectedElement
public void setAllowMovingSelectedElement(boolean allowMovingSelectedElement) Sets the value of theallowMovingSelectedElementproperty.- Property description:
- True if the selected
GeometryEditorElementcan be interactively moved, false otherwise. Default is true.If true, you can use a drag gesture to move the selected
GeometryEditorElementto the required location. Create a tool to allow moving only specific types ofGeometryEditorElementby also allowing or disallowing the selection of different types of element (allowVertexSelectionProperty()for example).If false, the behavior of a drag gesture depends on the current value of
GeometryEditor.toolProperty(). AVertexToolwill pan the map, whereas aFreehandToolwill create a new part (depending onallowPartCreationProperty()).If true, and the selected element is a
GeometryEditorPartor aGeometryEditorGeometrywith a geometry type ofGeometryType.POLYLINEorGeometryType.POLYGON, then a bounding box is drawn using theGeometryEditorStyle.boundingBoxSymbolProperty().setAllowTransformation(boolean)sets this property. - Parameters:
allowMovingSelectedElement- the value for theallowMovingSelectedElementproperty- Since:
- 200.1.0
- See Also:
-
allowPartCreationProperty
True if you can interactively create a new part in a polyline or polygon, false otherwise. Default is true.If true and the
GeometryTypeof theGeometryEditor.geometryProperty()is a polygon or polyline, you can add new parts to theMultipartgeometry - thetooldetermines the interaction required to add the new part. If theGeometryTypeof thegeometryis a point or multipoint, this property is ignored. For new geometry creation (usingGeometryEditor.start(GeometryType), or callingGeometryEditor.start(Geometry)with an empty geometry), this property is always ignored when adding the first part, and respected thereafter.Users less experienced with GIS data may not understand how visually separate parts of polygons and polylines form a single geometry. You may wish to prevent such users from inadvertently creating geometries with multiple parts in order to keep their workflows straightforward and understandable. Alternatively, your app may be editing data which does not support multipart geometries.
setAllowCreation(boolean)sets this property.- Returns:
- the
allowPartCreationproperty - Since:
- 200.1.0
- See Also:
-
isAllowPartCreation
public boolean isAllowPartCreation()Gets the value of theallowPartCreationproperty.- Property description:
- True if you can interactively create a new part in a polyline or polygon, false otherwise. Default is true.
If true and the
GeometryTypeof theGeometryEditor.geometryProperty()is a polygon or polyline, you can add new parts to theMultipartgeometry - thetooldetermines the interaction required to add the new part. If theGeometryTypeof thegeometryis a point or multipoint, this property is ignored. For new geometry creation (usingGeometryEditor.start(GeometryType), or callingGeometryEditor.start(Geometry)with an empty geometry), this property is always ignored when adding the first part, and respected thereafter.Users less experienced with GIS data may not understand how visually separate parts of polygons and polylines form a single geometry. You may wish to prevent such users from inadvertently creating geometries with multiple parts in order to keep their workflows straightforward and understandable. Alternatively, your app may be editing data which does not support multipart geometries.
setAllowCreation(boolean)sets this property. - Returns:
- the value of the
allowPartCreationproperty - Since:
- 200.1.0
- See Also:
-
setAllowPartCreation
public void setAllowPartCreation(boolean allowPartCreation) Sets the value of theallowPartCreationproperty.- Property description:
- True if you can interactively create a new part in a polyline or polygon, false otherwise. Default is true.
If true and the
GeometryTypeof theGeometryEditor.geometryProperty()is a polygon or polyline, you can add new parts to theMultipartgeometry - thetooldetermines the interaction required to add the new part. If theGeometryTypeof thegeometryis a point or multipoint, this property is ignored. For new geometry creation (usingGeometryEditor.start(GeometryType), or callingGeometryEditor.start(Geometry)with an empty geometry), this property is always ignored when adding the first part, and respected thereafter.Users less experienced with GIS data may not understand how visually separate parts of polygons and polylines form a single geometry. You may wish to prevent such users from inadvertently creating geometries with multiple parts in order to keep their workflows straightforward and understandable. Alternatively, your app may be editing data which does not support multipart geometries.
setAllowCreation(boolean)sets this property. - Parameters:
allowPartCreation- the value for theallowPartCreationproperty- Since:
- 200.1.0
- See Also:
-
allowPartSelectionProperty
True to allow a part of aMultipartgeometry (PolylineorPolygon) to be selected interactively, false otherwise. Default is true.If true, you can tap on the edge of a polygon or polyline
GeometryEditorGeometryin order to the select the part.Whether true or false, a part can be selected by
GeometryEditor.selectPart(long). Parts are also selected after creation using aFreehandTool.setAllowSelection(boolean)sets this property.- Returns:
- the
allowPartSelectionproperty - Since:
- 200.1.0
- See Also:
-
isAllowPartSelection
public boolean isAllowPartSelection()Gets the value of theallowPartSelectionproperty.- Property description:
- True to allow a part of a
Multipartgeometry (PolylineorPolygon) to be selected interactively, false otherwise. Default is true.If true, you can tap on the edge of a polygon or polyline
GeometryEditorGeometryin order to the select the part.Whether true or false, a part can be selected by
GeometryEditor.selectPart(long). Parts are also selected after creation using aFreehandTool.setAllowSelection(boolean)sets this property. - Returns:
- the value of the
allowPartSelectionproperty - Since:
- 200.1.0
- See Also:
-
setAllowPartSelection
public void setAllowPartSelection(boolean allowPartSelection) Sets the value of theallowPartSelectionproperty.- Property description:
- True to allow a part of a
Multipartgeometry (PolylineorPolygon) to be selected interactively, false otherwise. Default is true.If true, you can tap on the edge of a polygon or polyline
GeometryEditorGeometryin order to the select the part.Whether true or false, a part can be selected by
GeometryEditor.selectPart(long). Parts are also selected after creation using aFreehandTool.setAllowSelection(boolean)sets this property. - Parameters:
allowPartSelection- the value for theallowPartSelectionproperty- Since:
- 200.1.0
- See Also:
-
allowRotatingSelectedElementProperty
True to allow you to interactively rotate the selectedGeometryEditorElement, false otherwise. Default is true.This property applies when the
GeometryEditor.selectedElementProperty()is:- a
GeometryEditorGeometrywhenGeometryEditor.geometryProperty()is aGeometryType.POLYGON, aGeometryType.POLYLINE, or aGeometryType.MULTIPOINT - a
GeometryEditorPart
GeometryEditorVertexbecause a zero-dimensional geometry cannot be rotated.When this property is true, and the
GeometryEditor.selectedElementProperty()is rotatable, then a control handle is displayed (seeGeometryEditorStyle.rotateHandleSymbolProperty()) that allows the selected element to be interactively rotated. The bounding box of the selected element is also displayed (GeometryEditorStyle.boundingBoxSymbolProperty()).Interactive rotation changes the position of the selected element according to the movement of the rotation handle using the center of the extent of the selected element as the center of rotation (origin). Use
GeometryEditor.rotateSelectedElement(double, Point)to rotate the selected element around a given origin.setAllowTransformation(boolean)sets this property.- Returns:
- the
allowRotatingSelectedElementproperty - Since:
- 200.2.0
- See Also:
- a
-
isAllowRotatingSelectedElement
public boolean isAllowRotatingSelectedElement()Gets the value of theallowRotatingSelectedElementproperty.- Property description:
- True to allow you to interactively rotate the selected
GeometryEditorElement, false otherwise. Default is true.This property applies when the
GeometryEditor.selectedElementProperty()is:- a
GeometryEditorGeometrywhenGeometryEditor.geometryProperty()is aGeometryType.POLYGON, aGeometryType.POLYLINE, or aGeometryType.MULTIPOINT - a
GeometryEditorPart
GeometryEditorVertexbecause a zero-dimensional geometry cannot be rotated.When this property is true, and the
GeometryEditor.selectedElementProperty()is rotatable, then a control handle is displayed (seeGeometryEditorStyle.rotateHandleSymbolProperty()) that allows the selected element to be interactively rotated. The bounding box of the selected element is also displayed (GeometryEditorStyle.boundingBoxSymbolProperty()).Interactive rotation changes the position of the selected element according to the movement of the rotation handle using the center of the extent of the selected element as the center of rotation (origin). Use
GeometryEditor.rotateSelectedElement(double, Point)to rotate the selected element around a given origin.setAllowTransformation(boolean)sets this property. - a
- Returns:
- the value of the
allowRotatingSelectedElementproperty - Since:
- 200.2.0
- See Also:
-
setAllowRotatingSelectedElement
public void setAllowRotatingSelectedElement(boolean allowRotatingSelectedElement) Sets the value of theallowRotatingSelectedElementproperty.- Property description:
- True to allow you to interactively rotate the selected
GeometryEditorElement, false otherwise. Default is true.This property applies when the
GeometryEditor.selectedElementProperty()is:- a
GeometryEditorGeometrywhenGeometryEditor.geometryProperty()is aGeometryType.POLYGON, aGeometryType.POLYLINE, or aGeometryType.MULTIPOINT - a
GeometryEditorPart
GeometryEditorVertexbecause a zero-dimensional geometry cannot be rotated.When this property is true, and the
GeometryEditor.selectedElementProperty()is rotatable, then a control handle is displayed (seeGeometryEditorStyle.rotateHandleSymbolProperty()) that allows the selected element to be interactively rotated. The bounding box of the selected element is also displayed (GeometryEditorStyle.boundingBoxSymbolProperty()).Interactive rotation changes the position of the selected element according to the movement of the rotation handle using the center of the extent of the selected element as the center of rotation (origin). Use
GeometryEditor.rotateSelectedElement(double, Point)to rotate the selected element around a given origin.setAllowTransformation(boolean)sets this property. - a
- Parameters:
allowRotatingSelectedElement- the value for theallowRotatingSelectedElementproperty- Since:
- 200.2.0
- See Also:
-
allowScalingSelectedElementProperty
True to allow you to interactively scale the selectedGeometryEditorElement, false otherwise. Default is true.This property applies when the
GeometryEditor.selectedElementProperty()is:- a
GeometryEditorGeometrywhenGeometryEditor.geometryProperty()is aGeometryType.POLYGON, aGeometryType.POLYLINE, or aGeometryType.MULTIPOINT - a
GeometryEditorPart
GeometryEditorVertexbecause a zero-dimensional geometry cannot be scaled.When this property is true, and the
GeometryEditor.selectedElementProperty()is scalable, then control handles are displayed (seeGeometryEditorStyle.boundingBoxHandleSymbolProperty()) that allow the selected element to be interactively scaled. The bounding box of the selected element is also displayed (GeometryEditorStyle.boundingBoxSymbolProperty()).Interactive scaling changes the extent of the selected element according to the movement of the scale handle being moved - the opposite handle is used as the origin of the scale transformation. Use
GeometryEditor.scaleSelectedElement(double, double, Point)to scale the selected element relative to a given origin.setAllowTransformation(boolean)sets this property.- Returns:
- the
allowScalingSelectedElementproperty - Since:
- 200.2.0
- See Also:
- a
-
isAllowScalingSelectedElement
public boolean isAllowScalingSelectedElement()Gets the value of theallowScalingSelectedElementproperty.- Property description:
- True to allow you to interactively scale the selected
GeometryEditorElement, false otherwise. Default is true.This property applies when the
GeometryEditor.selectedElementProperty()is:- a
GeometryEditorGeometrywhenGeometryEditor.geometryProperty()is aGeometryType.POLYGON, aGeometryType.POLYLINE, or aGeometryType.MULTIPOINT - a
GeometryEditorPart
GeometryEditorVertexbecause a zero-dimensional geometry cannot be scaled.When this property is true, and the
GeometryEditor.selectedElementProperty()is scalable, then control handles are displayed (seeGeometryEditorStyle.boundingBoxHandleSymbolProperty()) that allow the selected element to be interactively scaled. The bounding box of the selected element is also displayed (GeometryEditorStyle.boundingBoxSymbolProperty()).Interactive scaling changes the extent of the selected element according to the movement of the scale handle being moved - the opposite handle is used as the origin of the scale transformation. Use
GeometryEditor.scaleSelectedElement(double, double, Point)to scale the selected element relative to a given origin.setAllowTransformation(boolean)sets this property. - a
- Returns:
- the value of the
allowScalingSelectedElementproperty - Since:
- 200.2.0
- See Also:
-
setAllowScalingSelectedElement
public void setAllowScalingSelectedElement(boolean allowScalingSelectedElement) Sets the value of theallowScalingSelectedElementproperty.- Property description:
- True to allow you to interactively scale the selected
GeometryEditorElement, false otherwise. Default is true.This property applies when the
GeometryEditor.selectedElementProperty()is:- a
GeometryEditorGeometrywhenGeometryEditor.geometryProperty()is aGeometryType.POLYGON, aGeometryType.POLYLINE, or aGeometryType.MULTIPOINT - a
GeometryEditorPart
GeometryEditorVertexbecause a zero-dimensional geometry cannot be scaled.When this property is true, and the
GeometryEditor.selectedElementProperty()is scalable, then control handles are displayed (seeGeometryEditorStyle.boundingBoxHandleSymbolProperty()) that allow the selected element to be interactively scaled. The bounding box of the selected element is also displayed (GeometryEditorStyle.boundingBoxSymbolProperty()).Interactive scaling changes the extent of the selected element according to the movement of the scale handle being moved - the opposite handle is used as the origin of the scale transformation. Use
GeometryEditor.scaleSelectedElement(double, double, Point)to scale the selected element relative to a given origin.setAllowTransformation(boolean)sets this property. - a
- Parameters:
allowScalingSelectedElement- the value for theallowScalingSelectedElementproperty- Since:
- 200.2.0
- See Also:
-
allowVertexCreationProperty
True to allow a vertex to be created interactively, false otherwise. Default is true.If true, you can tap on the map to add a new vertex. The vertex is inserted after the previously selected vertex, or as the first vertex if the previous selection was the first vertex in a
Polyline. If you tap on an existingGeometryEditorElementthen selection occurs instead.A
FreehandToolignores this property as it does not create individual vertices; instead you use a freehand gesture to create a part in a polygon or polyline geometry.Whether true or false, a vertex can be created by
GeometryEditor.insertVertex(Point).setAllowCreation(boolean)sets this property.- Returns:
- the
allowVertexCreationproperty - Since:
- 200.1.0
- See Also:
-
isAllowVertexCreation
public boolean isAllowVertexCreation()Gets the value of theallowVertexCreationproperty.- Property description:
- True to allow a vertex to be created interactively, false otherwise. Default is true.
If true, you can tap on the map to add a new vertex. The vertex is inserted after the previously selected vertex, or as the first vertex if the previous selection was the first vertex in a
Polyline. If you tap on an existingGeometryEditorElementthen selection occurs instead.A
FreehandToolignores this property as it does not create individual vertices; instead you use a freehand gesture to create a part in a polygon or polyline geometry.Whether true or false, a vertex can be created by
GeometryEditor.insertVertex(Point).setAllowCreation(boolean)sets this property. - Returns:
- the value of the
allowVertexCreationproperty - Since:
- 200.1.0
- See Also:
-
setAllowVertexCreation
public void setAllowVertexCreation(boolean allowVertexCreation) Sets the value of theallowVertexCreationproperty.- Property description:
- True to allow a vertex to be created interactively, false otherwise. Default is true.
If true, you can tap on the map to add a new vertex. The vertex is inserted after the previously selected vertex, or as the first vertex if the previous selection was the first vertex in a
Polyline. If you tap on an existingGeometryEditorElementthen selection occurs instead.A
FreehandToolignores this property as it does not create individual vertices; instead you use a freehand gesture to create a part in a polygon or polyline geometry.Whether true or false, a vertex can be created by
GeometryEditor.insertVertex(Point).setAllowCreation(boolean)sets this property. - Parameters:
allowVertexCreation- the value for theallowVertexCreationproperty- Since:
- 200.1.0
- See Also:
-
allowVertexSelectionProperty
True to allow vertices to be selected interactively, false otherwise. Default is true.If true, you can tap on a vertex to select it.
To prevent vertices from being selected interactively by tapping on the vertex, while still allowing programmatic selection, set the value of the
allowVertexSelectionProperty()to false.Whether true or false, a vertex may still become selected in other ways, for example by a call to
GeometryEditor.selectVertex(long, long), or when a new vertex is created.setAllowSelection(boolean)sets this property.- Returns:
- the
allowVertexSelectionproperty - Since:
- 200.1.0
- See Also:
-
isAllowVertexSelection
public boolean isAllowVertexSelection()Gets the value of theallowVertexSelectionproperty.- Property description:
- True to allow vertices to be selected interactively, false otherwise. Default is true.
If true, you can tap on a vertex to select it.
To prevent vertices from being selected interactively by tapping on the vertex, while still allowing programmatic selection, set the value of the
allowVertexSelectionProperty()to false.Whether true or false, a vertex may still become selected in other ways, for example by a call to
GeometryEditor.selectVertex(long, long), or when a new vertex is created.setAllowSelection(boolean)sets this property. - Returns:
- the value of the
allowVertexSelectionproperty - Since:
- 200.1.0
- See Also:
-
setAllowVertexSelection
public void setAllowVertexSelection(boolean allowVertexSelection) Sets the value of theallowVertexSelectionproperty.- Property description:
- True to allow vertices to be selected interactively, false otherwise. Default is true.
If true, you can tap on a vertex to select it.
To prevent vertices from being selected interactively by tapping on the vertex, while still allowing programmatic selection, set the value of the
allowVertexSelectionProperty()to false.Whether true or false, a vertex may still become selected in other ways, for example by a call to
GeometryEditor.selectVertex(long, long), or when a new vertex is created.setAllowSelection(boolean)sets this property. - Parameters:
allowVertexSelection- the value for theallowVertexSelectionproperty- Since:
- 200.1.0
- See Also:
-
requireSelectionBeforeMoveProperty
True to require aGeometryEditorElementto first be selected before it can be moved by interactively dragging, false otherwise. Default is false.By default, you can select and immediately move an element in one gesture. Some users may find this can lead to an increase in accidental element moves when editing. By setting this to true, this can reduce the possibility of accidental moves. Alternatively, you may wish to provide access to
GeometryEditor.undo()andGeometryEditor.redo()to provide easy correction of accidental edits.If false, the behavior of a drag gesture depends on the current
tool. For aVertexTool, a drag gesture on the map over a geometry editor element that is not already selected pans the map, whereas aFreehandToolwill create a new part (depending onallowPartCreationProperty()).This property applies if and only if
allowMovingSelectedElementProperty()is true.- Returns:
- the
requireSelectionBeforeMoveproperty - Since:
- 200.1.0
- See Also:
-
isRequireSelectionBeforeMove
public boolean isRequireSelectionBeforeMove()Gets the value of therequireSelectionBeforeMoveproperty.- Property description:
- True to require a
GeometryEditorElementto first be selected before it can be moved by interactively dragging, false otherwise. Default is false.By default, you can select and immediately move an element in one gesture. Some users may find this can lead to an increase in accidental element moves when editing. By setting this to true, this can reduce the possibility of accidental moves. Alternatively, you may wish to provide access to
GeometryEditor.undo()andGeometryEditor.redo()to provide easy correction of accidental edits.If false, the behavior of a drag gesture depends on the current
tool. For aVertexTool, a drag gesture on the map over a geometry editor element that is not already selected pans the map, whereas aFreehandToolwill create a new part (depending onallowPartCreationProperty()).This property applies if and only if
allowMovingSelectedElementProperty()is true. - Returns:
- the value of the
requireSelectionBeforeMoveproperty - Since:
- 200.1.0
- See Also:
-
setRequireSelectionBeforeMove
public void setRequireSelectionBeforeMove(boolean requireSelectionBeforeMove) Sets the value of therequireSelectionBeforeMoveproperty.- Property description:
- True to require a
GeometryEditorElementto first be selected before it can be moved by interactively dragging, false otherwise. Default is false.By default, you can select and immediately move an element in one gesture. Some users may find this can lead to an increase in accidental element moves when editing. By setting this to true, this can reduce the possibility of accidental moves. Alternatively, you may wish to provide access to
GeometryEditor.undo()andGeometryEditor.redo()to provide easy correction of accidental edits.If false, the behavior of a drag gesture depends on the current
tool. For aVertexTool, a drag gesture on the map over a geometry editor element that is not already selected pans the map, whereas aFreehandToolwill create a new part (depending onallowPartCreationProperty()).This property applies if and only if
allowMovingSelectedElementProperty()is true. - Parameters:
requireSelectionBeforeMove- the value for therequireSelectionBeforeMoveproperty- Since:
- 200.1.0
- See Also:
-
scaleModeProperty
Determines how a geometry can be interactively scaled (resized) to fill its allocated space while using theGeometryEditor.This property is ignored during geometry editing if
allowScalingSelectedElementProperty()is false. It will be used to define how geometries are initially created by a drag interaction when the active tool is aShapeToolregardless of the value ofInteractionConfiguration.allowScalingSelectedElementProperty().The scale control handles displayed to the user differ according to the value of this property.
Attempting to set the value to null will throw a NullPointerException exception.
- Returns:
- the
scaleModeproperty - Since:
- 200.2.0
- See Also:
-
getScaleMode
Gets the value of thescaleModeproperty.- Property description:
- Determines how a geometry can be interactively scaled (resized) to fill its allocated space while using the
GeometryEditor.This property is ignored during geometry editing if
allowScalingSelectedElementProperty()is false. It will be used to define how geometries are initially created by a drag interaction when the active tool is aShapeToolregardless of the value ofInteractionConfiguration.allowScalingSelectedElementProperty().The scale control handles displayed to the user differ according to the value of this property.
Attempting to set the value to null will throw a NullPointerException exception.
- Returns:
- the value of the
scaleModeproperty - Since:
- 200.2.0
- See Also:
-
setScaleMode
Sets the value of thescaleModeproperty.- Property description:
- Determines how a geometry can be interactively scaled (resized) to fill its allocated space while using the
GeometryEditor.This property is ignored during geometry editing if
allowScalingSelectedElementProperty()is false. It will be used to define how geometries are initially created by a drag interaction when the active tool is aShapeToolregardless of the value ofInteractionConfiguration.allowScalingSelectedElementProperty().The scale control handles displayed to the user differ according to the value of this property.
Attempting to set the value to null will throw a NullPointerException exception.
- Parameters:
scaleMode- the value for thescaleModeproperty- Since:
- 200.2.0
- See Also:
-
setAllowCreation
public void setAllowCreation(boolean allowCreation) Set true to enable creation, or false to disable creation.Sets the following properties:
Deletion, selection and transformation properties are unaltered.- Parameters:
allowCreation- true if creation is allowed, false otherwise.- Since:
- 200.1.0
-
setAllowDeletion
public void setAllowDeletion(boolean allowDeletion) Set true to enable deletion, or false to disable deletion.Sets the following properties:
Creation, selection and transformation properties are unaltered.- Parameters:
allowDeletion- true if deletion is allowed, false otherwise.- Since:
- 200.1.0
-
setAllowSelection
public void setAllowSelection(boolean allowSelection) Set true to enable selection, or false to disable selection.Sets the following properties:
Creation, deletion and transformation properties are unaltered.- Parameters:
allowSelection- true if selection is allowed, false otherwise.- Since:
- 200.1.0
-
setAllowTransformation
public void setAllowTransformation(boolean allowTransformation) Set true to enable interactions that transform theGeometryEditor.geometryProperty(), for exampleallowMovingSelectedElementProperty(). Set false to disable.Sets the following properties:
Creation, deletion and selection properties are unaltered.- Parameters:
allowTransformation- true if transformation is allowed, false otherwise.- Since:
- 200.1.0
-