LuciadCPillar C# 2023.1.03
Luciad.Edit.Handles.PointEditHandle Class Reference

This handle represents a Point on the Map and can be visualized using an icon. More...

Inheritance diagram for Luciad.Edit.Handles.PointEditHandle:
Luciad.Edit.Handles.IEditHandle

Classes

interface  IVisualAidProvider
 This interface allows to calculate a visual aid line based on the location of the handle. More...
 

Public Member Functions

 PointEditHandle (Luciad.Geometries.Point initialLocation)
 
 PointEditHandle (Luciad.Utils.Observable< Luciad.Geometries.Point > locationProvider)
 
void AddEditStateObserver (Luciad.Utils.IInvalidationCallback observer)
 Adds an observer that is called when the edit state of this handle has changed. More...
 
Luciad.Edit.Handles.EditActionBinder AddOnClickAction (Luciad.Edit.Handles.IPointEditAction action, uint clickCount)
 
Luciad.Edit.Handles.EditActionBinder AddOnDragAction (Luciad.Edit.Handles.IPointEditAction action)
 
Luciad.Edit.Handles.EditActionBinder AddOnMouseMoveAction (Luciad.Edit.Handles.IPointEditAction action)
 
Luciad.Edit.Handles.EditActionBinder AddOnTouchLongPressAction (Luciad.Edit.Handles.IPointEditAction action)
 
void Dispose ()
 
Luciad.Edit.Handles.EditHandleState GetEditState ()
 
Luciad.Maps.? MouseCursor GetMouseCursor ()
 
Luciad.Controllers.EventResult OnEvent (Luciad.Input.IInputEvent inputEvent, Luciad.Edit.Features.FeatureEditContext context)
 Handles the given event, and returns if the event was consumed or not. More...
 
void Paint (Luciad.Layers.Features.FeatureCanvas canvas, Luciad.Edit.Features.FeatureEditContext context)
 Paints this handle on the given canvas. More...
 
void RemoveEditStateObserver (Luciad.Utils.IInvalidationCallback observer)
 Removes the given observer. More...
 
void SetInvalidationCallback (Luciad.Utils.IInvalidationCallback invalidationCallback)
 Sets the callback for the handle to call when its visual representation or cursor has changed. More...
 
void AddEditStateObserver (Luciad.Utils.IInvalidationCallback observer)
 Adds an observer that is called when the edit state of this handle has changed. More...
 
Luciad.Edit.Handles.EditHandleState GetEditState ()
 
Luciad.Maps.? MouseCursor GetMouseCursor ()
 
Luciad.Controllers.EventResult OnEvent (Luciad.Input.IInputEvent inputEvent, Luciad.Edit.Features.FeatureEditContext context)
 Handles the given event, and returns if the event was consumed or not. More...
 
void Paint (Luciad.Layers.Features.FeatureCanvas canvas, Luciad.Edit.Features.FeatureEditContext context)
 Paints this handle on the given canvas. More...
 
void RemoveEditStateObserver (Luciad.Utils.IInvalidationCallback observer)
 Removes the given observer. More...
 
void SetInvalidationCallback (Luciad.Utils.IInvalidationCallback invalidationCallback)
 Sets the callback for the handle to call when its visual representation or cursor has changed. More...
 

Properties

Luciad.Drawing.IIcon ActiveIcon [get, set]
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle ActiveVisualAidComplexStrokeLineStyle [get, set]
 
Luciad.Layers.Styles.LineStyle ActiveVisualAidLineStyle [get, set]
 
Luciad.Drawing.IIcon HighlightedIcon [get, set]
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle HighlightedVisualAidComplexStrokeLineStyle [get, set]
 
Luciad.Layers.Styles.LineStyle HighlightedVisualAidLineStyle [get, set]
 
bool IsUseFeatureAsHandle [get, set]
 
Luciad.Geometries.Point Location [get]
 
Luciad.Utils.Observable< Luciad.Geometries.PointLocationProvider [get]
 
Luciad.Utils.Observable< Luciad.Geometries.PointLocationProviderWhenActive [get, set]
 
Luciad.Edit.Handles.EditMoveConstraint MoveConstraint [get, set]
 
Luciad.Drawing.IIcon RegularIcon [get, set]
 
Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle RegularVisualAidComplexStrokeLineStyle [get, set]
 
