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