|
Quantum GIS API Documentation
master-693a1fe
|
Query Builder for layers. More...
#include <qgsquerybuilder.h>
Collaboration diagram for QgsQueryBuilder:Public Slots | |
| void | accept () |
| void | clear () |
| void | on_btnAnd_clicked () |
| void | on_btnEqual_clicked () |
| void | on_btnGetAllValues_clicked () |
| void | on_btnGreaterEqual_clicked () |
| void | on_btnGreaterThan_clicked () |
| void | on_btnILike_clicked () |
| void | on_btnIn_clicked () |
| void | on_btnLessEqual_clicked () |
| void | on_btnLessThan_clicked () |
| void | on_btnLike_clicked () |
| void | on_btnNot_clicked () |
| void | on_btnNotEqual_clicked () |
| void | on_btnNotIn_clicked () |
| void | on_btnOr_clicked () |
| void | on_btnPct_clicked () |
| void | on_btnSampleValues_clicked () |
| void | on_buttonBox_helpRequested () |
| void | on_lstFields_clicked (const QModelIndex &index) |
| void | on_lstFields_doubleClicked (const QModelIndex &index) |
| void | on_lstValues_doubleClicked (const QModelIndex &index) |
| void | reject () |
| void | setDatasourceDescription (QString uri) |
| void | setSql (QString sqlStatement) |
| QString | sql () |
| void | test () |
Public Member Functions | |
| QgsQueryBuilder (QgsVectorLayer *layer, QWidget *parent=0, Qt::WFlags fl=QgisGui::ModalDialogFlags) | |
| ~QgsQueryBuilder () | |
Private Member Functions | |
| void | fillValues (int idx, int limit) |
| void | populateFields () |
| void | setupGuiViews () |
| void | setupLstFieldsModel () |
Private Attributes | |
| QgsVectorLayer * | mLayer |
| vector layer | |
| QStandardItemModel * | mModelFields |
| Model for fields ListView. | |
| QStandardItemModel * | mModelValues |
| Model for values ListView. | |
| QString | mOrigSubsetString |
| original subset string | |
| int | mPreviousFieldRow |
| Previous field row to delete model. | |
Query Builder for layers.
The query builder allows interactive creation of a SQL for limiting the features displayed in a database 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.
Definition at line 40 of file qgsquerybuilder.h.
| QgsQueryBuilder::QgsQueryBuilder | ( | QgsVectorLayer * | layer, |
| QWidget * | parent = 0, |
||
| Qt::WFlags | fl = QgisGui::ModalDialogFlags |
||
| ) |
This constructor is used when the query builder is called from the vector layer properties dialog
| layer | existing vector layer |
| parent | Parent widget |
| fl | dialog flags |
Definition at line 27 of file qgsquerybuilder.cpp.
References clear(), mLayer, mOrigSubsetString, QgsMapLayer::name(), populateFields(), setupGuiViews(), QgsVectorLayer::subsetString(), test(), and tr.
Definition at line 58 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::accept | ( | ) | [slot] |
Definition at line 210 of file qgsquerybuilder.cpp.
References QgsVectorDataProvider::clearErrors(), QgsVectorLayer::dataProvider(), QgsVectorDataProvider::errors(), QgsVectorDataProvider::hasErrors(), mLayer, QgsVectorLayer::setSubsetString(), and tr.
| void QgsQueryBuilder::clear | ( | ) | [slot] |
Definition at line 346 of file qgsquerybuilder.cpp.
References mLayer, and QgsVectorLayer::setSubsetString().
Referenced by QgsQueryBuilder().
| void QgsQueryBuilder::fillValues | ( | int | idx, |
| int | limit | ||
| ) | [private] |
Definition at line 102 of file qgsquerybuilder.cpp.
References isNull(), mLayer, mModelValues, QgsDebugMsg, and QgsVectorLayer::uniqueValues().
Referenced by on_btnGetAllValues_clicked(), and on_btnSampleValues_clicked().
| void QgsQueryBuilder::on_btnAnd_clicked | ( | ) | [slot] |
Definition at line 331 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnEqual_clicked | ( | ) | [slot] |
Definition at line 242 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnGetAllValues_clicked | ( | ) | [slot] |
Get all distinct values for the field. Values are inserted into the value list box
Definition at line 153 of file qgsquerybuilder.cpp.
References fillValues(), mLayer, mModelFields, mModelValues, QgsVectorLayer::setSubsetString(), and QgsVectorLayer::subsetString().
| void QgsQueryBuilder::on_btnGreaterEqual_clicked | ( | ) | [slot] |
Definition at line 321 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnGreaterThan_clicked | ( | ) | [slot] |
Definition at line 252 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnILike_clicked | ( | ) | [slot] |
Definition at line 353 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnIn_clicked | ( | ) | [slot] |
Definition at line 262 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnLessEqual_clicked | ( | ) | [slot] |
Definition at line 316 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnLessThan_clicked | ( | ) | [slot] |
Definition at line 247 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnLike_clicked | ( | ) | [slot] |
Definition at line 272 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnNot_clicked | ( | ) | [slot] |
Definition at line 336 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnNotEqual_clicked | ( | ) | [slot] |
Definition at line 326 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnNotIn_clicked | ( | ) | [slot] |
Definition at line 267 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnOr_clicked | ( | ) | [slot] |
Definition at line 341 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnPct_clicked | ( | ) | [slot] |
Definition at line 257 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::on_btnSampleValues_clicked | ( | ) | [slot] |
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.
Definition at line 126 of file qgsquerybuilder.cpp.
References fillValues(), mLayer, mModelFields, mModelValues, QgsVectorLayer::setSubsetString(), and QgsVectorLayer::subsetString().
| void QgsQueryBuilder::on_buttonBox_helpRequested | ( | ) | [inline, slot] |
Definition at line 79 of file qgsquerybuilder.h.
References QgsContextHelp::run().
| void QgsQueryBuilder::on_lstFields_clicked | ( | const QModelIndex & | index | ) | [slot] |
Definition at line 287 of file qgsquerybuilder.cpp.
References mModelValues, and mPreviousFieldRow.
| void QgsQueryBuilder::on_lstFields_doubleClicked | ( | const QModelIndex & | index | ) | [slot] |
Definition at line 300 of file qgsquerybuilder.cpp.
References mLayer, mModelFields, and QgsVectorLayer::pendingFields().
| void QgsQueryBuilder::on_lstValues_doubleClicked | ( | const QModelIndex & | index | ) | [slot] |
Definition at line 305 of file qgsquerybuilder.cpp.
References mModelValues.
| void QgsQueryBuilder::populateFields | ( | ) | [private] |
Populate the field list for the selected table
Definition at line 64 of file qgsquerybuilder.cpp.
References QgsFields::count(), mLayer, mModelFields, QgsVectorLayer::pendingFields(), and setupLstFieldsModel().
Referenced by QgsQueryBuilder().
| void QgsQueryBuilder::reject | ( | ) | [slot] |
Definition at line 234 of file qgsquerybuilder.cpp.
References mLayer, mOrigSubsetString, QgsVectorLayer::setSubsetString(), and QgsVectorLayer::subsetString().
| void QgsQueryBuilder::setDatasourceDescription | ( | QString | uri | ) | [slot] |
Definition at line 358 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::setSql | ( | QString | sqlStatement | ) | [slot] |
Definition at line 282 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::setupGuiViews | ( | ) | [private] |
Setup models for listviews
Definition at line 84 of file qgsquerybuilder.cpp.
References mModelFields, and mModelValues.
Referenced by QgsQueryBuilder().
| void QgsQueryBuilder::setupLstFieldsModel | ( | ) | [private] |
Definition at line 79 of file qgsquerybuilder.cpp.
References mModelFields.
Referenced by populateFields().
| QString QgsQueryBuilder::sql | ( | ) | [slot] |
Definition at line 277 of file qgsquerybuilder.cpp.
| void QgsQueryBuilder::test | ( | ) | [slot] |
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.
Definition at line 180 of file qgsquerybuilder.cpp.
References QgsVectorDataProvider::clearErrors(), QgsVectorLayer::dataProvider(), QgsVectorDataProvider::errors(), QgsVectorLayer::featureCount(), QgsVectorDataProvider::hasErrors(), mLayer, QgsVectorLayer::setSubsetString(), QgsVectorLayer::subsetString(), and tr.
Referenced by QgsQueryBuilder().
QgsVectorLayer* QgsQueryBuilder::mLayer [private] |
vector layer
Definition at line 123 of file qgsquerybuilder.h.
Referenced by accept(), clear(), fillValues(), on_btnGetAllValues_clicked(), on_btnSampleValues_clicked(), on_lstFields_doubleClicked(), populateFields(), QgsQueryBuilder(), reject(), and test().
QStandardItemModel* QgsQueryBuilder::mModelFields [private] |
Model for fields ListView.
Definition at line 116 of file qgsquerybuilder.h.
Referenced by on_btnGetAllValues_clicked(), on_btnSampleValues_clicked(), on_lstFields_doubleClicked(), populateFields(), setupGuiViews(), and setupLstFieldsModel().
QStandardItemModel* QgsQueryBuilder::mModelValues [private] |
Model for values ListView.
Definition at line 118 of file qgsquerybuilder.h.
Referenced by fillValues(), on_btnGetAllValues_clicked(), on_btnSampleValues_clicked(), on_lstFields_clicked(), on_lstValues_doubleClicked(), and setupGuiViews().
QString QgsQueryBuilder::mOrigSubsetString [private] |
original subset string
Definition at line 126 of file qgsquerybuilder.h.
Referenced by QgsQueryBuilder(), and reject().
int QgsQueryBuilder::mPreviousFieldRow [private] |
Previous field row to delete model.
Definition at line 120 of file qgsquerybuilder.h.
Referenced by on_lstFields_clicked().