Luciad.Layers.Styles.LineStyle RegularVisualAidLineStyle [get, set]
 
Luciad.Edit.Handles.PointEditHandle.IVisualAidProvider VisualAidLineProvider [get, set]
 
int ZOrder [get, set]
 

Detailed Description

This handle represents a Point on the Map and can be visualized using an icon.

It can be moved around, or react to mouse events. The handle executes IPointEditAction, based on mouse input events. IEditHandles implementations configure concrete IPointEditAction implementations on this handle to make sure they result in geometry or feature changes. For example, when this handle is dragged around on the Map, an IEditHandles implementation for polylines can make sure that the second point of the polyline is moved. This class supports the following gestures:

drag events click events mouse move events

This handle is painted using an icon at its current location. 2020.1

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::PointEditHandle.

Constructor & Destructor Documentation

◆ PointEditHandle() [1/2]

Luciad.Edit.Handles.PointEditHandle.PointEditHandle ( Luciad.Geometries.Point  initialLocation)
inline

◆ PointEditHandle() [2/2]

Luciad.Edit.Handles.PointEditHandle.PointEditHandle ( Luciad.Utils.Observable< Luciad.Geometries.Point locationProvider)
inline

Member Function Documentation

◆ AddEditStateObserver()

void Luciad.Edit.Handles.PointEditHandle.AddEditStateObserver ( Luciad.Utils.IInvalidationCallback  observer)
inline

Adds an observer that is called when the edit state of this handle has changed.

Adding the same observer twice is forbidden, and will cause an exception to be thrown.

observer

an observer

InvalidArgumentException

when the observer was already added.

2023.1

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::IEditHandle::addEditStateObserver.

Implements Luciad.Edit.Handles.IEditHandle.

◆ AddOnClickAction()

Luciad.Edit.Handles.EditActionBinder Luciad.Edit.Handles.PointEditHandle.AddOnClickAction ( Luciad.Edit.Handles.IPointEditAction  action,
uint  clickCount 
)
inline

◆ AddOnDragAction()

Luciad.Edit.Handles.EditActionBinder Luciad.Edit.Handles.PointEditHandle.AddOnDragAction ( Luciad.Edit.Handles.IPointEditAction  action)
inline

◆ AddOnMouseMoveAction()

Luciad.Edit.Handles.EditActionBinder Luciad.Edit.Handles.PointEditHandle.AddOnMouseMoveAction ( Luciad.Edit.Handles.IPointEditAction  action)
inline

◆ AddOnTouchLongPressAction()

Luciad.Edit.Handles.EditActionBinder Luciad.Edit.Handles.PointEditHandle.AddOnTouchLongPressAction ( Luciad.Edit.Handles.IPointEditAction  action)
inline

◆ Dispose()

void Luciad.Edit.Handles.PointEditHandle.Dispose ( )
inline

◆ GetEditState()

Luciad.Edit.Handles.EditHandleState Luciad.Edit.Handles.PointEditHandle.GetEditState ( )
inline

the current state of this handle.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::IEditHandle::getEditState.

Implements Luciad.Edit.Handles.IEditHandle.

◆ GetMouseCursor()

Luciad.Maps.? MouseCursor Luciad.Edit.Handles.PointEditHandle.GetMouseCursor ( )
inline

the current mouse cursor that should be displayed for this handle. This method typically returns a value when this handle is highlighted or active. If not, std::nullopt can be returned.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::IEditHandle::getMouseCursor.

Implements Luciad.Edit.Handles.IEditHandle.

◆ OnEvent()

Luciad.Controllers.EventResult Luciad.Edit.Handles.PointEditHandle.OnEvent ( Luciad.Input.IInputEvent  inputEvent,
Luciad.Edit.Features.FeatureEditContext  context 
)
inline

Handles the given event, and returns if the event was consumed or not.

While handling events, IEditHandles can mark themselves as highlighted or as Active. Related to event handling, the main effect of this is that highlighted or active handles get a higher priority compared to other handles: they get the chance to consume events first. See EditHandleState

inputEvent

the event to handle, cannot be nullptr

context

the context, cannot be nullptr

if the event was consumed or not

NullArgumentException

when nullptr is passed.

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::IEditHandle::onEvent.

Implements Luciad.Edit.Handles.IEditHandle.

◆ Paint()

