QgsSearchQueryBuilder Class Reference

#include <qgssearchquerybuilder.h>

Collaboration diagram for QgsSearchQueryBuilder:

Collaboration graph
[legend]
List of all members.

Detailed Description

Query Builder for search strings.

Definition at line 36 of file qgssearchquerybuilder.h.

Public Slots

void on_btnEqual_clicked ()
void on_btnOk_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 ()
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 ()

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.


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 34 of file qgssearchquerybuilder.cpp.

References QgsMapLayer::name(), populateFields(), and setupListViews().

QgsSearchQueryBuilder::~QgsSearchQueryBuilder (  ) 

Definition at line 55 of file qgssearchquerybuilder.cpp.


Member Function Documentation

QString QgsSearchQueryBuilder::searchString (  ) 

returns newly created search string

Definition at line 279 of file qgssearchquerybuilder.cpp.

Referenced by QgsAttributeTableDisplay::advancedSearch().

void QgsSearchQueryBuilder::setSearchString ( QString  searchString  ) 

change search string shown in text field

Definition at line 284 of file qgssearchquerybuilder.cpp.

Referenced by QgsAttributeTableDisplay::advancedSearch().

void QgsSearchQueryBuilder::on_btnEqual_clicked (  )  [slot]

Definition at line 244 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnOk_clicked (  )  [slot]

Definition at line 218 of file qgssearchquerybuilder.cpp.

References countRecords().

void QgsSearchQueryBuilder::on_btnLessThan_clicked (  )  [slot]

Definition at line 249 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnGreaterThan_clicked (  )  [slot]

Definition at line 254 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnPct_clicked (  )  [slot]

Definition at line 259 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnIn_clicked (  )  [slot]

Definition at line 264 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnNotIn_clicked (  )  [slot]

Definition at line 269 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnLike_clicked (  )  [slot]

Definition at line 274 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnILike_clicked (  )  [slot]

Definition at line 334 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_lstFields_doubleClicked ( const QModelIndex &  index  )  [slot]

Definition at line 289 of file qgssearchquerybuilder.cpp.

References mModelFields.

void QgsSearchQueryBuilder::on_lstValues_doubleClicked ( const QModelIndex &  index  )  [slot]

Definition at line 294 of file qgssearchquerybuilder.cpp.

References mModelValues.

void QgsSearchQueryBuilder::on_btnLessEqual_clicked (  )  [slot]

Definition at line 299 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnGreaterEqual_clicked (  )  [slot]

Definition at line 304 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnNotEqual_clicked (  )  [slot]

Definition at line 309 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnAnd_clicked (  )  [slot]

Definition at line 314 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnNot_clicked (  )  [slot]

Definition at line 319 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnOr_clicked (  )  [slot]

Definition at line 324 of file qgssearchquerybuilder.cpp.

void QgsSearchQueryBuilder::on_btnClear_clicked (  )  [slot]

Definition at line 329 of file qgssearchquerybuilder.cpp.

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.

Parameters:
showResults If true, the results are displayed in a QMessageBox

Definition at line 157 of file qgssearchquerybuilder.cpp.

References countRecords().

void QgsSearchQueryBuilder::on_btnGetAllValues_clicked (  )  [slot]

Get all distinct values for the field. Values are inserted into the value list box

Definition at line 152 of file qgssearchquerybuilder.cpp.

References getFieldValues().

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 147 of file qgssearchquerybuilder.cpp.

References getFieldValues().

void QgsSearchQueryBuilder::populateFields (  )  [private]

Populate the field list for the selected table

Definition at line 60 of file qgssearchquerybuilder.cpp.

References QgsVectorLayer::dataProvider(), QgsVectorDataProvider::fields(), mFieldMap, mLayer, mModelFields, and QgsDebugMsg.

Referenced by QgsSearchQueryBuilder().

void QgsSearchQueryBuilder::setupListViews (  )  [private]

Setup models for listviews

Definition at line 74 of file qgssearchquerybuilder.cpp.

References mModelFields, mModelValues, and QgsDebugMsg.

Referenced by QgsSearchQueryBuilder().

long QgsSearchQueryBuilder::countRecords ( QString  sql  )  [private]

Get the number of records that would be returned by the current SQL

Returns:
Number of records or -1 if an error was encountered

Definition at line 174 of file qgssearchquerybuilder.cpp.

References QgsVectorDataProvider::attributeIndexes(), QgsFeature::attributeMap(), QgsSearchTreeNode::checkAgainst(), QgsVectorLayer::dataProvider(), QgsVectorLayer::featureCount(), QgsVectorDataProvider::fields(), QgsSearchTreeNode::hasError(), mLayer, QgsVectorDataProvider::nextFeature(), QgsSearchString::parserErrorMsg(), QgsVectorDataProvider::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

Parameters:
limit if not zero, inserts only this count of values

Definition at line 92 of file qgssearchquerybuilder.cpp.

References QgsFeature::attributeMap(), QgsVectorLayer::dataProvider(), QgsVectorDataProvider::fields(), mFieldMap, mLayer, mModelFields, mModelValues, QgsVectorDataProvider::nextFeature(), QgsVectorDataProvider::select(), and QgsField::type().

Referenced by on_btnGetAllValues_clicked(), and on_btnSampleValues_clicked().


Member Data Documentation

QgsVectorLayer* QgsSearchQueryBuilder::mLayer [private]

Layer for which is the query builder opened.

Definition at line 118 of file qgssearchquerybuilder.h.

Referenced by countRecords(), getFieldValues(), and populateFields().

QMap<QString, int> QgsSearchQueryBuilder::mFieldMap [private]

Map that holds field information, keyed by field name.

Definition at line 120 of file qgssearchquerybuilder.h.

Referenced by getFieldValues(), and populateFields().

QStandardItemModel* QgsSearchQueryBuilder::mModelFields [private]

Model for fields ListView.

Definition at line 122 of file qgssearchquerybuilder.h.

Referenced by getFieldValues(), on_lstFields_doubleClicked(), populateFields(), and setupListViews().

QStandardItemModel* QgsSearchQueryBuilder::mModelValues [private]

Model for values ListView.

Definition at line 124 of file qgssearchquerybuilder.h.

Referenced by getFieldValues(), on_lstValues_doubleClicked(), and setupListViews().


The documentation for this class was generated from the following files:
Generated on Tue Oct 28 16:52:04 2008 for Quantum GIS API Documentation by  doxygen 1.5.1