LuciadCPillar 2023.1.03
handles

Edit handles. More...

Classes

class  luciad::EditActionBinder
 This class allows you to specify more options or requirements for actions that can be executed by handles, such as the mouse buttons that users need to click for the action to be executed, or the mouse cursor that is displayed when interacting with the handle. More...
 
class  luciad::EditHandlesEvent
 Event that indicates that the collection of edit handles has changed. More...
 
class  luciad::IEditHandle
 An edit handle is a visual element on the Map that can react to events to perform an edit operation. More...
 
class  luciad::IEditHandles
 Represents a collection of handles that determine how an edited object, a Feature or a Geometry for example, can be modified. More...
 
class  luciad::IEditHandlesObserver
 An observer that allows you to receive change events from an IEditHandles when the collection of handles changes. More...
 
class  luciad::IPointEditAction
 Abstraction of an action that is executed based on a Point. More...
 
class  luciad::ITranslateEditAction
 A translate action performs a translation of a geometry or feature. More...
 
class  luciad::PointEditHandle
 This handle represents a Point on the Map and can be visualized using an icon. More...
 
class  luciad::TranslateEditHandle
 This handle allows you to translate a feature by translating its geometry using ITranslateEditAction. More...
 

Enumerations

enum class  luciad::EditHandleState { luciad::EditHandleState::Inactive , luciad::EditHandleState::Highlighted , luciad::EditHandleState::Active }
 The possible states of an IEditHandle. More...
 
enum class  luciad::EditMoveConstraint { luciad::EditMoveConstraint::XY , luciad::EditMoveConstraint::Z }
 A constraint that determines how a move operation is constrained. More...
 

Detailed Description

Edit handles.

An edit handle is a visual element on the Map that can react to events to perform an edit operation. See the related guide for an overview of the editing API.

Enumeration Type Documentation

◆ EditHandleState

enum class luciad::EditHandleState
strong

The possible states of an IEditHandle.

luciad/edit/handles/IEditHandle.h

The state determines the order in which events are dispatched to a handle, and the order in which the mouse cursor is retrieved: Active > Highlighted > Inactive

Depending on their state, handles are usually visualized differently or have a different mouse cursor.

Since
2020.1
Enumerator
Inactive 

Inactive handles have the lowest priority when it comes to event handling.

Both highlighted and active handles have a higher priority. They are also typically painted differently than highlighted or active handles, and they typically don't trigger the use of a non-standard mouse cursor.

Highlighted 

Highlighted handles are not interacted with, but signal that they are ready for interaction.

Handles are typically highlighted when users hover over them using the mouse. As for handling events, active handles take precedence. Highlighted handles however take precedence over other handles, and get the chance to become active first.

Highlighted handles can be painted differently to make it visually clear that they can be interacted with, or they can trigger the use of a different mouse cursor.

Active 

Active handles are handles that users are currently interacting with.

This is the case while a user drags a point handle, for example. Active handles get the chance to consume events before any other handle.

Active handles can be painted differently to make it visually clear that they are being interacted with, or they can trigger the use of a different mouse cursor.

◆ EditMoveConstraint

enum class luciad::EditMoveConstraint
strong

A constraint that determines how a move operation is constrained.

luciad/edit/handles/PointEditHandle.h

It is used by luciad::PointEditHandle for example, to configure if the handle can be moved horizontally (parallel to the map) or vertically (in the Z direction).

Since
2020.1
Enumerator
XY 

With this constraint, moving is only allowed in the x- and y-directions.

With this constraint, moving is only allowed in the Z direction, keeping the x- and y-direction constant.