void Luciad.Edit.Handles.PointEditHandle.Paint ( Luciad.Layers.Features.FeatureCanvas  canvas,
Luciad.Edit.Features.FeatureEditContext  context 
)
inline

Paints this handle on the given canvas.

This method is called when the handle's IEditHandles fires an EditHandlesEvent containing this handle, when the handle is newly added or removed for example. the handle triggers a new paint call itself by calling its invalidation callback.

This method only gets called on the UI thread, so there is no need for additional synchronization.

canvas

the canvas on which this handle gets painted.

context

the context, cannot be nullptr

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::IEditHandle::paint.

Implements Luciad.Edit.Handles.IEditHandle.

◆ RemoveEditStateObserver()

void Luciad.Edit.Handles.PointEditHandle.RemoveEditStateObserver ( Luciad.Utils.IInvalidationCallback  observer)
inline

Removes the given observer.

If the given observer was never added, an exception is thrown.

observer

an observer

InvalidArgumentException

when the observer is not known.

2023.1

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::IEditHandle::removeEditStateObserver.

Implements Luciad.Edit.Handles.IEditHandle.

◆ SetInvalidationCallback()

void Luciad.Edit.Handles.PointEditHandle.SetInvalidationCallback ( Luciad.Utils.IInvalidationCallback  invalidationCallback)
inline

Sets the callback for the handle to call when its visual representation or cursor has changed.

Calling this callback triggers a new call to this handle's paint method.

invalidationCallback

the callback for the handle to call when its visual representation has changed

Warning
C# documentation translation is incomplete. You can find more information in the C++ documentation for luciad::IEditHandle::setInvalidationCallback.

Implements Luciad.Edit.Handles.IEditHandle.

Property Documentation

◆ ActiveIcon

Luciad.Drawing.IIcon Luciad.Edit.Handles.PointEditHandle.ActiveIcon
getset

◆ ActiveVisualAidComplexStrokeLineStyle

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle Luciad.Edit.Handles.PointEditHandle.ActiveVisualAidComplexStrokeLineStyle
getset

◆ ActiveVisualAidLineStyle

Luciad.Layers.Styles.LineStyle Luciad.Edit.Handles.PointEditHandle.ActiveVisualAidLineStyle
getset

◆ HighlightedIcon

Luciad.Drawing.IIcon Luciad.Edit.Handles.PointEditHandle.HighlightedIcon
getset

◆ HighlightedVisualAidComplexStrokeLineStyle

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle Luciad.Edit.Handles.PointEditHandle.HighlightedVisualAidComplexStrokeLineStyle
getset

◆ HighlightedVisualAidLineStyle

Luciad.Layers.Styles.LineStyle Luciad.Edit.Handles.PointEditHandle.HighlightedVisualAidLineStyle
getset

◆ IsUseFeatureAsHandle

bool Luciad.Edit.Handles.PointEditHandle.IsUseFeatureAsHandle
getset

◆ Location

Luciad.Geometries.Point Luciad.Edit.Handles.PointEditHandle.Location
get

◆ LocationProvider

Luciad.Utils.Observable<Luciad.Geometries.Point> Luciad.Edit.Handles.PointEditHandle.LocationProvider
get

◆ LocationProviderWhenActive

Luciad.Utils.Observable<Luciad.Geometries.Point> Luciad.Edit.Handles.PointEditHandle.LocationProviderWhenActive
getset

◆ MoveConstraint

Luciad.Edit.Handles.EditMoveConstraint Luciad.Edit.Handles.PointEditHandle.MoveConstraint
getset

◆ RegularIcon

Luciad.Drawing.IIcon Luciad.Edit.Handles.PointEditHandle.RegularIcon
getset

◆ RegularVisualAidComplexStrokeLineStyle

Luciad.Layers.Styles.ComplexStrokes.ComplexStrokeLineStyle Luciad.Edit.Handles.PointEditHandle.RegularVisualAidComplexStrokeLineStyle
getset

◆ RegularVisualAidLineStyle

Luciad.Layers.Styles.LineStyle Luciad.Edit.Handles.PointEditHandle.RegularVisualAidLineStyle
getset

◆ VisualAidLineProvider

Luciad.Edit.Handles.PointEditHandle.IVisualAidProvider Luciad.Edit.Handles.PointEditHandle.VisualAidLineProvider
getset

◆ ZOrder

int Luciad.Edit.Handles.PointEditHandle.ZOrder
getset