00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HK_KDETABLE_H
00013 #define HK_KDETABLE_H
00014
00015 #include <kparts/mainwindow.h>
00016 #include <qvariant.h>
00017 #include <qwidget.h>
00018
00019 #include <hk_dstable.h>
00020 class hk_kdetabledesign;
00021 class hk_kdegrid;
00022 class hk_kdegridpart;
00023 class QVBoxLayout;
00024 class QHBoxLayout;
00025 class QGridLayout;
00026 class QButtonGroup;
00027 class QTable;
00028 class hk_kdetoolbar;
00029
00041 class hk_kdetable : public KParts::MainWindow ,public hk_dstable
00042 {
00043 Q_OBJECT
00044
00045 public:
00046 hk_kdetable(QWidget* w=0,const char* n=0,WFlags f=0);
00047 virtual ~hk_kdetable();
00048 virtual bool set_mode(enum_mode s);
00049
00053 bool in_designmode(void){return p_designmode;}
00054 virtual void set_datasource(hk_datasource*);
00055 hk_datasource* datasource(void);
00061 void set_autoclose(bool c){p_autoclose=c;}
00065 void set_nodesignmode(bool n);
00066 hk_dsgrid* grid(void);
00067
00068 signals:
00069 void signal_closed(QWidget*);
00070
00071 public slots:
00072 void designbutton_clicked(void);
00073 void tablebutton_clicked(void);
00074 void close_table(void);
00075
00076 protected:
00077 virtual void before_source_vanishes(void);
00078 void closeEvent ( QCloseEvent* e);
00079 hk_kdetoolbar* toolbar;
00080 hk_kdegrid* p_grid;
00081 hk_kdetabledesign* p_design;
00082
00083 private:
00084 void set_caption(void);
00085 bool p_designmode;
00086 bool p_autoclose;
00087 bool p_nodesignmode;
00088 KRadioAction* p_designaction;
00089 KRadioAction* p_viewaction;
00090 KAction* p_filterdefinitionaction;
00091 KToggleAction* p_filterexecaction;
00092 KAction* p_closeaction;
00093 KAction* p_printaction;
00094 KParts::ReadWritePart* p_part;
00095
00096 };
00097 #endif // HK_KDETABLE_H