00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HK_KDEQUERY_H
00013 #define HK_KDEQUERY_H
00014
00015 #include <qvariant.h>
00016 #include <kparts/mainwindow.h>
00017 #include <kate/view.h>
00018 #include <kate/document.h>
00019
00020 #include "hk_dsquery.h"
00021 #include "hk_datasource.h"
00022 #include "hk_database.h"
00023 class QVBoxLayout;
00024 class QHBoxLayout;
00025 class QGridLayout;
00026 class QButtonGroup;
00027 class QTable;
00028 class QToolButton;
00029 class QMultiLineEdit;
00030 class hk_kdetoolbar;
00031 class hk_kdegrid;
00032 class hk_kdegridpart;
00033
00034 class hk_kdequeryprivate;
00035
00048 class hk_kdequery : public KParts::MainWindow ,public hk_dsquery
00049 {
00050 Q_OBJECT
00051
00052 public:
00053 hk_kdequery(QWidget* w=0,const char* n=0,WFlags f=0);
00054 virtual ~hk_kdequery();
00055 virtual bool set_mode(enum_mode s);
00059 bool in_designmode(void) const ;
00060 virtual void set_datasource(hk_datasource*);
00061
00066 void set_autoclose(bool c);
00067
00071 void set_nodesignmode(bool n);
00072
00073 bool save_query(const hk_string& n="",bool ask=true);
00074 bool load_query(void);
00075 hk_dsgrid *grid(void);
00076 virtual hk_qbe* qbe(void);
00077 signals:
00078 void signal_closed(QWidget*);
00079
00080 public slots:
00081 void designbutton_clicked(void);
00082 void querybutton_clicked(void);
00083 void query_changed(void);
00084 void savebutton_clicked(void);
00085 void saveasbutton_clicked(void);
00086 void close_query(void);
00087 void print(void);
00088 void action_useqbe(void);
00089 virtual void show ();
00090 virtual void showMaximized ();
00091
00092
00093 protected:
00094 virtual void before_source_vanishes(void);
00095 virtual void closeEvent ( QCloseEvent* e);
00096 void keyPressEvent ( QKeyEvent * e );
00097
00098 protected slots:
00099 void qbe_has_changed(void);
00100
00101 private:
00102 void set_caption(void);
00103 void internal_set_designmode(void);
00104 void internal_set_viewmode(void);
00105
00106
00107 hk_kdequeryprivate* p_private;
00108
00109 };
00110 #endif