LuciadCPillar 2024.0.04
|
This class can provide edit handles
for a given Feature.
More...
#include <luciad/edit/features/IFeatureHandlesProvider.h>
Public Member Functions | |
virtual | ~IFeatureHandlesProvider ()=default |
virtual bool | canProvide (const std::shared_ptr< Observable< Feature > > &feature, const std::shared_ptr< FeatureEditContext > &context) const =0 |
Indicates if this handles provider can create handles for the given Feature. More... | |
virtual std::shared_ptr< IEditHandles > | provide (std::shared_ptr< Observable< Feature > > feature, const std::shared_ptr< FeatureEditContext > &context, std::shared_ptr< IFeatureEditCallback > featureEditCallback) const =0 |
Returns handles for the given feature. More... | |
This class can provide edit handles
for a given Feature.
The given Feature is passed to this provider as an Observable
. This object allows Editor
to communicate
feature changes
to the IEditHandles
implementations, who can use it to create and update their collection of handles. Editing changes originating from IEditHandles
are communicated to the Editor
using IFeatureEditCallback
. See also the related guide on editing interactions.
See the related guide for an overview of the editing API.
In many cases, the FeatureHandlesProvider
implementation is sufficient.
|
virtualdefault |
|
pure virtual |
Indicates if this handles provider can create handles for the given Feature.
feature | an observable Feature. |
context | the context. Contains additional information about the edited feature. |
Implemented in luciad::CompositeFeatureHandlesProvider, luciad::FeatureHandlesProvider, and luciad::MilitarySymbolFeatureHandlesProvider.
|
pure virtual |
Returns handles for the given feature.
If this provider doesn't support the given feature, it can return nullptr
.
feature | the observable feature for which to create handles. |
context | the context. Contains additional information about the edited feature. |
featureEditCallback | a callback that notifies the caller when the Feature has changed. |
nullptr
. Implemented in luciad::CompositeFeatureHandlesProvider, luciad::FeatureHandlesProvider, and luciad::MilitarySymbolFeatureHandlesProvider.