00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef HK_KDECOMBOBOX
00013 #define HK_KDECOMBOBOX
00014 #include <hk_dscombobox.h>
00015 #include <qcombobox.h>
00029 class hk_kdecomboboxprivate;
00030
00031 class hk_kdecombobox :public QComboBox,public hk_dscombobox
00032 {
00033 Q_OBJECT
00034 friend class qlineedit;
00035 public:
00036 hk_kdecombobox(QWidget* wid,hk_form* form=NULL);
00037 virtual ~hk_kdecombobox(void);
00038 virtual void set_value(const hk_string&);
00039 virtual hk_string value(void);
00040 virtual void show_widget(void);
00041 virtual void hide_widget(void);
00042 virtual bool close_widget(void);
00043 virtual void update_filter(void);
00044
00045 protected:
00046 virtual void focusInEvent ( QFocusEvent * );
00047 virtual void focusOutEvent ( QFocusEvent * );
00048 virtual void widget_specific_tooltip_changed(void);
00049 virtual bool datasource_enable(void);
00050 virtual bool datasource_disable(void);
00051 virtual void widget_specific_enable_disable();
00052 virtual bool widget_specific_row_change(void);
00053 virtual bool widget_specific_coordinates(unsigned int px,unsigned int py,unsigned int pwidth,unsigned int pheight);
00054 virtual void widget_specific_insert_mode(void);
00055 virtual void widget_specific_row_deleted(void);
00056 virtual void widget_specific_row_added(void);
00057 virtual void widget_specific_enabled_changed(void);
00058 virtual void widget_specific_mode_change(void);
00059 virtual void after_store_changed_data(void);
00060 virtual void widget_specific_font_changed(void);
00061 virtual bool presentationmode_changed(void);
00062
00063 virtual void resizeEvent (QResizeEvent *);
00064 virtual void keyPressEvent(QKeyEvent *);
00065 virtual void mousePressEvent(QMouseEvent*);
00066 virtual void moveEvent ( QMoveEvent * ) ;
00067 virtual void load_listitems(void);
00068 virtual void widget_specific_backgroundcolour_changed(const hk_colour&);
00069 virtual void widget_specific_foregroundcolour_changed(const hk_colour&);
00070 virtual void mouseDoubleClickEvent(QMouseEvent*);
00071 virtual void before_presentationmode_changed(void);
00072
00073 protected slots:
00074 void slot_data_changed(int);
00075 void slot_text_changed(void);
00076 void slot_focus_lost(void);
00077
00078 private:
00079 void load_listitems_from_column();
00080 void load_listitems_from_textlist();
00081 void selector_row_changed(int index);
00082 void reposition(void);
00083 bool p_widget_specific_row_change;
00084 bool p_whiledatachange;
00085 void set_currentlistitem(void);
00086 void set_selecteditemdata(int);
00087 int find_edittextitem(void);
00088 hk_kdecomboboxprivate* p_private;
00089 bool p_filter_has_changed;
00090
00091 };
00092 #endif