Skip to content
  • UtilityAssociationsFormElement
  • class Esri::ArcGISRuntime::UtilityAssociationsFormElement

    A form element that represents the utility network associations within the form. More...

    Header: #include <UtilityAssociationsFormElement.h>
    Since: Esri::ArcGISRuntime 200.8
    Inherits: Esri::ArcGISRuntime::FormElement

    Public Functions

    virtual ~UtilityAssociationsFormElement() override
    (since Esri::ArcGISRuntime 300.0) QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> addAssociationAsync(Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 300.0) QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> addAssociationAsync(Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, bool isContainmentVisible, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 300.0) QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> addAssociationAsync(Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, double fractionAlongEdge, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 300.0) QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> addAssociationAsync(Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, double fractionAlongEdge, Esri::ArcGISRuntime::UtilityTerminal *terminal, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 300.0) QFuture<Esri::ArcGISRuntime::UtilityAssociationResult *> addAssociationAsync(Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityTerminal *featureTerminal, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, Esri::ArcGISRuntime::UtilityTerminal *currentFeatureTerminal, QObject *parent = nullptr)
    (since Esri::ArcGISRuntime 300.0) QFuture<QList<Esri::ArcGISRuntime::UtilityAssociationFeatureSource *>> associationFeatureSourcesAsync(Esri::ArcGISRuntime::UtilityAssociationsFilter *filter, QObject *parent = nullptr)
    QList<Esri::ArcGISRuntime::UtilityAssociationsFilter *> associationFilters() const
    QList<Esri::ArcGISRuntime::UtilityAssociationsFilterResult *> associationsFilterResults() const
    (since Esri::ArcGISRuntime 300.0) QFuture<bool> canAddAssociationAsync(Esri::ArcGISRuntime::ArcGISFeature *feature, Esri::ArcGISRuntime::UtilityAssociationsFilter *filter)
    (since Esri::ArcGISRuntime 300.0) void deleteAssociation(Esri::ArcGISRuntime::UtilityAssociation *association)
    QFuture<void> fetchAssociationsFilterResultsAsync()
    bool isEditable() const
    (since Esri::ArcGISRuntime 300.0) QFuture<Esri::ArcGISRuntime::UtilityAssociationFeatureOptions *> optionsForAssociationCandidateAsync(Esri::ArcGISRuntime::ArcGISFeature *feature, QObject *parent = nullptr)

    Signals

    void editableChanged(bool isEditable)

    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.

    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.

    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.

    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.

    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.

    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.

    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.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.