|
UniWidgets
1.0.0
|
00001 #ifndef _CISTERNIMAGE_H 00002 #define _CISTERNIMAGE_H 00003 // ------------------------------------------------------------------------- 00004 #include <components/SimpleImage.h> 00005 #include <plugins.h> 00006 #include <global_macros.h> 00007 // ------------------------------------------------------------------------- 00008 namespace UniWidgets 00009 { 00017 class CisternImage : public SimpleImage 00018 { 00019 public: 00020 CisternImage(); 00021 explicit CisternImage(SimpleImage::BaseObjectType* gobject); 00022 virtual ~CisternImage(); 00023 00024 /* Methods */ 00025 void set_value(long value); 00026 virtual void start_blink() {}; 00027 virtual void stop_blink() {}; 00028 virtual bool is_blinking(); 00029 00030 protected: 00031 /* Event handlers */ 00032 virtual bool on_expose_event(GdkEventExpose* event); 00033 Glib::RefPtr<Gdk::Pixbuf> background_off_image_; 00034 Glib::RefPtr<Gdk::Pixbuf> background_image_; 00035 00036 Glib::RefPtr<Gdk::Pixbuf> filling_image_; 00037 Glib::RefPtr<Gdk::Pixbuf> filling_off_image_; 00038 void draw_value(Glib::RefPtr<Gdk::Pixbuf> image); 00039 int value_to_offset(const Gtk::Allocation allocation); 00041 /* Variables */ 00042 int value_; 00043 Glib::RefPtr<Gdk::Pixbuf> scale_image_; 00044 00045 /* Constants */ 00046 static const int MaxValue; 00047 static const int MinValue; 00049 private: 00050 /* Methods */ 00051 void constructor(); 00052 DISALLOW_COPY_AND_ASSIGN(CisternImage); 00053 /* Properties */ 00054 ADD_PROPERTY( background_image_path, Glib::ustring ) 00055 ADD_PROPERTY( filling_image_path, Glib::ustring ) 00056 ADD_PROPERTY( scale_image_path, Glib::ustring ) 00057 ADD_PROPERTY( scale_switch, bool ) 00058 }; 00059 00060 } 00061 00062 #endif
1.7.6.1