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


class QgsQueryBuilder : QgsSubsetStringEditorInterface
{
%Docstring(signature="appended")
Query Builder for layers.

The query builder allows interactive creation of a SQL for limiting the
features displayed in a vector layer. The fields in the table are
displayed and sample values (or all values) can be viewed to aid in
constructing the query. A test function returns the number of features
that will be returned.
%End

%TypeHeaderCode
#include "qgsquerybuilder.h"
%End
  public:
    QgsQueryBuilder( QgsVectorLayer *layer, QWidget *parent /TransferThis/ = 0, Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags );
%Docstring
This constructor is used when the query builder is called from the
vector layer properties dialog

:param layer: existing vector layer
:param parent: Parent widget
:param fl: dialog flags
%End

    virtual void showEvent( QShowEvent *event );


    QString sql() const;
%Docstring
Returns the sql statement entered in the dialog.
%End

    void setSql( const QString &sqlStatement );
%Docstring
Set the sql statement to display in the dialog.
%End

    virtual QString subsetString() const;
    virtual void setSubsetString( const QString &subsetString );

%If (HAVE_QSCI_SIP)

    QgsCodeEditor *codeEditorWidget() const;
%Docstring
Returns the code editor widget for the SQL.

.. versionadded:: 3.18
%End
%End
%If (!HAVE_QSCI_SIP)

    QWidget *codeEditorWidget() const;
%Docstring
Returns the code editor widget for the SQL.

.. versionadded:: 3.18
%End
%End

    static bool saveQueryToFile( const QString &subset );
%Docstring
Save query to the XML file

.. versionadded:: 3.26
%End

    static bool loadQueryFromFile( QString &subset );
%Docstring
Load query from the XML file

.. versionadded:: 3.26
%End

  public slots:
    virtual void accept();

    virtual void reject();

    void clear();

    virtual void test();
%Docstring
The default implementation tests that the constructed sql statement to
see if the vector layer data provider likes it. The number of rows that
would be returned is displayed in a message box. The test uses a "select
count(*) from ..." query to test the SQL statement.
%End

    void saveQuery();
%Docstring
Save query to the XML file

.. versionadded:: 3.16
%End

    void loadQuery();
%Docstring
Load query from the XML file

.. versionadded:: 3.16
%End

    void setDatasourceDescription( const QString &uri );

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