15 #ifndef QGSQUERYBUILDER_H 
   16 #define QGSQUERYBUILDER_H 
   20 #include <QStandardItemModel> 
   21 #include <QSortFilterProxyModel> 
   22 #include <QStandardItem> 
   23 #include <QModelIndex> 
   24 #include "ui_qgsquerybuilderbase.h" 
   57                      Qt::WindowFlags fl = QgsGuiUtils::ModalDialogFlags );
 
   59     void showEvent( QShowEvent *event ) 
override;
 
   65     void setSql( 
const QString &sqlStatement );
 
   68     void setSubsetString( 
const QString &subsetString )
 override { setSql( subsetString ); }
 
   85     QWidget *codeEditorWidget() 
const;
 
  100     static bool saveQueryToFile( 
const QString &subset );
 
  106     static bool loadQueryFromFile( QString &subset );
 
  109     void accept() 
override;
 
  110     void reject() 
override;
 
  134     void setDatasourceDescription( 
const QString &uri );
 
  137     void btnEqual_clicked();
 
  138     void btnLessThan_clicked();
 
  139     void btnGreaterThan_clicked();
 
  140     void btnPct_clicked();
 
  141     void btnIn_clicked();
 
  142     void btnNotIn_clicked();
 
  143     void btnLike_clicked();
 
  144     void btnILike_clicked();
 
  145     void lstFields_clicked( 
const QModelIndex &index );
 
  146     void lstFields_doubleClicked( 
const QModelIndex &index );
 
  147     void lstValues_doubleClicked( 
const QModelIndex &index );
 
  148     void btnLessEqual_clicked();
 
  149     void btnGreaterEqual_clicked();
 
  150     void btnNotEqual_clicked();
 
  151     void btnAnd_clicked();
 
  152     void btnNot_clicked();
 
  153     void btnOr_clicked();
 
  154     void onTextChanged( 
const QString &text );
 
  155     void layerSubsetStringChanged();
 
  161     void btnGetAllValues_clicked();
 
  168     void btnSampleValues_clicked();
 
  175     void populateFields();
 
  182     void setupGuiViews();
 
  183     void setupLstFieldsModel();
 
  184     void fillValues( 
int idx, 
int limit );
 
  188     QStandardItemModel *mModelFields = 
nullptr;
 
  190     QStandardItemModel *mModelValues = 
nullptr;
 
  192     QSortFilterProxyModel *mProxyValues = 
nullptr;
 
  194     int mPreviousFieldRow;
 
  200     QString mOrigSubsetString;
 
  203     bool mIgnoreLayerSubsetStringChangedSignal = 
false;
 
  205     friend class TestQgsQueryBuilder;
 
  207 #endif //QGSQUERYBUILDER_H