Quantum GIS API Documentation  1.7.4
Public Slots | Public Member Functions | Private Member Functions | Private Attributes
QgsSearchQueryBuilder Class Reference

Query Builder for search strings. More...

#include <qgssearchquerybuilder.h>

Collaboration diagram for QgsSearchQueryBuilder:
Collaboration graph
[legend]

List of all members.

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

QgsVectorLayermLayer
 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.

Detailed Description

Query Builder for search strings.

Definition at line 37 of file qgssearchquerybuilder.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

long QgsSearchQueryBuilder::countRecords ( QString  sql) [private]
void QgsSearchQueryBuilder::getFieldValues ( int  limit) [private]

populates list box with values of selected field

Parameters:
limitif 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().

Definition at line 341 of file qgssearchquerybuilder.cpp.

Definition at line 356 of file qgssearchquerybuilder.cpp.

Referenced by QgsSearchQueryBuilder().

Definition at line 271 of file qgssearchquerybuilder.cpp.

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().

Definition at line 331 of file qgssearchquerybuilder.cpp.

Definition at line 281 of file qgssearchquerybuilder.cpp.

Definition at line 361 of file qgssearchquerybuilder.cpp.

Definition at line 291 of file qgssearchquerybuilder.cpp.

Definition at line 326 of file qgssearchquerybuilder.cpp.

Definition at line 276 of file qgssearchquerybuilder.cpp.

Definition at line 301 of file qgssearchquerybuilder.cpp.

Definition at line 346 of file qgssearchquerybuilder.cpp.

Definition at line 336 of file qgssearchquerybuilder.cpp.

Definition at line 296 of file qgssearchquerybuilder.cpp.

Definition at line 245 of file qgssearchquerybuilder.cpp.

References countRecords().

Definition at line 351 of file qgssearchquerybuilder.cpp.

Definition at line 286 of file qgssearchquerybuilder.cpp.

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().

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().

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.

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().

Definition at line 366 of file qgssearchquerybuilder.cpp.

Referenced by QgsSearchQueryBuilder().

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.

Setup models for listviews

Definition at line 92 of file qgssearchquerybuilder.cpp.

References mModelFields, mModelValues, and QgsDebugMsg.

Referenced by QgsSearchQueryBuilder().


Member Data Documentation

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().

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().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines