Quantum GIS API Documentation
1.7.4
|
Query Builder for search strings. More...
#include <qgssearchquerybuilder.h>
Public Slots | |
void | on_btnEqual_clicked () |
void | on_btnOk_clicked () |
void | on_btnLessThan_clicked () |
void | on_btnGreaterThan_clicked () |
void | on_btnLike_clicked () |
void | on_btnILike_clicked () |
void | on_btnPct_clicked () |
void | on_btnIn_clicked () |
void | on_btnNotIn_clicked () |
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_btnClear_clicked () |
void | on_btnTest_clicked () |
void | on_btnGetAllValues_clicked () |
void | on_btnSampleValues_clicked () |
void | on_buttonBox_helpRequested () |
void | saveQuery () |
void | loadQuery () |
Public Member Functions | |
QgsSearchQueryBuilder (QgsVectorLayer *layer, QWidget *parent=0, Qt::WFlags fl=QgisGui::ModalDialogFlags) | |
Constructor - takes pointer to vector layer as a parameter. | |
~QgsSearchQueryBuilder () | |
QString | searchString () |
returns newly created search string | |
void | setSearchString (QString searchString) |
change search string shown in text field | |
Private Member Functions | |
void | populateFields () |
void | setupListViews () |
long | countRecords (QString sql) |
void | getFieldValues (int limit) |
Private Attributes | |
QgsVectorLayer * | mLayer |
Layer for which is the query builder opened. | |
QMap< QString, int > | mFieldMap |
Map that holds field information, keyed by field name. | |
QStandardItemModel * | mModelFields |
Model for fields ListView. | |
QStandardItemModel * | mModelValues |
Model for values ListView. |
Query Builder for search strings.
Definition at line 37 of file qgssearchquerybuilder.h.
QgsSearchQueryBuilder::QgsSearchQueryBuilder | ( | QgsVectorLayer * | layer, |
QWidget * | parent = 0 , |
||
Qt::WFlags | fl = QgisGui::ModalDialogFlags |
||
) |
Constructor - takes pointer to vector layer as a parameter.
Definition at line 35 of file qgssearchquerybuilder.cpp.
References loadQuery(), QgsMapLayer::name(), on_btnClear_clicked(), on_btnTest_clicked(), populateFields(), saveQuery(), and setupListViews().
Definition at line 67 of file qgssearchquerybuilder.cpp.
long QgsSearchQueryBuilder::countRecords | ( | QString | sql | ) | [private] |
Get the number of records that would be returned by the current SQL
Definition at line 192 of file qgssearchquerybuilder.cpp.
References QgsSearchTreeNode::checkAgainst(), QgsSearchTreeNode::errorMsg(), QgsVectorLayer::featureCount(), QgsSearchTreeNode::hasError(), mLayer, QgsSearchTreeNode::needsGeometry(), QgsVectorLayer::nextFeature(), QgsSearchString::parserErrorMsg(), QgsVectorLayer::pendingAllAttributesList(), QgsVectorLayer::pendingFields(), QgsVectorLayer::select(), QgsSearchString::setString(), and QgsSearchString::tree().
Referenced by on_btnOk_clicked(), and on_btnTest_clicked().
void QgsSearchQueryBuilder::getFieldValues | ( | int | limit | ) | [private] |
populates list box with values of selected field
limit | if not zero, inserts only this count of values |
MH: keep already inserted values in a set. Querying is much faster compared to QStandardItemModel::findItems
Definition at line 110 of file qgssearchquerybuilder.cpp.
References QgsFeature::attributeMap(), mFieldMap, mLayer, mModelFields, mModelValues, QgsVectorLayer::nextFeature(), QgsVectorLayer::pendingFields(), QgsVectorLayer::select(), and QgsField::type().
Referenced by on_btnGetAllValues_clicked(), and on_btnSampleValues_clicked().
void QgsSearchQueryBuilder::loadQuery | ( | ) | [slot] |
Definition at line 402 of file qgssearchquerybuilder.cpp.
References QgsSearchTreeNode::columnRefNodes(), QgsSearchTreeNode::makeSearchString(), mFieldMap, QgsSearchString::parserErrorMsg(), QgsSearchTreeNode::referencedColumns(), QgsSearchString::setString(), and QgsSearchString::tree().
Referenced by QgsSearchQueryBuilder().
void QgsSearchQueryBuilder::on_btnAnd_clicked | ( | ) | [slot] |
Definition at line 341 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnClear_clicked | ( | ) | [slot] |
Definition at line 356 of file qgssearchquerybuilder.cpp.
Referenced by QgsSearchQueryBuilder().
void QgsSearchQueryBuilder::on_btnEqual_clicked | ( | ) | [slot] |
Definition at line 271 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnGetAllValues_clicked | ( | ) | [slot] |
Get all distinct values for the field. Values are inserted into the value list box
Definition at line 175 of file qgssearchquerybuilder.cpp.
References getFieldValues().
void QgsSearchQueryBuilder::on_btnGreaterEqual_clicked | ( | ) | [slot] |
Definition at line 331 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnGreaterThan_clicked | ( | ) | [slot] |
Definition at line 281 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnILike_clicked | ( | ) | [slot] |
Definition at line 361 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnIn_clicked | ( | ) | [slot] |
Definition at line 291 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnLessEqual_clicked | ( | ) | [slot] |
Definition at line 326 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnLessThan_clicked | ( | ) | [slot] |
Definition at line 276 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnLike_clicked | ( | ) | [slot] |
Definition at line 301 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnNot_clicked | ( | ) | [slot] |
Definition at line 346 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnNotEqual_clicked | ( | ) | [slot] |
Definition at line 336 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnNotIn_clicked | ( | ) | [slot] |
Definition at line 296 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnOk_clicked | ( | ) | [slot] |
Definition at line 245 of file qgssearchquerybuilder.cpp.
References countRecords().
void QgsSearchQueryBuilder::on_btnOr_clicked | ( | ) | [slot] |
Definition at line 351 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::on_btnPct_clicked | ( | ) | [slot] |
Definition at line 286 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::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 170 of file qgssearchquerybuilder.cpp.
References getFieldValues().
void QgsSearchQueryBuilder::on_btnTest_clicked | ( | ) | [slot] |
Test the constructed search string to see if it's correct. The number of rows that would be returned is displayed in a message box.
Definition at line 180 of file qgssearchquerybuilder.cpp.
References countRecords().
Referenced by QgsSearchQueryBuilder().
void QgsSearchQueryBuilder::on_buttonBox_helpRequested | ( | ) | [inline, slot] |
Definition at line 93 of file qgssearchquerybuilder.h.
References QgsContextHelp::run().
void QgsSearchQueryBuilder::on_lstFields_doubleClicked | ( | const QModelIndex & | index | ) | [slot] |
Definition at line 316 of file qgssearchquerybuilder.cpp.
References mModelFields.
void QgsSearchQueryBuilder::on_lstValues_doubleClicked | ( | const QModelIndex & | index | ) | [slot] |
Definition at line 321 of file qgssearchquerybuilder.cpp.
References mModelValues.
void QgsSearchQueryBuilder::populateFields | ( | ) | [private] |
Populate the field list for the selected table
Definition at line 72 of file qgssearchquerybuilder.cpp.
References mFieldMap, mLayer, mModelFields, QgsVectorLayer::pendingFields(), QgsDebugMsg, and QgsSearchTreeNode::quotedColumnRef().
Referenced by QgsSearchQueryBuilder().
void QgsSearchQueryBuilder::saveQuery | ( | ) | [slot] |
Definition at line 366 of file qgssearchquerybuilder.cpp.
Referenced by QgsSearchQueryBuilder().
QString QgsSearchQueryBuilder::searchString | ( | ) |
returns newly created search string
Definition at line 306 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::setSearchString | ( | QString | searchString | ) |
change search string shown in text field
Definition at line 311 of file qgssearchquerybuilder.cpp.
void QgsSearchQueryBuilder::setupListViews | ( | ) | [private] |
Setup models for listviews
Definition at line 92 of file qgssearchquerybuilder.cpp.
References mModelFields, mModelValues, and QgsDebugMsg.
Referenced by QgsSearchQueryBuilder().
QMap<QString, int> QgsSearchQueryBuilder::mFieldMap [private] |
Map that holds field information, keyed by field name.
Definition at line 125 of file qgssearchquerybuilder.h.
Referenced by getFieldValues(), loadQuery(), and populateFields().
QgsVectorLayer* QgsSearchQueryBuilder::mLayer [private] |
Layer for which is the query builder opened.
Definition at line 123 of file qgssearchquerybuilder.h.
Referenced by countRecords(), getFieldValues(), and populateFields().
QStandardItemModel* QgsSearchQueryBuilder::mModelFields [private] |
Model for fields ListView.
Definition at line 127 of file qgssearchquerybuilder.h.
Referenced by getFieldValues(), on_lstFields_doubleClicked(), populateFields(), and setupListViews().
QStandardItemModel* QgsSearchQueryBuilder::mModelValues [private] |
Model for values ListView.
Definition at line 129 of file qgssearchquerybuilder.h.
Referenced by getFieldValues(), on_lstValues_doubleClicked(), and setupListViews().