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
IEditHandlesObservers, and fire the appropriateEditHandlesEvents whenever handles are added or removed.
Note: IEditHandles is only accessed on the UI thread by Editor.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddObserver(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 allIEditHandleinstances that can be used for editing.voidremoveObserver(IEditHandlesObserver observer) Removes the given observer.
-
Method Details
-
getList
Returns the list of allIEditHandleinstances 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
Editorprioritizes 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
nullhandles must be filtered out.- Returns:
- the list of all
IEditHandleinstances 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.
-