00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_KDEBUTTON_H
00012 #define HK_KDEBUTTON_H
00013 #include "hk_button.h"
00014 #include <qpushbutton.h>
00015 class hk_form;
00016 class hk_kdeform;
00017 class hk_kdeformpartwidget;
00018 class hk_kdereport;
00019 class hk_kdereportpartwidget;
00026 class hk_kdebutton :public QPushButton,public hk_button
00027 {
00028 Q_OBJECT
00029 public:
00030 hk_kdebutton(QWidget*wid,hk_form*f=NULL) ;
00031 virtual ~hk_kdebutton(void);
00032 virtual void show_widget(void);
00033 virtual void hide_widget(void);
00034 virtual bool close_widget(void);
00035 virtual bool load_icon(const hk_string& filename,bool registerchange=true);
00036 virtual void show_icon();
00037 virtual void set_is_togglebutton(bool,bool registerchange=true,bool forcesetting=false);
00038 virtual void set_is_pushed(bool,bool registerchange=true,bool forcesetting=false);
00039 public slots:
00040 void button_clicked(void);
00041
00042
00043 protected slots:
00044 void toggle_state_changed(int state);
00045
00046 protected:
00047 virtual void focusInEvent ( QFocusEvent * );
00048 virtual void focusOutEvent ( QFocusEvent * );
00049 virtual void widget_specific_tooltip_changed(void);
00050 virtual bool widget_specific_coordinates(uint px,uint py,uint pwidth,uint pheight);
00051 virtual bool widget_specific_open_form(void);
00052 virtual bool widget_specific_close_form(void);
00053 virtual bool widget_specific_open_table(void);
00054 virtual bool widget_specific_open_query(void);
00055 virtual bool widget_specific_preview_report(void);
00056 virtual bool widget_specific_open_view(void);
00057 virtual void widget_specific_enabled_changed(void);
00058 virtual void widget_specific_label_changed(void);
00059 virtual void widget_specific_font_changed(void);
00060 virtual void resizeEvent (QResizeEvent *);
00061 virtual void moveEvent ( QMoveEvent * ) ;
00062 virtual void widget_specific_backgroundcolour_changed(const hk_colour& oldcolour);
00063 virtual void widget_specific_foregroundcolour_changed(const hk_colour& oldcolour);
00064
00065 virtual void mouseDoubleClickEvent(QMouseEvent*);
00066 virtual bool presentationmode_changed(void);
00067
00068 private:
00069 void reposition(void);
00070 hk_kdeform* find_existing_form(void);
00071 hk_kdeformpartwidget* find_existing_formpart(void);
00072 hk_kdereport* find_existing_report(void);
00073 hk_kdereportpartwidget* find_existing_reportpart(void);
00074
00075 };
00076 #endif