LuciadCPillar C# 2024.0.08
Luciad.Edit.Features.CompositeFeatureHandlesProvider Class Reference

A composite implementation of IFeatureHandlesProvider. More...

Inheritance diagram for Luciad.Edit.Features.CompositeFeatureHandlesProvider:
Luciad.Edit.Features.IFeatureHandlesProvider

Public Member Functions

 CompositeFeatureHandlesProvider ()
 Creates an empty composite instance. More...
 
void Add (IFeatureHandlesProvider handlesProvider, Containers.Priority? priority=null)
 
bool CanProvide (Luciad.Utils.Observable< Luciad.Models.Features.Feature > feature, Luciad.Edit.Features.FeatureEditContext context)
 Indicates if this handles provider can create handles for the given Feature. More...
 
void Dispose ()
 
Luciad.Edit.Handles.IEditHandles Provide (Luciad.Utils.Observable< Luciad.Models.Features.Feature > feature, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Features.IFeatureEditCallback featureEditCallback)
 Returns handles for the given feature. More...
 
void Remove (Luciad.Edit.Features.IFeatureHandlesProvider handlesProvider)
 Removes this given instance from the list of registered instances. More...
 
bool CanProvide (Luciad.Utils.Observable< Luciad.Models.Features.Feature > feature, Luciad.Edit.Features.FeatureEditContext context)
 Indicates if this handles provider can create handles for the given Feature. More...
 
Luciad.Edit.Handles.IEditHandles Provide (Luciad.Utils.Observable< Luciad.Models.Features.Feature > feature, Luciad.Edit.Features.FeatureEditContext context, Luciad.Edit.Features.IFeatureEditCallback featureEditCallback)
 Returns handles for the given feature. More...
 

Static Public Member Functions

static Luciad.Edit.Features.CompositeFeatureHandlesProvider CreateDefault ()
 Creates a composite instance with a default set of instances that can handle any Feature instance that can be edited through its Geometry, using the configured geometry provider. More...
 

Properties

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

Detailed Description

A composite implementation of IFeatureHandlesProvider.

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

◆ CompositeFeatureHandlesProvider()

Luciad.Edit.Features.CompositeFeatureHandlesProvider.CompositeFeatureHandlesProvider ( )
inline

Creates an empty composite instance.

Member Function Documentation

◆ Add()

void Luciad.Edit.Features.CompositeFeatureHandlesProvider.Add ( IFeatureHandlesProvider  handlesProvider,
Containers.Priority priority = null 
)
inline

◆ CanProvide()

bool Luciad.Edit.Features.CompositeFeatureHandlesProvider.CanProvide ( Luciad.Utils.Observable< Luciad.Models.Features.Feature feature,
Luciad.Edit.Features.FeatureEditContext  context 
)
inline

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

Parameters
featurean observable Feature.
contextthe context. Contains additional information about the edited feature.
Returns
if this handles provider can create handles for the given Feature.

Implements Luciad.Edit.Features.IFeatureHandlesProvider.

◆ CreateDefault()

static Luciad.Edit.Features.CompositeFeatureHandlesProvider Luciad.Edit.Features.CompositeFeatureHandlesProvider.CreateDefault ( )
inlinestatic

Creates a composite instance with a default set of instances that can handle any Feature instance that can be edited through its Geometry, using the configured geometry provider.

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

◆ Dispose()

void Luciad.Edit.Features.CompositeFeatureHandlesProvider.Dispose ( )
inline

◆ Provide()

Luciad.Edit.Handles.IEditHandles Luciad.Edit.Features.CompositeFeatureHandlesProvider.Provide ( Luciad.Utils.Observable< Luciad.Models.Features.Feature feature,
Luciad.Edit.Features.FeatureEditContext  context,
Luciad.Edit.Features.IFeatureEditCallback  featureEditCallback 
)
inline

Returns handles for the given feature.

If this provider doesn't support the given feature, it can return null.

Parameters
featurethe observable feature for which to create handles.
contextthe context. Contains additional information about the edited feature.
featureEditCallbacka callback that notifies the caller when the Feature has changed.
Returns
handles for the given feature. If this provider doesn't support the given feature, it can return null.

Implements Luciad.Edit.Features.IFeatureHandlesProvider.

◆ Remove()

void Luciad.Edit.Features.CompositeFeatureHandlesProvider.Remove ( Luciad.Edit.Features.IFeatureHandlesProvider  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.
Exceptions
System.ArgumentNullExceptionwhen null is passed.

Property Documentation

◆ List

System.Collections.Generic.IList<Luciad.Edit.Features.IFeatureHandlesProvider> Luciad.Edit.Features.CompositeFeatureHandlesProvider.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).