Interface IEditHandles
Feature
or a Geometry
for example, can be modified.
This collection keeps itself up-to-date while the edited object changes.
See the related guide for an overview of the editing API.
The responsibilities of this class are to:
- provide a list of handles that can be used to interact with the edited object. For example, it provides handles that move one of the points that makes up a polyline.
- make sure that this list of handles remains up-to-date when the edited feature or geometry is changed by one of its own handles. This can mean adding, updating or removing handles.
- make sure that this list of handles remains up-to-date when the edited feature or geometry
changes externally
. - keep track of
IEditHandlesObserver
s, and fire the appropriateEditHandlesEvent
s whenever handles are added or removed.
Note: IEditHandles
is only accessed on the UI thread by Editor
.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addObserver
(IEditHandlesObserver observer) Adds an observer that allows you to receive change events when a handle is added or removed.List
<@NotNull IEditHandle> getList()
Returns the list of allIEditHandle
instances that can be used for editing.void
removeObserver
(IEditHandlesObserver observer) Removes the given observer.
-
Method Details
-
getList
Returns the list of allIEditHandle
instances that can be used for editing.To make sure these handles are used in a consistent way, it's important to return them in a consistent order. The
Editor
prioritizes handles for event handling according to the order they are returned in. The first returned element has the highest priority.All handles returned by this method must be valid, meaning that
null
handles must be filtered out.- Returns:
- the list of all
IEditHandle
instances that can be used for editing.
-
addObserver
void addObserver(@NotNull IEditHandlesObserver observer) throws NullPointerException, IllegalArgumentException Adds an observer that allows you to receive change events when a handle is added or removed.Adding the same observer twice is forbidden, and will cause an exception to be thrown.
- Parameters:
observer
- an observer.- Throws:
IllegalArgumentException
- when the observer was already added.NullPointerException
- when the observer isnull
.
-
removeObserver
void removeObserver(@NotNull IEditHandlesObserver observer) throws NullPointerException, IllegalArgumentException Removes the given observer.If the given observer was never added or already removed, an exception is thrown.
- Parameters:
observer
- an observer.- Throws:
IllegalArgumentException
- when the observer is not known.NullPointerException
- when the observer isnull
.
-