UniWidgets  1.0.0
Sensor1.h
00001 #ifndef _SENSOR1_H
00002 #define _SENSOR1_H
00003 // -------------------------------------------------------------------------
00004 #include <string>
00005 #include <map>
00006 #include <objects/SimpleObject.h>
00007 #include <objects/LinkLogic.h>
00008 #include <typical/TypicalState.h>
00009 #include <typical/TypicalText.h>
00010 #include <plugins.h>
00011 #include <global_macros.h>
00012 // -------------------------------------------------------------------------
00013 namespace UniWidgets
00014 {
00028 class Sensor1 : public SimpleObject
00029 {
00030 public:
00031     Sensor1();
00032     explicit Sensor1(SimpleObject::BaseObjectType* gobject);
00033     virtual ~Sensor1();
00034 
00035     /* Constants */
00036     Gdk::Rectangle *text_rect;      
00037     Gdk::Rectangle *num_text_rect;      
00038     Gdk::Rectangle *image_rect;     
00040 protected:
00041     /* Handlers */
00042     virtual void on_realize();
00043     virtual void on_connect() throw();
00044 
00045 private:
00046     /* Variables */
00047     std::map<long ,text_prop *> texts_prop;
00048     TypicalState image_;
00049     TypicalText text_;
00050     TypicalText num_text_;
00051     LinkLogic link_;
00052     bool is_configured;
00053 
00054     /* Methods */
00055     void constructor();
00056     void on_configure();
00057     void on_rectangle_changed();
00058     void on_text_changed(TypicalText *, const Glib::Property<Glib::ustring> *);
00059     void set_rectangle(Gdk::Rectangle* rect_,const long x, const long y, const long w, const long h);
00060 
00061     DISALLOW_COPY_AND_ASSIGN(Sensor1);
00062 
00063     /* Properties */
00064     ADD_PROPERTY( state_ai, UniSetTypes::ObjectId )         
00065     ADD_PROPERTY( self_state_ai, UniSetTypes::ObjectId )        
00066     ADD_PROPERTY( property_link_di, UniSetTypes::ObjectId )     
00075     ADD_PROPERTY( mode_logic, long )
00076     ADD_PROPERTY( property_node, UniSetTypes::ObjectId )        
00077     ADD_PROPERTY( text, Glib::ustring )             
00078     ADD_PROPERTY( num_text, Glib::ustring )             
00079     ADD_PROPERTY( font_name, Glib::ustring )            
00080     ADD_PROPERTY( font_size, long )                 
00081     ADD_PROPERTY( mode_on, long )                   
00082     ADD_PROPERTY( detntr_on, long )                 
00083     ADD_PROPERTY( priority_on, long )               
00084     ADD_PROPERTY( font_color_on, Gdk::Color )           
00085     ADD_PROPERTY( font_color_off, Gdk::Color )          
00086     ADD_PROPERTY( font_shadow_on, bool )                
00087     ADD_PROPERTY( font_shadow_off, bool )               
00088     ADD_PROPERTY( blink_state_on, bool )                
00089     ADD_PROPERTY( alignment, Pango::Alignment )         
00091     ADD_PROPERTY( property_use_image, bool )            
00092     ADD_PROPERTY( number_of_mode, long )                
00094     ADD_PROPERTY( invert_moff,bool )                
00095     ADD_PROPERTY( invert_moff_state,UniWidgetsTypes::ThresholdType )
00096     ADD_PROPERTY( img_on_path, Glib::ustring )          
00097     ADD_PROPERTY( use_back, bool )                  
00098     ADD_PROPERTY( back_img_on_path, Glib::ustring )         
00099     ADD_PROPERTY( img_off_path, Glib::ustring )         
00101     ADD_PROPERTY( x_text_rect, long )               
00102     ADD_PROPERTY( y_text_rect, long )               
00103     ADD_PROPERTY( x_num_text_rect, long )               
00104     ADD_PROPERTY( y_num_text_rect, long )               
00105     ADD_PROPERTY( x_image_rect, long )              
00106     ADD_PROPERTY( y_image_rect, long )              
00107     ADD_PROPERTY( w_image_rect, long )              
00108     ADD_PROPERTY( h_image_rect, long )              
00109 };
00110 
00111 }
00112 #endif