UniWidgets  1.0.0
SensorM.h
00001 #ifndef _SENSORM_H
00002 #define _SENSORM_H
00003 // -------------------------------------------------------------------------
00004 #include <string>
00005 #include <map>
00006 #include <objects/SimpleObject.h>
00007 #include <objects/LinkLogic.h>
00008 #include <objects/StateLogic.h>
00009 #include <typical/TypicalState.h>
00010 #include <typical/TypicalText.h>
00011 #include <global_macros.h>
00012 // -------------------------------------------------------------------------
00013 namespace UniWidgets
00014 {
00029 class SensorM : public SimpleObject
00030 {
00031 public:
00032     SensorM();
00033     explicit SensorM(SimpleObject::BaseObjectType* gobject);
00034     virtual ~SensorM();
00035 
00036     /* Constants */
00037     Gdk::Rectangle *text_rect;          
00038     Gdk::Rectangle *num_text_rect;          
00039     Gdk::Rectangle *image_rect;         
00041 protected:
00042     /* Handlers */
00043     virtual void on_realize();
00044     virtual void on_connect() throw();
00045 
00046 private:
00047     /* Variables */
00048     std::map<long ,text_prop *> texts_prop;
00049     std::map<long , Glib::Property<long> *> properties;
00050     std::map<long ,StateLogic *> text_logics;
00051     std::map<long ,StateLogic *> image_logics;
00052     TypicalState image_;
00053     TypicalText text_;
00054     TypicalText num_text_;
00055     LinkLogic link_;
00056     bool is_configured;
00057 
00058     /* Methods */
00059     void constructor();
00060     void on_configure();
00061     void on_configure_property();
00062     void on_rectangle_changed();
00063     void on_text_changed(TypicalText *, const Glib::Property<Glib::ustring> *);
00064     void set_rectangle(Gdk::Rectangle* rect_,const long x, const long y, const long w, const long h);
00065 
00066     DISALLOW_COPY_AND_ASSIGN(SensorM);
00067 
00068     /* Properties */
00069     ADD_PROPERTY( state_ai, UniSetTypes::ObjectId )         
00070     ADD_PROPERTY( property_node, UniSetTypes::ObjectId )        
00071     ADD_PROPERTY( self_state_ai, UniSetTypes::ObjectId )        
00072     ADD_PROPERTY( property_link_di, UniSetTypes::ObjectId )     
00074     ADD_PROPERTY( property_use_image, bool )            
00076     ADD_PROPERTY( state_di_1, UniSetTypes::ObjectId )       
00077     ADD_PROPERTY( num_text_1, Glib::ustring )           
00078     ADD_PROPERTY( text_1, Glib::ustring )               
00079     ADD_PROPERTY( blink_1, bool )                   
00080     ADD_PROPERTY( mode_1, long )                    
00081     ADD_PROPERTY( detntr_on_1, long )               
00082     ADD_PROPERTY( priority_1, long )                
00083     ADD_PROPERTY( font_color_on_1, Gdk::Color )         
00084     ADD_PROPERTY( on_image_path_1, Glib::ustring )          
00085     ADD_PROPERTY( use_back_1, bool )                
00086     ADD_PROPERTY( back_image_path_1, Glib::ustring )        
00088     ADD_PROPERTY( state_di_2, UniSetTypes::ObjectId )
00089     ADD_PROPERTY( num_text_2, Glib::ustring )
00090     ADD_PROPERTY( text_2, Glib::ustring )
00091     ADD_PROPERTY( blink_2, bool )
00092     ADD_PROPERTY( mode_2, long )
00093     ADD_PROPERTY( detntr_on_2, long )
00094     ADD_PROPERTY( priority_2, long )
00095     ADD_PROPERTY( font_color_on_2, Gdk::Color )
00096     ADD_PROPERTY( on_image_path_2, Glib::ustring )
00097     ADD_PROPERTY( use_back_2, bool )
00098     ADD_PROPERTY( back_image_path_2, Glib::ustring )
00099 
00100     ADD_PROPERTY( state_di_3, UniSetTypes::ObjectId )
00101     ADD_PROPERTY( num_text_3, Glib::ustring )
00102     ADD_PROPERTY( text_3, Glib::ustring )
00103     ADD_PROPERTY( blink_3, bool )
00104     ADD_PROPERTY( mode_3, long )
00105     ADD_PROPERTY( detntr_on_3, long )
00106     ADD_PROPERTY( priority_3, long )
00107     ADD_PROPERTY( font_color_on_3, Gdk::Color )
00108     ADD_PROPERTY( on_image_path_3, Glib::ustring )
00109     ADD_PROPERTY( use_back_3, bool )
00110     ADD_PROPERTY( back_image_path_3, Glib::ustring )
00111 
00112     ADD_PROPERTY( state_di_4, UniSetTypes::ObjectId )
00113     ADD_PROPERTY( num_text_4, Glib::ustring )
00114     ADD_PROPERTY( text_4, Glib::ustring )
00115     ADD_PROPERTY( blink_4, bool )
00116     ADD_PROPERTY( mode_4, long )
00117     ADD_PROPERTY( detntr_on_4, long )
00118     ADD_PROPERTY( priority_4, long )
00119     ADD_PROPERTY( font_color_on_4, Gdk::Color )
00120     ADD_PROPERTY( on_image_path_4, Glib::ustring )
00121     ADD_PROPERTY( use_back_4, bool )
00122     ADD_PROPERTY( back_image_path_4, Glib::ustring )
00123 
00124     ADD_PROPERTY( state_di_5, UniSetTypes::ObjectId )
00125     ADD_PROPERTY( num_text_5, Glib::ustring )
00126     ADD_PROPERTY( text_5, Glib::ustring )
00127     ADD_PROPERTY( blink_5, bool )
00128     ADD_PROPERTY( mode_5, long )
00129     ADD_PROPERTY( detntr_on_5, long )
00130     ADD_PROPERTY( priority_5, long )
00131     ADD_PROPERTY( font_color_on_5, Gdk::Color )
00132     ADD_PROPERTY( on_image_path_5, Glib::ustring )
00133     ADD_PROPERTY( use_back_5, bool )
00134     ADD_PROPERTY( back_image_path_5, Glib::ustring )
00135 
00136     ADD_PROPERTY( state_di_6, UniSetTypes::ObjectId )
00137     ADD_PROPERTY( num_text_6, Glib::ustring )
00138     ADD_PROPERTY( text_6, Glib::ustring )
00139     ADD_PROPERTY( blink_6, bool )
00140     ADD_PROPERTY( mode_6, long )
00141     ADD_PROPERTY( detntr_on_6, long )
00142     ADD_PROPERTY( priority_6, long )
00143     ADD_PROPERTY( font_color_on_6, Gdk::Color )
00144     ADD_PROPERTY( on_image_path_6, Glib::ustring )
00145     ADD_PROPERTY( use_back_6, bool )
00146     ADD_PROPERTY( back_image_path_6, Glib::ustring )
00147 
00148     ADD_PROPERTY( state_di_7, UniSetTypes::ObjectId )
00149     ADD_PROPERTY( num_text_7, Glib::ustring )
00150     ADD_PROPERTY( text_7, Glib::ustring )
00151     ADD_PROPERTY( blink_7, bool )
00152     ADD_PROPERTY( mode_7, long )
00153     ADD_PROPERTY( detntr_on_7, long )
00154     ADD_PROPERTY( priority_7, long )
00155     ADD_PROPERTY( font_color_on_7, Gdk::Color )
00156     ADD_PROPERTY( on_image_path_7, Glib::ustring )
00157     ADD_PROPERTY( use_back_7, bool )
00158     ADD_PROPERTY( back_image_path_7, Glib::ustring )
00159 
00160     ADD_PROPERTY( state_di_8, UniSetTypes::ObjectId )
00161     ADD_PROPERTY( num_text_8, Glib::ustring )
00162     ADD_PROPERTY( text_8, Glib::ustring )
00163     ADD_PROPERTY( blink_8, bool )
00164     ADD_PROPERTY( mode_8, long )
00165     ADD_PROPERTY( detntr_on_8, long )
00166     ADD_PROPERTY( priority_8, long )
00167     ADD_PROPERTY( font_color_on_8, Gdk::Color )
00168     ADD_PROPERTY( on_image_path_8, Glib::ustring )
00169     ADD_PROPERTY( use_back_8, bool )
00170     ADD_PROPERTY( back_image_path_8, Glib::ustring )
00171 
00172     ADD_PROPERTY( img_off_path, Glib::ustring )         
00173     ADD_PROPERTY( text, Glib::ustring )             
00174     ADD_PROPERTY( font_name, Glib::ustring )            
00175     ADD_PROPERTY( font_size, long )                 
00176     ADD_PROPERTY( font_color_off, Gdk::Color )          
00177     ADD_PROPERTY( font_shadow_on, bool )                
00178     ADD_PROPERTY( font_shadow_off, bool )               
00179     ADD_PROPERTY( alignment, Pango::Alignment )         
00180     ADD_PROPERTY( number_of_mode, long )                
00182     ADD_PROPERTY( x_text_rect, long )               
00183     ADD_PROPERTY( y_text_rect, long )               
00184     ADD_PROPERTY( x_num_text_rect, long )               
00185     ADD_PROPERTY( y_num_text_rect, long )               
00186     ADD_PROPERTY( x_image_rect, long )              
00187     ADD_PROPERTY( y_image_rect, long )              
00188     ADD_PROPERTY( w_image_rect, long )              
00189     ADD_PROPERTY( h_image_rect, long )              
00190 };
00191 
00192 }
00193 
00194 #endif