Interface IEditHandles


public interface IEditHandles
Represents a collection of handles that determine how an edited object, a 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 appropriate EditHandlesEvents whenever handles are added or removed.

Note: IEditHandles is only accessed on the UI thread by Editor.

  • Method Details Link icon

    • getList Link icon

      @NotNull List<@NotNull IEditHandle> getList()
      Returns the list of all IEditHandle 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 Link icon

      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 is null.
    • removeObserver Link icon

      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 is null.