From 3c63643f28d6a3cab25ea2439fdd16ad698ca894 Mon Sep 17 00:00:00 2001 From: "Juergen E. Fischer" Date: Thu, 8 Sep 2011 23:10:55 +0200 Subject: [PATCH] add bindings for QgsQueryBuilder --- python/gui/gui.sip | 1 + python/gui/qgsquerybuilder.sip | 59 ++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 python/gui/qgsquerybuilder.sip diff --git a/python/gui/gui.sip b/python/gui/gui.sip index bc35697420a..474b29aff3a 100644 --- a/python/gui/gui.sip +++ b/python/gui/gui.sip @@ -35,5 +35,6 @@ %Include qgssearchquerybuilder.sip %Include qgsattributeeditor.sip %Include qgsfieldvalidator.sip +%Include qgsquerybuilder.sip %Include symbology-ng-gui.sip diff --git a/python/gui/qgsquerybuilder.sip b/python/gui/qgsquerybuilder.sip new file mode 100644 index 00000000000..1eecc5dc204 --- /dev/null +++ b/python/gui/qgsquerybuilder.sip @@ -0,0 +1,59 @@ +class QgsSearchQueryBuilder : QDialog +{ +%TypeHeaderCode +#include +%End + + public: + QgsQueryBuilder( QgsVectorLayer *layer, QWidget *parent = 0, Qt::WFlags fl = QgisGui::ModalDialogFlags ); + ~QgsQueryBuilder(); + + public slots: + void accept(); + void reject(); + void clear(); + void on_btnEqual_clicked(); + void on_btnLessThan_clicked(); + void on_btnGreaterThan_clicked(); + void on_btnPct_clicked(); + void on_btnIn_clicked(); + void on_btnNotIn_clicked(); + void on_btnLike_clicked(); + void on_btnILike_clicked(); + QString sql(); + void setSql( QString sqlStatement ); + void on_lstFields_clicked( const QModelIndex &index ); + void on_lstFields_doubleClicked( const QModelIndex &index ); + void on_lstValues_doubleClicked( const QModelIndex &index ); + void on_btnLessEqual_clicked(); + void on_btnGreaterEqual_clicked(); + void on_btnNotEqual_clicked(); + void on_btnAnd_clicked(); + void on_btnNot_clicked(); + void on_btnOr_clicked(); + + void on_buttonBox_helpRequested(); + + /*! Test the constructed sql statement to see if the database 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. + * @param showResults If true, the results are displayed in a QMessageBox + */ + void test(); + + /*! + * Get all distinct values for the field. Values are inserted + * into the value list box + */ + void on_btnGetAllValues_clicked(); + + /*! + * Get sample distinct values for the selected field. The sample size is + * limited to an arbitrary value (currently set to 25). The values + * are inserted into the values list box. + */ + void on_btnSampleValues_clicked(); + + void setDatasourceDescription( QString uri ); +};