LuciadCPillar 2023.1.04
luciad::FeatureEditConfigurationBuilder Class Referenceabstract

This builder can be used to configure editing for a layer. More...

#include <luciad/edit/features/FeatureEditConfigurationBuilder.h>

Public Member Functions

virtual ~FeatureEditConfigurationBuilder ()=default
 
virtual FeatureEditConfigurationBuilderhandlesProvider (std::shared_ptr< IFeatureHandlesProvider > handlesProvider)=0
 Configures the handles provider that is used to provide the edit handles for a feature. More...
 
virtual void notEditable ()=0
 Disable editing for the current feature. More...
 
virtual void submit ()=0
 Submits the information to this builder, and confirm that the current feature can be edited. More...
 
virtual FeatureEditConfigurationBuilderupdateMode (ModelUpdateMode updateMode)=0
 This setting gives more control over when and how often the model is updated during interactive editing. More...
 

Detailed Description

This builder can be used to configure editing for a layer.

See FeatureLayer::Builder::editConfiguration.

See the related guide for more configuration options.

Since
2020.1

Constructor & Destructor Documentation

◆ ~FeatureEditConfigurationBuilder()

virtual luciad::FeatureEditConfigurationBuilder::~FeatureEditConfigurationBuilder ( )
virtualdefault

Member Function Documentation

◆ handlesProvider()

virtual FeatureEditConfigurationBuilder & luciad::FeatureEditConfigurationBuilder::handlesProvider ( std::shared_ptr< IFeatureHandlesProvider handlesProvider)
pure virtual

Configures the handles provider that is used to provide the edit handles for a feature.

Calling this method is optional. If this method is not called, a default implementation will be configured. See CompositeFeatureHandlesProvider::createDefault().

Parameters
handlesProvidera handles provider for Features, cannot be nullptr
Returns
this
Exceptions
NullArgumentExceptionwhen nullptr is passed.

◆ notEditable()

virtual void luciad::FeatureEditConfigurationBuilder::notEditable ( )
pure virtual

Disable editing for the current feature.

Either this method, or the submit() method must be called.

Note: you can disable editing for all features of a layer by not configuring an IFeatureEditConfiguration.

◆ submit()

virtual void luciad::FeatureEditConfigurationBuilder::submit ( )
pure virtual

Submits the information to this builder, and confirm that the current feature can be edited.

Either this method, or the notEditable method must be called.

Exceptions
luciad::LogicExceptionon an illegal state, e.g. when already submitted.

◆ updateMode()

virtual FeatureEditConfigurationBuilder & luciad::FeatureEditConfigurationBuilder::updateMode ( ModelUpdateMode  updateMode)
pure virtual

This setting gives more control over when and how often the model is updated during interactive editing.

It is useful to make sure that the model is updated less often when model updates are expensive, for example for models with a database backend, or other models that don't keep Feature state in memory.

The default is ModelUpdateMode::OnAnyChange.

Parameters
updateModethe update mode
Returns
this