Popup Class

  • Popup
  • class Esri::ArcGISRuntime::Popup

    The combination of a PopupDefinition and a GeoElement, which allows a visual representation of the GeoElement's attributes as well as the ability to edit them. More...

    Header: #include <Popup.h>
    Since: Esri::ArcGISRuntime 100.0
    Inherits: Esri::ArcGISRuntime::Object

    Public Functions

    Popup(Esri::ArcGISRuntime::GeoElement *geoElement, Esri::ArcGISRuntime::PopupDefinition *popupDefinition, QObject *parent = nullptr)
    Popup(Esri::ArcGISRuntime::GeoElement *geoElement, QObject *parent = nullptr)
    virtual ~Popup() override
    Esri::ArcGISRuntime::TaskWatcher evaluateExpressions()
    QList<Esri::ArcGISRuntime::PopupElement *> evaluatedElements() const
    QString formattedValue(Esri::ArcGISRuntime::PopupField *popupField) const
    Esri::ArcGISRuntime::GeoElement *geoElement() const
    Esri::ArcGISRuntime::PopupDefinition *popupDefinition() const
    Esri::ArcGISRuntime::Symbol *symbol() const
    QString title() const


    void evaluateExpressionsCompleted(const QUuid &taskId, const QList<Esri::ArcGISRuntime::PopupExpressionEvaluation *> &popupExpressionEvaluationResults)

    Detailed Description

    Use the Popup to create a PopupManager. The PopupManager can then be used in conjunction with the PopupView (from the ArcGIS Maps SDK Toolkit) for a visual representation of the Popup.

    Member Function Documentation

    Constructor that takes a geoElement and a popupDefinition with an optional parent.

    If you pass in a null PopupDefinition, a default one will be created for you based on the GeoElement's attributes and schema.

    Creates a new popup from a GeoElement.

    This method creates a default PopupDefinition with default properties and default popup elements based on the given GeoElement.

    [signal] void Popup::evaluateExpressionsCompleted(const QUuid &taskId, const QList<Esri::ArcGISRuntime::PopupExpressionEvaluation *> &popupExpressionEvaluationResults)

    Signal emitted after the popup expression evaluation asynchronous method completes.

    • taskId - The task ID of the asynchronous task.
    • popupExpressionEvaluationResults - The generated list of popupExpressionEvaluation results.

    The returned PopupExpressionEvaluation objects have the Popup as its parent.

    See also Returned QObjects Parenting.

    [override virtual] Popup::~Popup()


    [since Esri::ArcGISRuntime 100.8] Esri::ArcGISRuntime::TaskWatcher Popup::evaluateExpressions()

    Asynchronously evaluates all expressions, including Arcade FeatureSet functions, available at PopupDefinition::expressions().

    This method must be called before displaying the popup information in a UI so you can use synchronous methods Popup::formattedValue() and PopupManager::substitute() to get the formatted string representation. If there are no PopupDefinition::expressions() then the result list will be empty.

    The PopupExpression may be used in the PopupDefinition::fields(), PopupDefinition::media(), PopupDefinition::title() and PopupDefinition::description().

    This function was introduced in Esri::ArcGISRuntime 100.8.

    [since Esri::ArcGISRuntime 100.14] QList<Esri::ArcGISRuntime::PopupElement *> Popup::evaluatedElements() const

    Returns a QList of PopupElement objects evaluated asynchronously by evaluateExpressions. During the evaluation, each ExpressionPopupElement is replaced by the PopupElement returned by the Arcade expression and each placeholder is replaced by its value. If the Arcade expression returns a list of attributes to be used by the pop-up element, these attributes will be used by formattedValue(PopupField).

    The list is empty while evaluateExpressions has not been executed, and is cleared if evaluateExpressions is executed more than once. After evaluation, the order of the pop-up elements in the QList matches the order elements present in PopupDefinition::elements and shown in the pop-up window. If an ExpressionPopupElement fails to be evaluated, then it will be skipped in the QList. Use the list of PopupExpressionEvaluation returned from evaluateExpressions to learn the cause of the error.

    This function was introduced in Esri::ArcGISRuntime 100.14.

    See also PopupDefinition::elements and evaluateExpressions.

    QString Popup::formattedValue(Esri::ArcGISRuntime::PopupField *popupField) const

    Returns the formatted value of the popup field.

    If PopupDefinition::expressions is not empty then the popupField may be using expressions with Arcade FeatureSet functions. Use Popup::evaluateExpressions() to evaluate the Arcade expressions before trying to get the formatted string representation of the popup field's value, otherwise it may return an empty string.

    Esri::ArcGISRuntime::GeoElement *Popup::geoElement() const

    Returns the GeoElement of this Popup.

    Esri::ArcGISRuntime::PopupDefinition *Popup::popupDefinition() const

    Returns the PopupDefinition of this Popup.

    Esri::ArcGISRuntime::Symbol *Popup::symbol() const

    Returns the Symbol of this Popup.

    QString Popup::title() const

    Returns the title of this Popup.

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