UniWidgets  1.0.0
TextBlink.h
00001 #ifndef _TEXTBLINK_H
00002 #define _TEXTBLINK_H
00003 // -------------------------------------------------------------------------
00004 #include <gtkmm.h>
00005 #include <uniwidgets/SBlinker.h>
00006 #include <uniwidgets/USignals.h>
00007 #include <global_macros.h>
00008 #include "Text.h"
00009 // -------------------------------------------------------------------------
00010 namespace UniWidgets
00011 {
00018 class TextBlink : public Text
00019 {
00020 public:
00021   TextBlink();
00022   explicit TextBlink(Text::BaseObjectType* gobject);
00023   virtual ~TextBlink();
00024 
00025     /* Methods */
00026     virtual void start_blink();                     
00027     virtual void stop_blink();                      
00028     virtual bool is_blinking();                     
00030     void on_state_changed();                        
00032     virtual void load_property_settings();                  
00033     virtual void load_theme_settings();                 
00034     virtual void on_realize();
00035   virtual bool can_blinking(){return true;}
00036 
00037 protected:
00038     /* Variables */
00039     Gdk::Color on_color;                            
00041     bool blinking_;
00042     bool sleep_blinking_;
00043     void on_map();
00044     void on_unmap();
00045 
00046     /* Event handlers */
00047     sigc::connection blink_connection_;
00048     static Blinker blinker;                         
00049 private:
00050     /* Methods */
00051     void constructor();
00052   virtual void blink( bool blink_state ,int time = DEFAULT_BLINK_TIME); 
00053   DISALLOW_COPY_AND_ASSIGN(TextBlink);
00054   /* Properties */
00055   ADD_PROPERTY( property_state_, bool )
00056   ADD_PROPERTY( property_on_transparency_, double )
00057   ADD_PROPERTY( property_on_font_color_, Gdk::Color )
00058   ADD_PROPERTY( property_on_font_name_, Glib::ustring )
00059   ADD_PROPERTY( property_on_abs_font_size_, gint )
00060 };
00061 
00062 }
00063 
00064 #endif