The controller part of a FloorFilter. This class handles the visibility of levels, and listening to changes to the current viewpoint for automatically selecting a level. More...
Header: | #include <FloorFilterController> |
Inherits: | QObject |
Public Types
enum class | AutomaticSelectionMode { Never, Always, AlwaysNonClearing } |
enum class | UpdateLevelsMode { AllLevelsMatchingVerticalOrder } |
Properties
|
|
Public Functions
FloorFilterController(QObject *parent = nullptr) | |
virtual | ~FloorFilterController() override |
Esri::ArcGISRuntime::Toolkit::FloorFilterController::AutomaticSelectionMode | automaticSelectionMode() const |
Esri::ArcGISRuntime::Toolkit::GenericListModel * | facilities() const |
Esri::ArcGISRuntime::Toolkit::FloorFilterFacilityItem * | facility(const QString &facilityId) const |
QObject * | geoView() const |
bool | isSelectedSiteRespected() const |
Esri::ArcGISRuntime::Toolkit::FloorFilterLevelItem * | level(const QString &levelId) const |
Esri::ArcGISRuntime::Toolkit::GenericListModel * | levels() const |
QString | selectedFacilityId() const |
QString | selectedLevelId() const |
QString | selectedSiteId() const |
void | setAutomaticSelectionMode(Esri::ArcGISRuntime::Toolkit::FloorFilterController::AutomaticSelectionMode automaticSelectionMode) |
void | setGeoView(QObject *geoView) |
void | setIsSelectedSiteRespected(bool isSelectedSiteRespected) |
void | setSelectedFacilityId(QString selectedFacilityId) |
void | setSelectedLevelId(QString selectedLevelId) |
void | setSelectedSiteId(QString selectedSiteId) |
void | setUpdateLevelsMode(Esri::ArcGISRuntime::Toolkit::FloorFilterController::UpdateLevelsMode updateLevelsMode) |
Esri::ArcGISRuntime::Toolkit::FloorFilterSiteItem * | site(const QString &siteId) const |
Esri::ArcGISRuntime::Toolkit::GenericListModel * | sites() const |
Esri::ArcGISRuntime::Toolkit::FloorFilterController::UpdateLevelsMode | updateLevelsMode() const |
void | zoomToFacility(const QString &facilityId) |
void | zoomToFacility(Esri::ArcGISRuntime::Toolkit::FloorFilterFacilityItem *facilityItem) |
void | zoomToSite(const QString &siteId) |
void | zoomToSite(Esri::ArcGISRuntime::Toolkit::FloorFilterSiteItem *siteItem) |
Signals
void | automaticSelectionModeChanged() |
void | geoViewChanged() |
void | isSelectedSiteRespectedChanged() |
void | selectedFacilityIdChanged(const QString &oldId, const QString &newId) |
void | selectedLevelIdChanged(const QString &oldId, const QString &newId) |
void | selectedSiteIdChanged(const QString &oldId, const QString &newId) |
void | updateLevelsModeChanged() |
Detailed Description
Member Type Documentation
enum class FloorFilterController::AutomaticSelectionMode
The mode that defines how facilities are selected by viewpoint navigation.
Constant | Value | Description |
---|---|---|
Esri::ArcGISRuntime::Toolkit::FloorFilterController::AutomaticSelectionMode::Never | 0 | Viewpoint navigation does not affect the currently selected facility. |
Esri::ArcGISRuntime::Toolkit::FloorFilterController::AutomaticSelectionMode::Always | 1 | When the geoview's current viewpoint updates, the controller tests to see if the facility intersect the viewpoint, and selects it if so. If no facility intersects the viewpoint, then the current facility is deselected. |
Esri::ArcGISRuntime::Toolkit::FloorFilterController::AutomaticSelectionMode::AlwaysNonClearing | 2 | Variant of Always , but if there is no facility to select within the viewpoint then we do not deselect the current viewpoint. |
See also Esri::ArcGISRuntime::Toolkit::FloorFilterController::automaticSelectionMode.
enum class FloorFilterController::UpdateLevelsMode
The mode that defines how levels are made visible/invisible in the geoView.
Constant | Value | Description |
---|---|---|
Esri::ArcGISRuntime::Toolkit::FloorFilterController::UpdateLevelsMode::AllLevelsMatchingVerticalOrder | 0 | When a level is selected, all levels with matching vertical order are made visible, all other levels are invisible. |
See also Esri::ArcGISRuntime::Toolkit::FloorFilterController::updateLevelsMode.
Property Documentation
automaticSelectionMode : AutomaticSelectionMode
Returns the current level update mode in use.
Defaults to FloorFilterController::AutomaticSelectionMode::Always
.
Access functions:
Esri::ArcGISRuntime::Toolkit::FloorFilterController::AutomaticSelectionMode | automaticSelectionMode() const |
void | setAutomaticSelectionMode(Esri::ArcGISRuntime::Toolkit::FloorFilterController::AutomaticSelectionMode automaticSelectionMode) |
Notifier signal:
[read-only]
facilities : QAbstractListModel * const
Returns the facilities in the currently selected site.
Access functions:
Esri::ArcGISRuntime::Toolkit::GenericListModel * | facilities() const |
See also selectedSiteId.
geoView : QObject*
Returns the GeoView
as a QObject
.
Access functions:
QObject * | geoView() const |
void | setGeoView(QObject *geoView) |
Notifier signal:
void | geoViewChanged() |
[read-only]
levels : QAbstractListModel * const
Returns the levels in the currently selected facility.
Access functions:
Esri::ArcGISRuntime::Toolkit::GenericListModel * | levels() const |
See also selectedFacilityId.
[read-only]
selectedFacility : FloorFilterFacilityItem * const
Returns the FloorFilterFacilityItem that matches the current selectedFacilityId.
Notifier signal:
void | selectedFacilityIdChanged(const QString &oldId, const QString &newId) |
selectedFacilityId : QString
Returns the ID of the currently selected facility.
Access functions:
QString | selectedFacilityId() const | |
void | setSelectedFacilityId(QString selectedFacilityId) | [see note below] |
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Notifier signal:
void | selectedFacilityIdChanged(const QString &oldId, const QString &newId) |
[read-only]
selectedLevel : FloorFilterLevelItem * const
Returns the FloorFilterLevelItem that matches the current selectedLevelId.
Notifier signal:
void | selectedLevelIdChanged(const QString &oldId, const QString &newId) |
selectedLevelId : QString
Returns the ID of the currently selected level.
Access functions:
QString | selectedLevelId() const | |
void | setSelectedLevelId(QString selectedLevelId) | [see note below] |
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Notifier signal:
void | selectedLevelIdChanged(const QString &oldId, const QString &newId) |
[read-only]
selectedSite : FloorFilterSiteItem * const
Returns the FloorFilterSiteItem that matches the current selectedSiteId.
Notifier signal:
void | selectedSiteIdChanged(const QString &oldId, const QString &newId) |
selectedSiteId : QString
Returns the ID of the currently selected site.
Access functions:
QString | selectedSiteId() const | |
void | setSelectedSiteId(QString selectedSiteId) | [see note below] |
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Notifier signal:
void | selectedSiteIdChanged(const QString &oldId, const QString &newId) |
selectedSiteRespected : bool
Returns whether the selected site is respected.
When the selected site is respected, the facilities list is limited to the facilities which match the selected site. If the selected site is not respected, then facilities will contain all facilities from all sites, regardless of the selected site.
Access functions:
bool | isSelectedSiteRespected() const |
void | setIsSelectedSiteRespected(bool isSelectedSiteRespected) |
Notifier signal:
[read-only]
sites : QAbstractListModel * const
Returns the site in the current GeoView
's FloorManager.
Access functions:
Esri::ArcGISRuntime::Toolkit::GenericListModel * | sites() const |
See also geoView.
updateLevelsMode : UpdateLevelsMode
Returns the current level update mode in use.
Defaults to FloorFilterController::UpdateLevelsMode::AllLevelsMatchingVerticalOrder
.
Access functions:
Esri::ArcGISRuntime::Toolkit::FloorFilterController::UpdateLevelsMode | updateLevelsMode() const |
void | setUpdateLevelsMode(Esri::ArcGISRuntime::Toolkit::FloorFilterController::UpdateLevelsMode updateLevelsMode) |
Notifier signal:
void | updateLevelsModeChanged() |
Member Function Documentation
[invokable]
FloorFilterController::FloorFilterController (QObject *parent = nullptr)
Constructs a new controller object with a given parent.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[override virtual]
FloorFilterController::~FloorFilterController ()
Destructor.
[signal]
void FloorFilterController::automaticSelectionModeChanged ()
Emitted when the automaticSelectionModeChanged flag has changed.
Note: Notifier signal for property automaticSelectionMode.
[invokable]
Esri::ArcGISRuntime::Toolkit::FloorFilterFacilityItem *FloorFilterController::facility(const QString &facilityId ) const
Returns the item with modelId
matching facilityId by searching facilities.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[signal]
void FloorFilterController::geoViewChanged ()
Emitted when the geoView has changed.
Note: Notifier signal for property geoView.
[signal]
void FloorFilterController::isSelectedSiteRespectedChanged ()
Emitted when the isSelectedSiteRespected flag has changed.
Note: Notifier signal for property selectedSiteRespected.
[invokable]
Esri::ArcGISRuntime::Toolkit::FloorFilterLevelItem *FloorFilterController::level(const QString &levelId ) const
Returns the item with modelId
matching levelId by searching levels.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[signal]
void FloorFilterController::selectedFacilityIdChanged (const QString &oldId , const QString &newId )
Emitted when the selectedFacilityId has changed from oldId to newId.
Note: Notifier signal for property selectedFacility. Notifier signal for property selectedFacilityId.
[signal]
void FloorFilterController::selectedLevelIdChanged (const QString &oldId , const QString &newId )
Emitted when the selectedLevelId has changed from oldId to newId.
Note: Notifier signal for property selectedLevel. Notifier signal for property selectedLevelId.
[signal]
void FloorFilterController::selectedSiteIdChanged (const QString &oldId , const QString &newId )
Emitted when the selectedSiteId has changed from oldId to newId.
Note: Notifier signal for property selectedSite. Notifier signal for property selectedSiteId.
void FloorFilterController::setAutomaticSelectionMode (Esri::ArcGISRuntime::Toolkit::FloorFilterController::AutomaticSelectionMode automaticSelectionMode )
Sets the current automatic selection mode in use to automaticSelectionMode.
This will not take effect until a viewpoint navigation occurs.
Note: Setter function for property automaticSelectionMode.
See also automaticSelectionMode().
void FloorFilterController::setGeoView (QObject *geoView )
Set the GeoView object this Controller uses.
Internally this is cast to a MapView
or SceneView
using qobject_cast
, which is why the paremeter is of form QObject
and not GeoView
.
- geoView
Object
which must inherit fromGeoView*
andQObject*
.
Note: Setter function for property geoView.
See also geoView().
void FloorFilterController::setIsSelectedSiteRespected (bool isSelectedSiteRespected )
Sets the isSelectedSiteRespected flag to isSelectedSiteRespected.
This will repopulate the facilities model.
Note: Setter function for property selectedSiteRespected.
See also isSelectedSiteRespected().
[invokable]
void FloorFilterController::setSelectedFacilityId (QString selectedFacilityId )
Sets the ID of the currently selected facility to selectedFacilityId.
This will change the contents of levels to all levels within the facility and reset selectedLevelId.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Note: Setter function for property selectedFacilityId.
See also selectedFacilityId().
[invokable]
void FloorFilterController::setSelectedLevelId (QString selectedLevelId )
Sets the ID of the currently selected level to selectedLevelId.
This will change the current visible level on the GeoView.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Note: Setter function for property selectedLevelId.
See also selectedLevelId().
[invokable]
void FloorFilterController::setSelectedSiteId (QString selectedSiteId )
Sets the ID of the currently selected site to selectedSiteId.
This will change the contents of facilities to all facilities within the site, and reset selectedFacilityId.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Note: Setter function for property selectedSiteId.
See also selectedSiteId().
void FloorFilterController::setUpdateLevelsMode (Esri::ArcGISRuntime::Toolkit::FloorFilterController::UpdateLevelsMode updateLevelsMode )
Sets the current level update mode in use to updateLevelsMode.
This will not take effect until a selection is made.
Note: Setter function for property updateLevelsMode.
See also updateLevelsMode().
[invokable]
Esri::ArcGISRuntime::Toolkit::FloorFilterSiteItem *FloorFilterController::site(const QString &siteId ) const
Returns the item with modelId
matching siteId by searching sites.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[signal]
void FloorFilterController::updateLevelsModeChanged ()
Emitted when the updateLevelsMode flag has changed.
Note: Notifier signal for property updateLevelsMode.
[invokable]
void FloorFilterController::zoomToFacility (const QString &facilityId )
Sets the GeoView's viewpoint to the facility with ID matching facilityId.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void FloorFilterController::zoomToFacility (Esri::ArcGISRuntime::Toolkit::FloorFilterFacilityItem *facilityItem )
Sets the GeoView's viewpoint to the facility contained within facilityItem.
[invokable]
void FloorFilterController::zoomToSite (const QString &siteId )
Sets the GeoView's viewpoint to the site with ID matching siteId.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
void FloorFilterController::zoomToSite (Esri::ArcGISRuntime::Toolkit::FloorFilterSiteItem *siteItem )
Sets the GeoView's viewpoint to the site contained within siteItem.