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 virtual void update_filter(void);
00032 public slots:
00033 virtual void slot_date_selected(QDate);
00034 signals:
00035 void lostFocus();
00036
00037 protected:
00038 virtual void resizeEvent (QResizeEvent *);
00039 virtual void moveEvent ( QMoveEvent * ) ;
00040 virtual bool widget_specific_coordinates(uint px,uint py,uint pwidth,uint pheight);
00041 virtual bool widget_specific_row_change(void);
00042 virtual void widget_specific_enable_disable(void);
00043
00044
00045 virtual void widget_specific_insert_mode(void);
00046 virtual void widget_specific_row_added(void);
00047 virtual void widget_specific_row_deleted(void);
00048 virtual void widget_specific_alignment(void);
00049 virtual void widget_specific_tooltip_changed(void);
00050
00051
00052 virtual void mousePressEvent(QMouseEvent*);
00053 virtual void mouseDoubleClickEvent(QMouseEvent*);
00054 virtual void focusInEvent ( QFocusEvent * );
00055 virtual void focusOutEvent ( QFocusEvent * );
00056 virtual void widget_specific_backgroundcolour_changed(const hk_colour&);
00057 virtual void widget_specific_foregroundcolour_changed(const hk_colour&);
00058 virtual void widget_specific_font_changed(void);
00059 virtual void widget_specific_enabled_changed(void);
00060 virtual bool presentationmode_changed(void);
00061
00062 protected slots:
00063 void slot_data_changed(void);
00064 void slot_table_clicked(void);
00065 void button_clicked(void);
00066 void slot_focus_lost(void);
00067
00068
00069 private:
00070 void reposition(void);
00071 bool p_widget_specific_row_change;
00072 hk_kdedateprivate* p_private;
00073 };
00074
00075
00076
00077 class datepopupprivate;
00078
00079 class datepopup:public QFrame
00080 {
00081 Q_OBJECT
00082 public:
00083 datepopup(QWidget* wid,hk_kdedate*);
00084 virtual ~datepopup();
00085 int exec(const QWidget* trigger);
00086
00087 protected:
00088 virtual void mouseReleaseEvent(QMouseEvent*);
00089 virtual void keyPressEvent(QKeyEvent*);
00090 bool eventFilter(QObject* object,QEvent* event);
00091
00092 private:
00093 datepopupprivate* p_private;
00094 };
00095
00096 #endif //hk_kdedate