/usr/include/qgis/qgssearchquerybuilder.h is in libqgis-dev 2.18.17+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | /***************************************************************************
qgssearchquerybuilder.h - Query builder for search strings
----------------------
begin : March 2006
copyright : (C) 2006 by Martin Dobias
email : wonder.sk at gmail dot com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSSEARCHQUERYBUILDER_H
#define QGSSEARCHQUERYBUILDER_H
#include <map>
#include <vector>
#include <QStandardItemModel>
#include <QModelIndex>
#include "ui_qgsquerybuilderbase.h"
#include "qgisgui.h"
#include "qgscontexthelp.h"
class QgsField;
class QgsVectorLayer;
/** \ingroup gui
* \class QgsSearchQueryBuilder
* \brief Query Builder for search strings
*/
class GUI_EXPORT QgsSearchQueryBuilder : public QDialog, private Ui::QgsQueryBuilderBase
{
Q_OBJECT
public:
//! Constructor - takes pointer to vector layer as a parameter
QgsSearchQueryBuilder( QgsVectorLayer* layer, QWidget *parent = nullptr,
const Qt::WindowFlags& fl = QgisGui::ModalDialogFlags );
~QgsSearchQueryBuilder();
//! returns newly created search string
QString searchString();
//! change search string shown in text field
void setSearchString( const QString& searchString );
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();
/** 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.
*/
void on_btnTest_clicked();
/*!
* 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 on_buttonBox_helpRequested() { QgsContextHelp::run( metaObject()->className() ); }
void saveQuery();
void loadQuery();
private:
/*!
* Populate the field list for the selected table
*/
void populateFields();
/*!
* Setup models for listviews
*/
void setupListViews();
/** Get the number of records that would be returned by the current SQL
* @return Number of records or -1 if an error was encountered
*/
long countRecords( const QString& sql );
/*!
* populates list box with values of selected field
* @param limit if not zero, inserts only this count of values
*/
void getFieldValues( int limit );
private:
//! Layer for which is the query builder opened
QgsVectorLayer* mLayer;
//! Map that holds field information, keyed by field name
QMap<QString, int> mFieldMap;
//! Model for fields ListView
QStandardItemModel *mModelFields;
//! Model for values ListView
QStandardItemModel *mModelValues;
};
#endif //QGSSEARCHQUERYBUILDER_H
|