00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HK_KDEGRID
00013 #define HK_KDEGRID
00014 #include <hk_class.h>
00015 #include <qlayout.h>
00016 #include <qpushbutton.h>
00017 #include <qheader.h>
00018
00019 #include <qwidget.h>
00020 #include <qframe.h>
00021 #include <qlabel.h>
00022
00023 #include "hk_dsgrid.h"
00024
00025 class hk_kderowselector;
00026 class hk_kdesimpleform;
00027 class hk_kdefinddialog;
00028 class hk_kdegridpart;
00029 class hk_kdesimplegrid;
00030
00045 class hk_kdegrid :public QFrame, public hk_dsgrid
00046 {
00047 friend class hk_kdegridpart;
00048 friend class hk_kdesimplegrid;
00049 Q_OBJECT
00050 public:
00051 hk_kdegrid(QWidget* w=0,const char* n=0,WFlags f=0,hk_kdesimpleform* form=NULL);
00052 virtual ~hk_kdegrid();
00056 void set_datasource(hk_datasource* d);
00060 hk_kdesimplegrid* simplegrid(void){return p_grid;}
00061 hk_kdegridpart* part(void){return p_part;}
00062 public slots:
00063
00064
00065 void find_clicked(void);
00066 void find_next(void);
00067 void findargument_changed(void);
00068 void print_grid(void);
00069
00070 protected:
00071 virtual bool widget_specific_coordinates(unsigned int px,unsigned int py,unsigned int pwidth,unsigned int pheight);
00072 virtual void widget_specific_presentationdatasource(long p);
00073 virtual void widget_specific_enable_disable(void);
00074 virtual void widget_specific_font_changed(void);
00075
00076 virtual void resizeEvent (QResizeEvent *);
00077 virtual void moveEvent ( QMoveEvent * ) ;
00078 virtual void before_row_change(void);
00079 virtual void widget_specific_backgroundcolour_changed(const hk_colour&);
00080 virtual void widget_specific_foregroundcolour_changed(const hk_colour&);
00081 virtual void widget_specific_columns_created(void);
00082 void widget_specific_rowheight_changes(void);
00083
00084 private:
00085 hk_kdefinddialog* p_finddialog;
00086 bool p_findfirstview;
00087 QHBoxLayout* hbottomlayout;
00088 QHBoxLayout* hdatalayout;
00089 QHBoxLayout* htoplayout;
00090 QVBoxLayout* vbasiclayout;
00091 hk_kdesimplegrid* p_grid;
00092 hk_kderowselector* selector;
00093 QLabel* statusbar;
00094 void reposition(void);
00095 hk_kdegridpart* p_part;
00096 }
00097
00098
00099 ;
00100
00105 #endif