|
UniWidgets
1.0.0
|
00001 #ifndef _IMAGEBLINK_H 00002 #define _IMAGEBLINK_H 00003 // ------------------------------------------------------------------------- 00004 #include <uniwidgets/SBlinker.h> 00005 #include <uniwidgets/USignals.h> 00006 #include <uniwidgets/ConfirmSignal.h> 00007 #include <components/Image.h> 00008 #include <plugins.h> 00009 // ------------------------------------------------------------------------- 00010 namespace UniWidgets 00011 { 00017 class ImageBlink : public Image 00018 { 00019 public: 00020 ImageBlink(); 00021 explicit ImageBlink(Image::BaseObjectType* gobject); 00022 virtual ~ImageBlink(); 00023 00024 /* Methods */ 00025 virtual void start_blink(); 00026 virtual void stop_blink(); 00027 virtual bool is_blinking(); 00028 virtual void set_blink_(bool value){blink_.set_value(value);} 00029 virtual bool set_state(bool st); 00031 protected: 00032 /* Event handlers */ 00033 virtual bool on_expose_event(GdkEventExpose*); 00034 void on_map(); 00035 void on_unmap(); 00036 00037 private: 00038 /* Variables */ 00039 static Blinker blinker; 00040 Glib::RefPtr<Gdk::Pixbuf> image2_ref_; 00041 sigc::connection blink_connection_; 00042 bool is_blinking_; 00043 bool sleep_blinking_; 00044 /* FIXME: state_ is indicator of showing image (first or second). 00045 * This is not realy bool value !!! */ 00046 bool state_; 00047 00048 /* Methods */ 00049 void constructor(); 00050 void blink(bool state,int time = DEFAULT_BLINK_TIME); 00051 00052 // Функция для 00053 void configure_blinktime(); 00054 00055 DISALLOW_COPY_AND_ASSIGN(ImageBlink); 00056 /* Properties */ 00057 ADD_PROPERTY( image2_path, Glib::ustring ) 00058 //Задаёт частоту мигания картинки 00059 ADD_PROPERTY( blinktime, int ) 00060 }; 00061 00062 } 00063 00064 #endif
1.7.6.1