|
UniWidgets
1.0.0
|
00001 #ifndef _INDICATORBLINK_H 00002 #define _INDICATORBLINK_H 00003 // ------------------------------------------------------------------------- 00004 #include <gtkmm.h> 00005 #include <gdkmm.h> 00006 #include <uniwidgets/SBlinker.h> 00007 #include <uniwidgets/USignals.h> 00008 #include <uniwidgets/ConfirmSignal.h> 00009 #include <components/Indicator.h> 00010 #include <global_macros.h> 00011 // ------------------------------------------------------------------------- 00012 namespace UniWidgets 00013 { 00020 class IndicatorBlink : public Indicator 00021 { 00022 public: 00023 IndicatorBlink(); 00024 explicit IndicatorBlink(Indicator::BaseObjectType* gobject); 00025 ~IndicatorBlink() {} 00026 00027 void start_blink(); 00028 void stop_blink(); 00029 void set_state(bool newstate_); 00030 void on_set_text_color(const long mode); 00031 bool is_blinking(); 00032 protected: 00033 /* Methods */ 00034 virtual bool on_expose_event(GdkEventExpose*); 00035 virtual void on_color_changed(); 00036 void on_map(); 00037 void on_unmap(); 00038 private: 00039 /* Variables */ 00040 Gdk::Color font_color2; 00041 std::map<long , Gdk::Color> colors_; 00042 bool is_blinking_; 00043 bool state_; 00044 bool sleep_blinking_; 00045 00046 /* Methods */ 00047 static Blinker blinker; 00048 sigc::connection blink_connection_; 00049 00050 /* Methods */ 00051 void constructor(); 00052 void blink(bool state,int time = DEFAULT_BLINK_TIME); 00053 DISALLOW_COPY_AND_ASSIGN(IndicatorBlink); 00054 /* Properties */ 00055 ADD_PROPERTY( default_color, Gdk::Color ) 00056 ADD_PROPERTY( warn_color, Gdk::Color ) 00057 ADD_PROPERTY( alarm_color, Gdk::Color ) 00058 }; 00059 00060 } 00061 #endif
1.7.6.1