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_KDEMEMO_H 00013 #define HK_KDEMEMO_H 00014 #include <hk_dsmemo.h> 00015 #include <keditcl.h> 00016 #include <qtextedit.h> 00017 class hk_kdefinddialog; 00027 class hk_kdememo: public QTextEdit,public hk_dsmemo 00028 00029 { 00030 Q_OBJECT 00031 public: 00032 hk_kdememo(QWidget* wid,hk_form* f=NULL); 00033 ~hk_kdememo(); 00034 virtual void set_value(const hk_string&); 00035 virtual hk_string value(void); 00036 virtual void show_widget(void); 00037 virtual void hide_widget(void); 00038 virtual bool close_widget(void); 00039 00040 protected: 00041 virtual void focusInEvent ( QFocusEvent * ); 00042 virtual void focusOutEvent ( QFocusEvent * ); 00043 virtual void widget_specific_tooltip_changed(void); 00044 virtual bool widget_specific_coordinates(uint px,uint py,uint pwidth,uint pheight); 00045 virtual bool widget_specific_row_change(void); 00046 virtual void widget_specific_insert_mode(void); 00047 virtual void widget_specific_row_deleted(void); 00048 virtual void widget_specific_row_added(void); 00049 virtual void widget_specific_alignment(void); 00050 virtual void widget_specific_enabled_changed(void); 00051 virtual bool presentationmode_changed(void); 00052 bool datasource_disable(void); 00053 bool datasource_enable(void); 00054 void datasource_delete(void); 00055 virtual void widget_specific_font_changed(void); 00056 virtual void resizeEvent (QResizeEvent *); 00057 virtual void moveEvent ( QMoveEvent * ) ; 00058 virtual void widget_specific_backgroundcolour_changed(const hk_colour&); 00059 virtual void widget_specific_foregroundcolour_changed(const hk_colour&); 00060 void keyPressEvent ( QKeyEvent * e ); 00061 virtual QPopupMenu* createPopupMenu(const QPoint&); 00062 00063 protected slots: 00064 void slot_data_changed(void); 00065 void before_row_change(void); 00066 void before_store_changed_data(void); 00067 void slot_mouse_clicked(void); 00068 void slot_mouse_doubleclicked(void); 00069 void NULLselected( int r ); 00070 public slots: 00071 void find_clicked(int); 00072 void find_next(void); 00073 void findargument_changed(void); 00074 00075 private: 00076 void reposition(void); 00077 bool p_widget_specific_row_change; 00078 void widget_specific_enable_disable(void); 00079 bool has_changed; 00080 int NULLpopupid; 00081 int findpopupid; 00082 hk_kdefinddialog* p_finddialog; 00083 bool p_findfirstview; 00084 00085 }; 00086 #endif