LuciadCPillar 2023.1.04
luciad::FeatureStateEditCandidateProvider Class Referencefinal

This IFeatureEditCandidateProvider uses enabled FeatureStates to determine editing candidates. More...

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

Inheritance diagram for luciad::FeatureStateEditCandidateProvider:
luciad::IFeatureEditCandidateProvider

Public Member Functions

 FeatureStateEditCandidateProvider (const std::shared_ptr< Map > &map, FeatureState featureState)
 Creates a new FeatureStateEditCandidateProvider for the given map, using the given FeatureState. More...
 
 ~FeatureStateEditCandidateProvider () override
 
void addObserver (std::shared_ptr< IFeatureEditCandidateObserver > observer) override
 Adds an observer that allows you to receive change events from this edit candidate provider. More...
 
std::vector< LayerFeatureIdgetEditCandidates () override
 
void removeObserver (const std::shared_ptr< IFeatureEditCandidateObserver > &observer) override
 Removes the given observer. More...
 
- Public Member Functions inherited from luciad::IFeatureEditCandidateProvider
virtual ~IFeatureEditCandidateProvider ()=default
 
virtual void addObserver (std::shared_ptr< IFeatureEditCandidateObserver > observer)=0
 Adds an observer that allows you to receive change events from this edit candidate provider. More...
 
virtual std::vector< LayerFeatureIdgetEditCandidates ()=0
 
virtual void removeObserver (const std::shared_ptr< IFeatureEditCandidateObserver > &observer)=0
 Removes the given observer. More...
 

Detailed Description

This IFeatureEditCandidateProvider uses enabled FeatureStates to determine editing candidates.

It can for example provide:

Since
2020.1

Constructor & Destructor Documentation

◆ FeatureStateEditCandidateProvider()

luciad::FeatureStateEditCandidateProvider::FeatureStateEditCandidateProvider ( const std::shared_ptr< Map > &  map,
FeatureState  featureState 
)
explicit

Creates a new FeatureStateEditCandidateProvider for the given map, using the given FeatureState.

Parameters
mapthe map
featureStatea FeatureState

◆ ~FeatureStateEditCandidateProvider()

luciad::FeatureStateEditCandidateProvider::~FeatureStateEditCandidateProvider ( )
override

Member Function Documentation

◆ addObserver()

void luciad::FeatureStateEditCandidateProvider::addObserver ( std::shared_ptr< IFeatureEditCandidateObserver observer)
overridevirtual

Adds an observer that allows you to receive change events from this edit candidate provider.

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

Parameters
observeran observer
Exceptions
luciad::InvalidArgumentExceptionwhen the observer was already added.
luciad::NullArgumentExceptionwhen the observer is nullptr.

Implements luciad::IFeatureEditCandidateProvider.

◆ getEditCandidates()

std::vector< LayerFeatureId > luciad::FeatureStateEditCandidateProvider::getEditCandidates ( )
overridevirtual
Returns
the list of edit candidates

Implements luciad::IFeatureEditCandidateProvider.

◆ removeObserver()

void luciad::FeatureStateEditCandidateProvider::removeObserver ( const std::shared_ptr< IFeatureEditCandidateObserver > &  observer)
overridevirtual

Removes the given observer.

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

Parameters
observeran observer
Exceptions
luciad::InvalidArgumentExceptionwhen the observer is not known.
luciad::NullArgumentExceptionwhen the observer is nullptr.

Implements luciad::IFeatureEditCandidateProvider.