LuciadCPillar C# 2024.0.02
Luciad.Edit.Geometries.CompositeGeometryHandlesProvider Class Reference

A composite implementation of IGeometryHandlesProvider. More...

Inheritance diagram for Luciad.Edit.Geometries.CompositeGeometryHandlesProvider:
Luciad.Edit.Geometries.IGeometryHandlesProvider

Public Member Functions

 CompositeGeometryHandlesProvider ()
 Creates an empty composite instance. More...
 
void Add (IGeometryHandlesProvider handlesProvider, Containers.Priority? priority=null)
 
bool CanProvide (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context)
 Indicates if this handles provider can create handles for the given geometry. More...
 
void Dispose ()
 
Luciad.Edit.Handles.IEditHandles Provide (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Geometries.IGeometryEditCallback geometryEditCallback)
 Returns the handles for the given feature. More...
 
Luciad.Edit.Handles.ITranslateEditAction ProvideTranslateAction (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Geometries.IGeometryEditCallback geometryEditCallback)
 Provides a translate action that can be used by the caller to add translation behavior. More...
 
void Remove (Luciad.Edit.Geometries.IGeometryHandlesProvider handlesProvider)
 Removes this given instance from the list of registered instances. More...
 
bool CanProvide (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context)
 Indicates if this handles provider can create handles for the given geometry. More...
 
Luciad.Edit.Handles.IEditHandles Provide (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Geometries.IGeometryEditCallback geometryEditCallback)
 Returns the handles for the given feature. More...
 
Luciad.Edit.Handles.ITranslateEditAction ProvideTranslateAction (Luciad.Utils.Observable< Luciad.Geometries.Geometry > geometry, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Geometries.IGeometryEditCallback geometryEditCallback)
 Provides a translate action that can be used by the caller to add translation behavior. More...
 

Static Public Member Functions

static Luciad.Edit.Geometries.CompositeGeometryHandlesProvider CreateDefault ()
 Creates a a composite instance with a default set of instances that can handle the following geometries: More...
 

Properties

System.Collections.Generic.IList< Luciad.Edit.Geometries.IGeometryHandlesProviderList [get]
 The list containing all registered instances, ordered by priority (highest priority first). More...
 

Detailed Description

A composite implementation of IGeometryHandlesProvider.

This composite allows you to:

The composite implementation uses its delegate instances in a specific order. The order is based on the priority you assign when you add the delegate instance. If the priorities of two instances are equal, the instance that you added first gets priority.

A default implementation is available, see CreateDefault.

Since
2020.1

Constructor & Destructor Documentation

◆ CompositeGeometryHandlesProvider()

Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.CompositeGeometryHandlesProvider ( )
inline

Creates an empty composite instance.

Member Function Documentation

◆ Add()

void Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.Add ( IGeometryHandlesProvider  handlesProvider,
Containers.Priority priority = null 
)
inline

◆ CanProvide()

bool Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.CanProvide ( Luciad.Utils.Observable< Luciad.Geometries.Geometry geometry,
Luciad.Edit.Features.FeatureEditContext  context 
)
inline

Indicates if this handles provider can create handles for the given geometry.

Parameters
geometryan observable geometry, cannot be null
contextthe context. Contains additional information about the edited feature, cannot be null.
Returns
if this handles provider can provide handles and a translate action for the given Feature

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

◆ CreateDefault()

static Luciad.Edit.Geometries.CompositeGeometryHandlesProvider Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.CreateDefault ( )
inlinestatic

Creates a a composite instance with a default set of instances that can handle the following geometries:

Returns
a composite instance with a default set of instances. These instances are registered using CompositeGeometryHandlesProvider::PriorityDefault.

◆ Dispose()

void Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.Dispose ( )
inline

◆ Provide()

Luciad.Edit.Handles.IEditHandles Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.Provide ( Luciad.Utils.Observable< Luciad.Geometries.Geometry geometry,
Luciad.Edit.Features.FeatureEditContext  context,
Luciad.Edit.Geometries.IGeometryEditCallback  geometryEditCallback 
)
inline

Returns the handles for the given feature.

Note: translation of features is handled by IFeatureHandlesProvider. So geometry handles providers should not provide handles to translate a geometry.

Parameters
geometrythe observable geometry for which to provide handles, cannot be null.
contextthe context. Contains additional information about the edited feature, cannot be null.
geometryEditCallbacka callback that notifies the caller when the Feature has changed, cannot be null.
Returns
handles for the given feature. Never null.

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

◆ ProvideTranslateAction()

Luciad.Edit.Handles.ITranslateEditAction Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.ProvideTranslateAction ( Luciad.Utils.Observable< Luciad.Geometries.Geometry geometry,
Luciad.Edit.Features.FeatureEditContext  context,
Luciad.Edit.Geometries.IGeometryEditCallback  geometryEditCallback 
)
inline

Provides a translate action that can be used by the caller to add translation behavior.

A translation handle is typically added by an IFeatureHandlesProvider, like for example the FeatureHandlesProvider implementation. It calls this method to retrieve a translate action, and uses it to create a TranslateEditHandle.

When ITranslateEditAction.Translate is called, the returned implementation must:

Parameters
geometrythe observable geometry for which to provide a translate action, cannot be null
contextthe context, cannot be null
geometryEditCallbacka callback that notifies the caller of this method when a translation has occurred, cannot be null
Returns
a translate action. Never null.

Implements Luciad.Edit.Geometries.IGeometryHandlesProvider.

◆ Remove()

void Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.Remove ( Luciad.Edit.Geometries.IGeometryHandlesProvider  handlesProvider)
inline

Removes this given instance from the list of registered instances.

Nothing will happen if the given instance was never added before.

Parameters
handlesProviderthe instance to remove from this composite, cannot be null.
Exceptions
System.ArgumentNullExceptionwhen null is passed.

Property Documentation

◆ List

System.Collections.Generic.IList<Luciad.Edit.Geometries.IGeometryHandlesProvider> Luciad.Edit.Geometries.CompositeGeometryHandlesProvider.List
get

The list containing all registered instances, ordered by priority (highest priority first).

[get]

Returns the list containing all registered instances, ordered by priority (highest priority first).