UniWidgets  1.0.0
State_REI.h
00001 #ifndef _STATE_REI_H
00002 #define _STATE_REI_H
00003 // -------------------------------------------------------------------------
00004 #include <string>
00005 #include <map>
00006 #include <objects/SimpleObject.h>
00007 #include <typical/TypicalState.h>
00008 #include <global_macros.h>
00009 // -------------------------------------------------------------------------
00010 namespace UniWidgets
00011 {
00020 class State_REI : public SimpleObject
00021 {
00022 public:
00023     /* Methods */
00024     State_REI();
00025     explicit State_REI(SimpleObject::BaseObjectType* gobject);
00026     virtual ~State_REI();
00027 
00028 protected:
00029     /* Handlers */
00030     virtual void on_realize();
00031 
00032 private:
00033     /* Variables */
00034     TypicalState chain_rei_1_;
00035     TypicalState chain_rei_2_;
00036     TypicalState chain_sem_1_;
00037     TypicalState chain_sem_2_;
00038     TypicalState chain_gdg_1_;
00039     TypicalState chain_gdg_2_;
00040     TypicalState chain_gdg_3_;
00041     TypicalState chain_gdg_4_;
00042     TypicalState propeller_;
00043     TypicalState rei_1_;
00044     TypicalState rei_2_;
00045 
00046     /*Rectangle*/
00047     Gdk::Rectangle* propeller_rect;
00048     Gdk::Rectangle* rei_1_rect;
00049     Gdk::Rectangle* rei_2_rect;
00050     Gdk::Rectangle* chain_rei_1_rect;
00051     Gdk::Rectangle* chain_rei_2_rect;
00052     Gdk::Rectangle* chain_sem_1_rect;
00053     Gdk::Rectangle* chain_sem_2_rect;
00054     Gdk::Rectangle* chain_gdg_1_rect;
00055     Gdk::Rectangle* chain_gdg_2_rect;
00056     Gdk::Rectangle* chain_gdg_3_rect;
00057     Gdk::Rectangle* chain_gdg_4_rect;
00058 
00059     bool is_configured;
00060 
00061     /* Methods */
00062     void constructor();
00063     void on_rectangle_changed();
00064     void set_rectangle(Gdk::Rectangle* rect,const long x, const long y);
00065 
00066     DISALLOW_COPY_AND_ASSIGN(State_REI);
00067 
00068     /* Properties */
00069     /*Sensors*/
00070     ADD_PROPERTY( state_propeller_di, UniSetTypes::ObjectId )       
00071     ADD_PROPERTY( state_rei_1_di, UniSetTypes::ObjectId )           
00072     ADD_PROPERTY( state_rei_2_di, UniSetTypes::ObjectId )           
00073     ADD_PROPERTY( state_chain_rei_1_di, UniSetTypes::ObjectId )     
00074     ADD_PROPERTY( state_chain_rei_2_di, UniSetTypes::ObjectId )     
00075     ADD_PROPERTY( state_chain_sem_1_di, UniSetTypes::ObjectId )     
00076     ADD_PROPERTY( state_chain_sem_2_di, UniSetTypes::ObjectId )     
00077     ADD_PROPERTY( state_chain_gdg_1_di, UniSetTypes::ObjectId )     
00078     ADD_PROPERTY( state_chain_gdg_2_di, UniSetTypes::ObjectId )     
00079     ADD_PROPERTY( state_chain_gdg_3_di, UniSetTypes::ObjectId )     
00080     ADD_PROPERTY( state_chain_gdg_4_di, UniSetTypes::ObjectId )     
00081     ADD_PROPERTY( node, UniSetTypes::ObjectId )             
00082     /* Images */
00083     ADD_PROPERTY( propeller_on_path, Glib::ustring )        
00084     ADD_PROPERTY( propeller_off_path, Glib::ustring )       
00085     ADD_PROPERTY( rei_1_on_path, Glib::ustring )            
00086     ADD_PROPERTY( rei_1_off_path, Glib::ustring )           
00087     ADD_PROPERTY( rei_2_on_path, Glib::ustring )            
00088     ADD_PROPERTY( rei_2_off_path, Glib::ustring )           
00089     ADD_PROPERTY( chain_rei1_on_path, Glib::ustring )       
00090     ADD_PROPERTY( chain_rei1_off_path,Glib::ustring  )      
00091     ADD_PROPERTY( chain_rei2_on_path, Glib::ustring )       
00092     ADD_PROPERTY( chain_rei2_off_path, Glib::ustring )      
00093     ADD_PROPERTY( chain_sem1_on_path, Glib::ustring )       
00094     ADD_PROPERTY( chain_sem1_off_path, Glib::ustring )      
00095     ADD_PROPERTY( chain_sem2_on_path, Glib::ustring )       
00096     ADD_PROPERTY( chain_sem2_off_path, Glib::ustring )      
00097     ADD_PROPERTY( chain_gdg1_on_path, Glib::ustring )       
00098     ADD_PROPERTY( chain_gdg1_off_path, Glib::ustring )      
00099     ADD_PROPERTY( chain_gdg2_on_path, Glib::ustring )       
00100     ADD_PROPERTY( chain_gdg2_off_path, Glib::ustring )      
00101     ADD_PROPERTY( chain_gdg3_on_path, Glib::ustring )       
00102     ADD_PROPERTY( chain_gdg3_off_path, Glib::ustring )      
00103     ADD_PROPERTY( chain_gdg4_on_path, Glib::ustring )       
00104     ADD_PROPERTY( chain_gdg4_off_path, Glib::ustring )      
00105     /*Size and rectangle*/
00106     ADD_PROPERTY( w_propeller, long )                   
00107     ADD_PROPERTY( h_propeller, long )                   
00108     ADD_PROPERTY( x_propeller, long )                   
00109     ADD_PROPERTY( y_propeller, long )                   
00110     ADD_PROPERTY( w_rei, long )                     
00111     ADD_PROPERTY( h_rei, long )                     
00112     ADD_PROPERTY( x_rei1, long )                        
00113     ADD_PROPERTY( y_rei1, long )                        
00114     ADD_PROPERTY( x_rei2, long )                        
00115     ADD_PROPERTY( y_rei2, long )                        
00116     ADD_PROPERTY( w_chain_rei1, long )                  
00117     ADD_PROPERTY( h_chain_rei1, long )                  
00118     ADD_PROPERTY( w_chain_rei2, long )                  
00119     ADD_PROPERTY( h_chain_rei2, long )                  
00120     ADD_PROPERTY( x_chain_rei1, long )                  
00121     ADD_PROPERTY( y_chain_rei1, long )                  
00122     ADD_PROPERTY( x_chain_rei2, long )                  
00123     ADD_PROPERTY( y_chain_rei2, long )                  
00124     ADD_PROPERTY( w_chain_sem_1, long )                 
00125     ADD_PROPERTY( h_chain_sem_1, long )                 
00126     ADD_PROPERTY( w_chain_sem_2, long )                 
00127     ADD_PROPERTY( h_chain_sem_2, long )                 
00128     ADD_PROPERTY( x_chain_sem_1, long )                 
00129     ADD_PROPERTY( y_chain_sem_1, long )                 
00130     ADD_PROPERTY( x_chain_sem_2, long )                 
00131     ADD_PROPERTY( y_chain_sem_2, long )                 
00132     ADD_PROPERTY( w_chain_gdg, long )                   
00133     ADD_PROPERTY( h_chain_gdg, long )                   
00134     ADD_PROPERTY( x_chain_gdg1, long )                  
00135     ADD_PROPERTY( y_chain_gdg1, long )                  
00136     ADD_PROPERTY( x_chain_gdg2, long )                  
00137     ADD_PROPERTY( y_chain_gdg2, long )                  
00138     ADD_PROPERTY( x_chain_gdg3, long )                  
00139     ADD_PROPERTY( y_chain_gdg3, long )                  
00140     ADD_PROPERTY( x_chain_gdg4, long )                  
00141     ADD_PROPERTY( y_chain_gdg4, long )                  
00142 };
00143 
00144 }
00145 #endif