Go to the documentation of this file.00001 #ifndef BUILDER_H
00002 #define BUILDER_H
00003
00004 #include <QWidget>
00005
00006 #include "builderview.h"
00007
00008 class BaseQueryModel;
00009 class QueryThreadCommand;
00010 class QSqlQuery;
00011 class QCheckBox;
00012 class QPushButton;
00013
00068 class Builder: public QWidget
00069 {
00070 Q_OBJECT
00071 public:
00072 Builder(BaseQueryModel *base, QWidget *parent = 0);
00073 QGridLayout *layout();
00074 BuilderView *builderView() const;
00075 bool isCurrentlyUpToDate();
00076
00077 protected:
00078
00079 private:
00080 QueryThreadCommand queryCommand();
00081 void setQueryExecPending(bool flag);
00082 void setDirtyFlag(const bool &);
00083
00084 private slots:
00085 void pasteQueryToClipboard();
00086 void slot_setMinimumSectionSize_dView(int minimumSize, int);
00087 void onUpdateButtonPress();
00088 void onTimeConstraintChange();
00089 void onHeaderColumnChange();
00090 void onAdvEditChange();
00091 void onAnalyseCheck();
00092 void onQueryThreadCommandDestruction();
00093 void pipe_queryResult(QSqlQuery *result);
00094 void updateView();
00095
00096 signals:
00097 void queryExecPending(const bool &);
00098
00099 private:
00100 BaseQueryModel *base;
00101 BuilderView *view;
00102 AdvancedQueryEdit *advWhereCondition;
00103 QCheckBox *advQEditCheckBox;
00104 QCheckBox *analyseCheckBox;
00105 bool autoUpdateQuery;
00106 bool dirtyFlag;
00107 bool viewUpdatePending;
00108 QPushButton *updateButton;
00109 };
00110
00111 #endif // BUILDER_H