|
UniWidgets
1.0.0
|
00001 #ifndef _SIMPLETEXT_H 00002 #define _SIMPLETEXT_H 00003 // ------------------------------------------------------------------------- 00004 #include <gtkmm.h> 00005 #include <uniwidgets/USignals.h> 00006 #include <plugins.h> 00007 #include <global_macros.h> 00008 // ------------------------------------------------------------------------- 00009 namespace UniWidgets 00010 { 00016 class SimpleText : public Gtk::EventBox 00017 { 00018 public: 00019 SimpleText(); 00020 explicit SimpleText(Gtk::EventBox::BaseObjectType* gobject); 00021 virtual ~SimpleText(); 00022 00023 /* Methods */ 00024 virtual void start_blink(){}; 00025 virtual void stop_blink(){}; 00026 virtual void blink( bool blink_state ){}; 00027 virtual bool is_blinking(); 00028 00029 void text_draw(); 00030 void on_text_changed(); 00031 void on_font_name_changed(); 00032 void on_font_color_changed(); 00033 void on_use_theme_changed(); 00034 void on_transparency_changed(); 00035 virtual void on_theme_changed(); 00036 virtual void load_theme_settings(); 00037 virtual void load_property_settings(); 00039 virtual void on_size_request(Gtk::Requisition* requisition); 00040 virtual void on_realize(); 00041 virtual void on_size_allocate(Gtk::Allocation& alloc); 00042 virtual void set_blink_(bool value){}; 00043 virtual bool get_blink_(){return blink_.get_value();} 00044 00045 protected: 00046 /* Variables */ 00047 Gdk::Color off_color; 00048 Glib::Property<bool> blink_; 00050 Glib::RefPtr<Pango::Layout> layout; 00051 Cairo::RefPtr<Cairo::Context> cr; 00052 00053 Gdk::Color current_color; 00054 double transparency; 00056 // bool blinking_; 00057 00058 /* Event handlers */ 00059 virtual void on_show(); 00060 virtual void on_hide(); 00061 virtual bool on_expose_event(GdkEventExpose* event); 00062 private: 00063 /* Methods */ 00064 void constructor(); 00065 DISALLOW_COPY_AND_ASSIGN(SimpleText); 00066 /* Properties */ 00067 ADD_PROPERTY( property_theme_, Glib::ustring ) 00068 ADD_PROPERTY( property_use_theme_, bool ) 00069 ADD_PROPERTY( property_text_, Glib::ustring ) 00070 ADD_PROPERTY( property_drop_shadow_, bool ) 00071 ADD_PROPERTY( property_transparency_, double ) 00072 ADD_PROPERTY( property_alignment_, Pango::Alignment ) 00073 ADD_PROPERTY( property_font_name_, Glib::ustring ) 00074 ADD_PROPERTY( property_abs_font_size_, gint ) 00075 ADD_PROPERTY( property_font_color_, Gdk::Color ) 00076 ADD_PROPERTY( show_, bool ) 00077 ADD_PROPERTY( mode, long ) 00078 ADD_PROPERTY( priority, long ) 00079 }; 00080 00081 } 00082 #endif
1.7.6.1