ImageBlink.h
00001
00002 #ifndef _IMAGEBLINK_H
00003 #define _IMAGEBLINK_H
00004
00005 #include <SBlinker.h>
00006 #include <components/Image.h>
00007 #include <plugins.h>
00008
00009 namespace UniWidgets
00010 {
00016 class ImageBlink : public Image
00017 {
00018 public:
00019 ImageBlink();
00020 explicit ImageBlink(Image::BaseObjectType* gobject);
00021 virtual ~ImageBlink();
00022
00023
00024 virtual void start_blink();
00025 virtual void stop_blink();
00026 virtual bool is_blinking();
00027
00028 virtual bool set_state(bool st);
00029 virtual bool can_blinking(){return true;}
00030 virtual void on_size_allocate(Gtk::Allocation& alloc);
00031
00032 protected:
00033
00034 virtual bool on_expose_event(GdkEventExpose*);
00035 void on_map();
00036 void on_unmap();
00037
00038 private:
00039
00040 static Blinker blinker;
00041 Glib::RefPtr<Gdk::Pixbuf> image2_ref_;
00042 sigc::connection blink_connection_;
00043 bool is_blinking_;
00044 bool sleep_blinking_;
00045
00046
00047 bool state_;
00048
00049
00050 void constructor();
00051 void blink(bool state,int time = DEFAULT_BLINK_TIME);
00052
00053
00054 void configure_blinktime();
00055
00056 DISALLOW_COPY_AND_ASSIGN(ImageBlink);
00057
00058 ADD_PROPERTY( image2_path, Glib::ustring )
00059
00060 ADD_PROPERTY( blinktime, int )
00061 };
00062
00063 }
00064
00065 #endif