A form element that represents the utility network associations within the form. More...
| Header | #include <Utility |
| Since | Esri |
| Inherits | Esri |
Public Functions
| virtual | ~ |
(since Esri QFuture | add |
(since Esri QFuture | add |
(since Esri QFuture | add |
(since Esri QFuture | add |
(since Esri QFuture | add |
(since Esri QFuture | association |
| QList | association |
| QList | associations |
(since Esri QFuture | can |
(since Esri void | delete |
| QFuture | fetch |
| bool | is |
(since Esri QFuture | options |
Signals
| void | editable |
Detailed Description
Member Function Documentation
[override virtual noexcept] UtilityAssociationsFormElement::~UtilityAssociationsFormElement ()
Destructor.
[since Esri::ArcGISRuntime 300.0] QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> UtilityAssociationsFormElement::addAssociationAsync (Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, QObject *parent = nullptr)
Adds an association between the provided feature and the FeatureForm::feature that this element is part of.
- feature - The ArcGISFeature on the other side of the association.
- filter - The UtilityAssociationsFilter that the association will be part of.
- parent - The optional parent QObject.
This method can be used to create an association of any type. Default values will be used for any properties of the association such as UtilityAssociation::isContainmentVisible, UtilityAssociation::fractionAlongEdge.
fetchAssociationsFilterResultsAsync should be called after a successful addition to refresh the list of filter results.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 300.0.
See also UtilityNetwork::addAssociationAsync(Esri::ArcGISRuntime::UtilityAssociation*).
[since Esri::ArcGISRuntime 300.0] QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> UtilityAssociationsFormElement::addAssociationAsync (Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, bool isContainmentVisible , QObject *parent = nullptr)
Adds an association between the provided feature and the FeatureForm::feature that this element is part of, along with the UtilityAssociation::isContainmentVisible value.
- feature - The ArcGISFeature on the other side of the association.
- filter - The UtilityAssociationsFilter that the association will be part of.
- isContainmentVisible - Indicates whether the content in the containment association is visible.
- parent - The optional parent QObject.
This method is typically used when creating a UtilityAssociationType::Containment association.
fetchAssociationsFilterResultsAsync should be called after a successful addition to refresh the list of filter results.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 300.0.
See also UtilityNetwork::addAssociationAsync(Esri::ArcGISRuntime::UtilityAssociation*).
[since Esri::ArcGISRuntime 300.0] QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> UtilityAssociationsFormElement::addAssociationAsync (Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, double fractionAlongEdge , QObject *parent = nullptr)
Adds an association between the provided feature and the FeatureForm::feature that this element is part of, along with the fractionAlongEdge value.
- feature - The ArcGISFeature on the other side of the association.
- filter - The UtilityAssociationsFilter that the association will be part of.
- fractionAlongEdge - Represents how far the starting point or barrier is located along an edge in the utility network feature.
- parent - The optional parent QObject.
This method is typically used when creating a UtilityAssociationType::Connectivity association between a junction and an edge.
fetchAssociationsFilterResultsAsync should be called after a successful addition to refresh the list of filter results.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 300.0.
See also UtilityNetwork::addAssociationAsync(Esri::ArcGISRuntime::UtilityAssociation*).
[since Esri::ArcGISRuntime 300.0] QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> UtilityAssociationsFormElement::addAssociationAsync (Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, double fractionAlongEdge , Esri::ArcGISRuntime::UtilityTerminal *terminal, QObject *parent = nullptr)
Adds an association between the provided feature and the FeatureForm::feature that this element is part of, along with the fractionAlongEdge and terminal value.
- feature - The ArcGISFeature on the other side of the association.
- filter - The UtilityAssociationsFilter that the association will be part of.
- fractionAlongEdge - Represents how far the junction is located along an edge in the utility network feature.
- terminal - The UtilityTerminal of the junction.
- parent - The optional parent QObject.
This method is typically used when creating a UtilityAssociationType::Connectivity association between a junction and an edge and the junction feature has an associated UtilityTerminal value.
fetchAssociationsFilterResultsAsync should be called after a successful addition to refresh the list of filter results.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 300.0.
See also UtilityNetwork::addAssociationAsync(Esri::ArcGISRuntime::UtilityAssociation*).
[since Esri::ArcGISRuntime 300.0] QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> UtilityAssociationsFormElement::addAssociationAsync (Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityTerminal *featureTerminal , Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, Esri::ArcGISRuntime::UtilityTerminal *currentFeatureTerminal , QObject *parent = nullptr)
Adds an association between the provided feature and the FeatureForm::feature that this element is part of, along with the UtilityTerminal values.
- feature - The ArcGISFeature on the other side of the association.
- featureTerminal - The UtilityTerminal of the feature being associated.
- filter - The UtilityAssociationsFilter that the association will be part of.
- currentFeatureTerminal - The UtilityTerminal of the feature currently being edited in the FeatureForm.
- parent - The optional parent QObject.
This method is typically used when creating a UtilityAssociationType::Connectivity association between two junction features in the UtilityNetwork.
fetchAssociationsFilterResultsAsync should be called after a successful addition to refresh the list of filter results.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 300.0.
See also UtilityNetwork::addAssociationAsync(Esri::ArcGISRuntime::UtilityAssociation*).
[since Esri::ArcGISRuntime 300.0] QFuture<QList<Esri::ArcGISRuntime::UtilityAssociationFeatureSource *>> UtilityAssociationsFormElement::associationFeatureSourcesAsync (Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, QObject *parent = nullptr)
Gets the UtilityAssociationFeatureSource objects from the UtilityNetwork.
- filter - The UtilityAssociationsFilter that provides the filter definition.
- parent - The optional parent QObject.
Checks the utility rules and the filter definition to find all UtilityAssociationFeatureSource objects that can be used to create an association. Use UtilityAssociationFeatureSource::queryFeaturesAsync to get the actual features from a UtilityAssociationFeatureSource.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 300.0.
QList<Esri::ArcGISRuntime::UtilityAssociationsFilter *> UtilityAssociationsFormElement::associationFilters () const
Returns a collection of filters that define which associations are displayed.
QList<Esri::ArcGISRuntime::UtilityAssociationsFilterResult *> UtilityAssociationsFormElement::associationsFilterResults () const
Returns the collection of results from the fetchAssociationsFilterResultsAsync method.
The collection of UtilityAssociationsFilterResult objects groups the fetch results first by their UtilityAssociationsFilter and then groups the UtilityAssociation objects by the layer or table that contains them within the Map.
This collection is empty if associations haven't been fetched.
[since Esri::ArcGISRuntime 300.0] QFuture<bool> UtilityAssociationsFormElement::canAddAssociationAsync (Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter)
Checks if a UtilityAssociation can be added between the provided ArcGISFeature and the FeatureForm::feature this element is part of.
- feature - The ArcGISFeature participating in the association.
- filter - The UtilityAssociationsFilter used to check the feature's role or function.
Checks that all of the following conditions are met:
- the feature belongs to the network source, asset type, and asset group defined in the provided UtilityAssociationsFilter
- utility rules permit the use of the provided feature to create an association.
- any expressions set on the element allow editing associations.
- the current user has the necessary permissions.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 300.0.
See also UtilityNetwork::canAddAssociationAsync(Esri::ArcGISRuntime::UtilityAssociation*).
[since Esri::ArcGISRuntime 300.0] void UtilityAssociationsFormElement::deleteAssociation (Esri::ArcGISRuntime::UtilityAssociation *association)
Deletes an association from the UtilityNetwork.
- association - The UtilityAssociation to delete.
fetchAssociationsFilterResultsAsync should be called after a successful deletion to refresh the list of filter results.
This function was introduced in Esri::ArcGISRuntime 300.0.
See also UtilityNetwork::deleteAssociationAsync(Esri::ArcGISRuntime::UtilityAssociation*).
[signal] void UtilityAssociationsFormElement::editableChanged (bool isEditable )
Signal emitted when the editable status changes for this form element.
- isEditable - The new isEditable value.
QFuture<void> UtilityAssociationsFormElement::fetchAssociationsFilterResultsAsync ()
Fetches UtilityAssociation objects from an ArcGISFeature based on the associationFilters. The results are provided in associationsFilterResults.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
bool UtilityAssociationsFormElement::isEditable () const
Returns true if the utility associations form element is editable, false otherwise.
This property can be modified by the editable expression, which can be set during Feature Form authoring.
[since Esri::ArcGISRuntime 300.0] QFuture<Esri::ArcGISRuntime::UtilityAssociationFeatureOptions *> UtilityAssociationsFormElement::optionsForAssociationCandidateAsync (Esri::ArcGISRuntime::ArcGISFeature *feature, QObject *parent = nullptr)
Retrieves options for creating an association with a specified feature in the utility network.
- feature - The ArcGISFeature participating in the association.
- parent - The optional parent QObject.
This method evaluates the provided feature and returns a set of options that can be used to define an association. The options include details about valid configurations and constraints for the association.
This method returns a QFuture for the asynchronous operation. Use future.then() to continue processing when the operation completes. Use future.onFailed() to handle exceptions of type ErrorException.
See Working with QFuture for further details.
This function was introduced in Esri::ArcGISRuntime 300.0.