UniWidgets  1.0.0
GDG.h
00001 #ifndef _GDG_H
00002 #define _GDG_H
00003 // -------------------------------------------------------------------------
00004 #include <string>
00005 #include <map>
00006 #include <components/Image.h>
00007 #include <objects/SimpleObject.h>
00008 #include <objects/LinkLogic.h>
00009 #include <typical/TypicalState.h>
00010 #include <typical/IndicatorTwoState.h>
00011 #include <typical/IndicatorFourState.h>
00012 #include <typical/TypicalGDGControl.h>
00013 #include <typical/TypicalMultiState.h>
00014 #include <global_macros.h>
00015 // -------------------------------------------------------------------------
00016 namespace UniWidgets
00017 {
00027 class GDG : public SimpleObject
00028 {
00029 public:
00030     GDG();
00031     explicit GDG(SimpleObject::BaseObjectType* gobject);
00032     virtual ~GDG();
00033 
00034     /* Constants */
00035     Gdk::Rectangle *back_rect;              
00036     Gdk::Rectangle *D_rect;                 
00037     Gdk::Rectangle *G_rect;                 
00038     Gdk::Rectangle *control_rect;               
00039     Gdk::Rectangle *gen_states_rect;            
00040     Gdk::Rectangle *key_rect;               
00041     static const string img_back_path;          
00042     static const string img_back_reserv_path;       
00043     static const string img_back_alarm_path;        
00045     static const string img_key_off_path;           
00046     static const string img_key_on_path;            
00047     static const string img_key_protection_path;        
00048     static const string img_key_undef_path;         
00049     static const string img_key_undef_off_path;     
00050     static const string img_key_trans_path;         
00051     static const string img_key_trans2_path;        
00053     static const string img_control_auto_path;      
00054     static const string img_control_hand_path;      
00055     static const string img_control_cpu_path;       
00056     static const string img_control_unknown_path;       
00058     static const string img_gen_off_path;           
00059     static const string img_gen_alarm_off_path;     
00061     static const string img_indicator_u_path;       
00062     static const string img_indicator_u_warn_path;      
00063     static const string img_indicator_p_path;       
00064     static const string img_indicator_p_warn_path;      
00065     static const string img_indicator_p_alarm_path;     
00066     static const string img_indicator_f_path;       
00067     static const string img_indicator_f_warn_path;      
00068     static const string img_indicator_i_path;       
00070     sigc::connection button_release_conn_;          
00072 protected:
00073     /* Handlers */
00074     virtual void on_realize();
00075     virtual void on_connect() throw();
00076 
00077 private:
00078     /* Variables */
00079     Image *name;
00080     TypicalMultiState state_back;
00081     TypicalGDGControl state_control;
00082     TypicalState state_key;
00083     TypicalState state_D;
00084     TypicalState state_G;
00085     TypicalMultiState generator_states;
00086     IndicatorTwoState indicator_u;
00087     IndicatorFourState indicator_p;
00088     IndicatorTwoState indicator_f;
00089     IndicatorTwoState indicator_i;
00090     LinkLogic link_;
00091         
00092  
00093     bool is_configured;
00094 
00095     /* Methods */
00096     void constructor();
00097     void on_rectangle_changed();
00098     void on_configure();
00099 
00100 
00101     DISALLOW_COPY_AND_ASSIGN(GDG);
00102 
00103     /* Properties */
00104     ADD_PROPERTY( node, UniSetTypes::ObjectId )                 
00105     ADD_PROPERTY( svg_path, Glib::ustring )                     
00106     ADD_PROPERTY( name_path, Glib::ustring )                    
00107     ADD_PROPERTY( g_off_path, Glib::ustring )                   
00108     ADD_PROPERTY( g_on_path, Glib::ustring )                    
00109     ADD_PROPERTY( g_trans_path, Glib::ustring )                 
00110     ADD_PROPERTY( g_trans2_path, Glib::ustring )                    
00111     ADD_PROPERTY( g_warn_path, Glib::ustring )                  
00112     ADD_PROPERTY( g_alarm_path, Glib::ustring )                 
00113     ADD_PROPERTY( d_off_path, Glib::ustring )                   
00114     ADD_PROPERTY( d_on_path, Glib::ustring )                    
00115     ADD_PROPERTY( d_ready_path, Glib::ustring )                 
00116     ADD_PROPERTY( d_trans_path, Glib::ustring )                 
00117     ADD_PROPERTY( d_trans2_path, Glib::ustring )                    
00118     ADD_PROPERTY( d_warn_path, Glib::ustring )                  
00119     ADD_PROPERTY( d_alarm_path, Glib::ustring )                 
00120     ADD_PROPERTY( d_undef_path, Glib::ustring )                 
00121     ADD_PROPERTY( property_link_di, UniSetTypes::ObjectId )             
00122     ADD_PROPERTY( g_ai, UniSetTypes::ObjectId )                 
00123     ADD_PROPERTY( d_ai, UniSetTypes::ObjectId )                 
00124     ADD_PROPERTY( key_ai, UniSetTypes::ObjectId )                   
00125     ADD_PROPERTY( control_ai, UniSetTypes::ObjectId )               
00126     ADD_PROPERTY( back_protection_ai, UniSetTypes::ObjectId )           
00127     ADD_PROPERTY( back_reserv_di, UniSetTypes::ObjectId )               
00128     ADD_PROPERTY( gdg_ready_di, UniSetTypes::ObjectId )             
00129     ADD_PROPERTY( gdg_ready_path, Glib::ustring )                   
00130     ADD_PROPERTY( gdg_work_ai, UniSetTypes::ObjectId )              
00131     ADD_PROPERTY( gdg_work_path, Glib::ustring )                    
00132     ADD_PROPERTY( gen_overload95_di, UniSetTypes::ObjectId )            
00133     ADD_PROPERTY( gen_overload95_path, Glib::ustring )              
00134     ADD_PROPERTY( gen_overload110_di, UniSetTypes::ObjectId )           
00135     ADD_PROPERTY( gen_overload110_path, Glib::ustring )             
00136     ADD_PROPERTY( indicator_u_ai, UniSetTypes::ObjectId )               
00137     ADD_PROPERTY( indicator_p_ai, UniSetTypes::ObjectId )               
00138     ADD_PROPERTY( indicator_f_ai, UniSetTypes::ObjectId )               
00139     ADD_PROPERTY( indicator_i_ai, UniSetTypes::ObjectId )               
00140     ADD_PROPERTY( indicator_threshold_u_warn, UniSetTypes::ObjectId )       
00141     ADD_PROPERTY( indicator_threshold_p_low_warn, UniSetTypes::ObjectId )       
00142     ADD_PROPERTY( indicator_threshold_p_warn, UniSetTypes::ObjectId )       
00143     ADD_PROPERTY( indicator_threshold_p_alarm, UniSetTypes::ObjectId )      
00144     ADD_PROPERTY( indicator_threshold_f_warn, UniSetTypes::ObjectId )       
00145     ADD_PROPERTY( back_width, long )                        
00146     ADD_PROPERTY( back_height, long )                       
00147     ADD_PROPERTY( x_control, long )                         
00148     ADD_PROPERTY( y_control, long )                         
00149     ADD_PROPERTY( w_control, long )                         
00150     ADD_PROPERTY( h_control, long )                         
00151     ADD_PROPERTY( x_diesel_gen, long )                      
00152     ADD_PROPERTY( y_diesel, long )                          
00153     ADD_PROPERTY( w_h_diesel, long )                        
00154     ADD_PROPERTY( y_gen, long )                         
00155     ADD_PROPERTY( w_h_gen, long )                           
00156     ADD_PROPERTY( x_gen_states, long )                      
00157     ADD_PROPERTY( y_gen_states, long )                      
00158     ADD_PROPERTY( w_gen_states, long )                      
00159     ADD_PROPERTY( h_gen_states, long )                      
00160     ADD_PROPERTY( x_indicators_u_p, long )                      
00161     ADD_PROPERTY( x_indicators_i_f, long )                      
00162     ADD_PROPERTY( y_indicators_u, long )                        
00163     ADD_PROPERTY( y_indicators_p, long )                        
00164     ADD_PROPERTY( y_indicators_i, long )                        
00165     ADD_PROPERTY( y_indicators_f, long )                        
00166     ADD_PROPERTY( w_indicators_u_p, long )                      
00167     ADD_PROPERTY( h_indicators_u_p, long )                      
00168     ADD_PROPERTY( w_indicators_i_f, long )                      
00169     ADD_PROPERTY( h_indicators_i_f, long )                      
00170     ADD_PROPERTY( x_indicator_value_u_p, long )                 
00171     ADD_PROPERTY( x_indicator_value_i_f, long )                 
00172     ADD_PROPERTY( x_key, long )                         
00173     ADD_PROPERTY( y_key, long )                         
00174     ADD_PROPERTY( w_key, long )                         
00175     ADD_PROPERTY( h_key, long )                         
00176     ADD_PROPERTY( x_name, long )                            
00177     ADD_PROPERTY( y_name, long )                            
00178     ADD_PROPERTY( w_name, long )                            
00179     ADD_PROPERTY( h_name, long )                            
00180     ADD_PROPERTY( x_text_control, long )                        
00181     ADD_PROPERTY( y_text_control, long )                        
00182     ADD_PROPERTY( size_text_control, long )                     
00183     ADD_PROPERTY( color_text_control, Gdk::Color)                   
00184 };
00185 
00186 }
00187 #endif