/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsexpressionbuilderdialog.h                                 *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 ************************************************************************/




class QgsExpressionBuilderDialog : QDialog
{
%Docstring
A generic dialog for building expression strings
@remarks This class also shows an example on how to use QgsExpressionBuilderWidget
%End

%TypeHeaderCode
#include "qgsexpressionbuilderdialog.h"
%End
  public:
    QgsExpressionBuilderDialog( QgsVectorLayer *layer,
                                const QString &startText = QString(),
                                QWidget *parent /TransferThis/ = 0,
                                const QString &key = "generic",
                                const QgsExpressionContext &context = QgsExpressionContext() );

    QgsExpressionBuilderWidget *expressionBuilder();
%Docstring
The builder widget that is used by the dialog
%End

    void setExpressionText( const QString &text );

    QString expressionText();

    QString expectedOutputFormat();
%Docstring
Returns the expected format string, which is shown in the dialog.
This is purely a text format and no expression validation
is done against it.

.. seealso:: :py:func:`setExpectedOutputFormat`
%End

    void setExpectedOutputFormat( const QString &expected );
%Docstring
Set the ``expected`` format string, which is shown in the dialog.
This is purely a text format and no expression validation is done against it.

.. seealso:: :py:func:`expectedOutputFormat`
%End

    QgsExpressionContext expressionContext() const;
%Docstring
Returns the expression context for the dialog. The context is used for the expression
preview result and for populating the list of available functions and variables.

.. seealso:: :py:func:`setExpressionContext`

.. versionadded:: 2.12
%End

    void setExpressionContext( const QgsExpressionContext &context );
%Docstring
Sets the expression context for the dialog. The context is used for the expression
preview result and for populating the list of available functions and variables.

:param context: expression context

.. seealso:: :py:func:`expressionContext`

.. versionadded:: 2.12
%End

    void setGeomCalculator( const QgsDistanceArea &da );
%Docstring
Sets geometry calculator used in distance/area calculations.
%End

    bool allowEvalErrors() const;
%Docstring
Allow accepting invalid expressions. This can be useful when we are not able to
provide an expression context of which we are sure it's completely populated.

.. versionadded:: 3.0
%End

    void setAllowEvalErrors( bool allowEvalErrors );
%Docstring
Allow accepting expressions with evaluation errors. This can be useful when we are not able to
provide an expression context of which we are sure it's completely populated.

.. versionadded:: 3.0
%End

  signals:

    void allowEvalErrorsChanged();
%Docstring
Allow accepting expressions with evaluation errors. This can be useful when we are not able to
provide an expression context of which we are sure it's completely populated.

.. versionadded:: 3.0
%End

  protected:

    virtual void done( int r );

%Docstring
Is called when the dialog get accepted or rejected
Used to save geometry

:param r: result value (unused)
%End

    virtual void accept();


};


/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/gui/qgsexpressionbuilderdialog.h                                 *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 ************************************************************************/