00001 // **************************************************************************** 00002 // copyright (c) 2000-2005 Horst Knorr <hk_classes@knoda.org> 00003 // This file is part of the hk_kdeclasses library. 00004 // This file may be distributed and/or modified under the terms of the 00005 // GNU Library Public License version 2 as published by the Free Software 00006 // Foundation and appearing in the file LGPL included in the 00007 // packaging of this file. 00008 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00009 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00010 // **************************************************************************** 00011 00012 #ifndef HK_KDEBOOLEAN 00013 #define HK_KDEBOOLEAN 00014 #include <qcheckbox.h> 00015 #include <hk_dsboolean.h> 00016 class hk_form; 00027 class hk_kdeboolean : public QCheckBox, public hk_dsboolean 00028 { 00029 Q_OBJECT 00030 public: 00031 hk_kdeboolean(QWidget* wid,hk_form* form=NULL); 00032 ~hk_kdeboolean(void); 00033 virtual void show_widget(void); 00034 virtual void hide_widget(void); 00035 virtual bool close_widget(void); 00036 virtual void set_value(const hk_string&); 00037 virtual hk_string value(void); 00038 00039 protected: 00040 virtual void focusInEvent ( QFocusEvent * ); 00041 virtual void focusOutEvent ( QFocusEvent * ); 00042 virtual void widget_specific_tooltip_changed(void); 00043 virtual bool widget_specific_row_change(void); 00044 virtual bool widget_specific_coordinates(unsigned int px,unsigned int py,unsigned int pwidth,unsigned int pheight); 00045 virtual void widget_specific_label_changed(void); 00046 virtual void widget_specific_font_changed(void); 00047 virtual void widget_specific_insert_mode(void); 00048 virtual void widget_specific_row_deleted(void); 00049 virtual void widget_specific_row_added(void); 00050 virtual void widget_specific_enabled_changed(void); 00051 void keyPressEvent ( QKeyEvent * e ); 00052 virtual void resizeEvent (QResizeEvent *); 00053 virtual void moveEvent ( QMoveEvent * ) ; 00054 virtual void mousePressEvent(QMouseEvent* m); 00055 virtual void mouseDoubleClickEvent(QMouseEvent*); 00056 virtual void widget_specific_backgroundcolour_changed(const hk_colour& oldcolour); 00057 virtual void widget_specific_foregroundcolour_changed(const hk_colour& oldcolour); 00058 virtual bool presentationmode_changed(void); 00059 00060 protected slots: 00061 void slot_data_changed(void); 00062 00063 private: 00064 void reposition(void); 00065 bool p_widget_specific_row_change; 00066 void widget_specific_enable_disable(void); 00067 }; 00068 #endif