00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_KDEDATE
00012 #define HK_KDEDATE
00013 #include "hk_dsdate.h"
00014 #include <qframe.h>
00015 #include <qdatetime.h>
00016
00017 class hk_kdedateprivate;
00018
00019 class hk_kdedate : public QFrame, public hk_dsdate
00020 {
00021 Q_OBJECT
00022
00023 public:
00024 hk_kdedate(QWidget* wid,hk_form* form=NULL);
00025 virtual ~hk_kdedate();
00026 virtual void show_widget(void);
00027 virtual void hide_widget(void);
00028 virtual bool close_widget(void);
00029 virtual void set_value(const hk_string&);
00030 virtual hk_string value(void);
00031 public slots:
00032 virtual void slot_date_selected(QDate);
00033
00034 protected:
00035 virtual void resizeEvent (QResizeEvent *);
00036 virtual void moveEvent ( QMoveEvent * ) ;
00037 virtual bool widget_specific_coordinates(uint px,uint py,uint pwidth,uint pheight);
00038 virtual bool widget_specific_row_change(void);
00039 virtual void widget_specific_enable_disable(void);
00040
00041
00042 virtual void widget_specific_insert_mode(void);
00043 virtual void widget_specific_row_added(void);
00044 virtual void widget_specific_row_deleted(void);
00045 virtual void widget_specific_alignment(void);
00046 virtual void widget_specific_tooltip_changed(void);
00047
00048
00049 virtual void mousePressEvent(QMouseEvent*);
00050 virtual void mouseDoubleClickEvent(QMouseEvent*);
00051 virtual void focusInEvent ( QFocusEvent * );
00052 virtual void focusOutEvent ( QFocusEvent * );
00053 virtual void widget_specific_backgroundcolour_changed(const hk_colour&);
00054 virtual void widget_specific_foregroundcolour_changed(const hk_colour&);
00055 virtual void widget_specific_font_changed(void);
00056 virtual void widget_specific_enabled_changed(void);
00057 virtual bool presentationmode_changed(void);
00058
00059 protected slots:
00060 void slot_data_changed(void);
00061 void slot_table_clicked(void);
00062 void button_clicked(void);
00063
00064
00065 private:
00066 void reposition(void);
00067 bool p_widget_specific_row_change;
00068 hk_kdedateprivate* p_private;
00069 };
00070
00071
00072
00073 class datepopupprivate;
00074
00075 class datepopup:public QFrame
00076 {
00077 Q_OBJECT
00078 public:
00079 datepopup(QWidget* wid,hk_kdedate*);
00080 virtual ~datepopup();
00081 int exec(const QWidget* trigger);
00082
00083 protected:
00084 virtual void mouseReleaseEvent(QMouseEvent*);
00085 virtual void keyPressEvent(QKeyEvent*);
00086 bool eventFilter(QObject* object,QEvent* event);
00087
00088 private:
00089 datepopupprivate* p_private;
00090 };
00091
00092 #endif //hk_kdedate