LuciadCPillar 2023.1.04
luciad::IFeatureEditCandidateProvider Class Referenceabstract

An edit candidate provider determines which Features are considered for editing. More...

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

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

Public Member Functions

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

An edit candidate provider determines which Features are considered for editing.

This interface is used by Editor, who will use it to determine which Features are edited. An edit candidate can be configured using Editor::Builder::editCandidateProvider.

Edit candidates are typically determined using feature states. FeatureStateEditCandidateProvider for example allows you to return selected or hovered-over Features (or other FeatureStates).

Since
2020.1

Constructor & Destructor Documentation

◆ ~IFeatureEditCandidateProvider()

virtual luciad::IFeatureEditCandidateProvider::~IFeatureEditCandidateProvider ( )
virtualdefault

Member Function Documentation

◆ addObserver()

virtual void luciad::IFeatureEditCandidateProvider::addObserver ( std::shared_ptr< IFeatureEditCandidateObserver observer)
pure virtual

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.

Implemented in luciad::FeatureStateEditCandidateProvider.

◆ getEditCandidates()

virtual std::vector< LayerFeatureId > luciad::IFeatureEditCandidateProvider::getEditCandidates ( )
pure virtual
Returns
the list of edit candidates

Implemented in luciad::FeatureStateEditCandidateProvider.

◆ removeObserver()

virtual void luciad::IFeatureEditCandidateProvider::removeObserver ( const std::shared_ptr< IFeatureEditCandidateObserver > &  observer)
pure virtual

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.

Implemented in luciad::FeatureStateEditCandidateProvider.