00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HK_KDEIMAGE
00012 #define HK_KDEIMAGE
00013 #include <hk_dsimage.h>
00014 #include <qframe.h>
00015 #include <qlabel.h>
00016 class hk_kdeimageprivate;
00017
00018 class hk_kdeimage : public QFrame,public hk_dsimage
00019 {
00020 Q_OBJECT
00021 friend class internal_kdelabel;
00022 public:
00023 hk_kdeimage(QWidget* wid,hk_form* form=NULL);
00024 virtual ~hk_kdeimage();
00025 virtual void show_widget(void);
00026 virtual void hide_widget(void);
00027 virtual void close_widget(void);
00028 virtual void set_value(const hk_string&);
00029 virtual bool load_localimage(const hk_string& filename,bool registerchange=true);
00030 virtual void show_image(void);
00031
00032
00033 protected:
00034
00035 virtual void resizeEvent (QResizeEvent *);
00036 virtual void moveEvent ( QMoveEvent * ) ;
00037 virtual bool widget_specific_coordinates(uint px,uint py,uint pwidth,uint pheight);
00038 virtual bool widget_specific_row_change(void);
00039 virtual void widget_specific_enable_disable(void);
00040 virtual void widget_specific_insert_mode(void);
00041 virtual void widget_specific_backgroundcolour_changed(const hk_colour&);
00042 virtual void widget_specific_foregroundcolour_changed(const hk_colour&);
00043 virtual void widget_specific_font_changed(void);
00044 virtual void widget_specific_enabled_changed(void);
00045 virtual void focusInEvent ( QFocusEvent * );
00046 virtual void focusOutEvent ( QFocusEvent * );
00047 void keyPressEvent ( QKeyEvent * e );
00048 virtual bool presentationmode_changed(void);
00049 protected slots:
00050 void slot_set_image(void);
00051 private:
00052 void zoom_image(void);
00053 void reposition(void);
00054 hk_kdeimageprivate* p_private;
00055 };
00056
00057
00058 class internal_kdelabel:public QLabel
00059 {
00060 Q_OBJECT
00061
00062 signals:
00063 void signal_image_set();
00064 public:
00065 internal_kdelabel(QWidget* parent, hk_kdeimage*);
00066 public slots:
00067 void slot_set_image(void);
00068 void slot_save_image(void);
00069 void slot_fit2size(void);
00070 void slot_originalsize(void);
00071 void slot_zoomin(void);
00072 void slot_zoomout(void);
00073
00074 protected:
00075 virtual void mousePressEvent(QMouseEvent*);
00076 virtual void mouseDoubleClickEvent(QMouseEvent*);
00077
00078 private:
00079 void contextMenuEvent ( QContextMenuEvent*);
00080 hk_kdeimage* p_image;
00081 };
00082
00083
00084 #endif // hk_kdeimage