00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HK_KDETABLEPARTWIDGET_H
00013 #define HK_KDETABLEPARTWIDGET_H
00014
00015 #include <kparts/part.h>
00016 #include <qvariant.h>
00017 #include <qwidget.h>
00018 #include <qwidgetstack.h>
00019 #include <kaction.h>
00020
00021 #include <hk_dstable.h>
00022 class hk_kdetabledesign;
00023 class hk_kdegrid;
00024 class hk_kdegridpart;
00025 class QVBoxLayout;
00026 class QHBoxLayout;
00027 class QGridLayout;
00028 class QButtonGroup;
00029 class QTable;
00030 class hk_kdetoolbar;
00031 class hk_kdetablepart;
00032
00044 class hk_kdetablepartwidget : public QWidgetStack ,public hk_dstable
00045 {
00046 friend class hk_kdetablepart;
00047 Q_OBJECT
00048
00049 public:
00050 virtual ~hk_kdetablepartwidget();
00051 virtual bool set_mode(enum_mode s);
00052
00056 virtual void set_datasource(hk_datasource*);
00057 hk_datasource* datasource(void);
00063 void set_autoclose(bool c){p_autoclose=c;}
00064 hk_dsgrid* grid(void)const ;
00065 hk_kdegrid* kdegrid(void) const;
00066 hk_kdetoolbar* toolbar(void)const;
00067 KParts::ReadWritePart* gridpart(void) const;
00068 bool in_designmode(void);
00069
00070
00071 void alter_table(void);
00072 signals:
00073 void signal_closed(QWidget*);
00074
00075 public slots:
00076 void close_table(void);
00077 void save_table(void);
00078 void slot_has_changed(void);
00079 void designbutton_clicked(void);
00080 void tablebutton_clicked(void);
00081
00082 protected:
00083 void internal_designbutton_clicked(void);
00084 void internal_tablebutton_clicked(void);
00085 hk_kdetablepartwidget(QWidget* w,const char* n=0,WFlags f=0);
00086 virtual void before_source_vanishes(void);
00087 void closeEvent ( QCloseEvent* e);
00088 hk_kdetoolbar* p_toolbar;
00089 hk_kdegrid* p_grid;
00090 hk_kdetabledesign* p_design;
00091
00092 KRadioAction* p_designaction;
00093 KRadioAction* p_viewaction;
00094 KAction* p_filterdefinitionaction;
00095 KToggleAction* p_filterexecaction;
00096 KAction* p_printaction;
00097 KAction* p_columndialogaction;
00098 KAction* p_findaction;
00099 KAction* p_copyaction;
00100 KAction* p_pasteaction;
00101 KAction* p_saveaction;
00102
00103 private:
00104 void set_caption(void);
00105 bool p_autoclose;
00106 KParts::ReadWritePart* p_gridpart;
00107
00108 };
00109 #endif // HK_KDETABLEPARTWIDGET_H