VDG.h

00001 #ifndef _VDG_H
00002 #define _VDG_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 <global_macros.h>
00013 // -------------------------------------------------------------------------
00014 namespace UniWidgets
00015 {
00025 class VDG : public SimpleObject
00026 {
00027 public:
00028   VDG();
00029   explicit VDG(SimpleObject::BaseObjectType* gobject);
00030   virtual ~VDG();
00031 
00032   /* Constants */
00033   Gdk::Rectangle *back_rect;        
00034   Gdk::Rectangle *D_rect;          
00035   Gdk::Rectangle *G_rect;          
00036   Gdk::Rectangle *gen_states_rect;      
00037   Gdk::Rectangle *key_rect;        
00038   Gdk::Rectangle *control_rect;        
00039   static const string img_back_path;      
00040   static const string img_back_protection_path;    
00042   static const string img_key_off_path;      
00043   static const string img_key_on_path;      
00044   static const string img_key_protection_path;    
00045   static const string img_key_undef_path;      
00046   static const string img_key_undef_off_path;    
00048   static const string img_gen_off_path;      
00050   static const string img_indicator_u_path;    
00051   static const string img_indicator_u_warn_path;    
00052   static const string img_indicator_p_path;    
00053   static const string img_indicator_p_warn_path;    
00054   static const string img_indicator_p_alarm_path;    
00055   static const string img_indicator_f_path;    
00056   static const string img_indicator_f_warn_path;    
00057   static const string img_indicator_i_path;    
00059   static const string img_control_dist_path;    
00060   static const string img_control_hand_path;    
00062   sigc::connection button_release_conn_;      
00064 protected:
00065   /* Handlers */
00066   virtual void on_realize();
00067   virtual void on_connect() throw();
00068 
00069 private:
00070   /* Variables */
00071   Image name;
00072   TypicalState state_back;
00073   TypicalState state_key;
00074   TypicalTwoState state_D;
00075   TypicalTwoState state_G;
00076   TypicalFourState generator_states;
00077   IndicatorTwoState indicator_u;
00078   IndicatorFourState indicator_p;
00079   IndicatorTwoState indicator_f;
00080   IndicatorTwoState *indicator_i;
00081   TypicalState state_control;
00082   LinkLogic link_;
00083 
00084   bool is_configured;
00085 
00086   /* Methods */
00087   void constructor();
00088   void on_rectangle_changed();
00089   void on_configure();
00090 
00091   DISALLOW_COPY_AND_ASSIGN(VDG);
00092 
00093   /* Properties */
00094   ADD_PROPERTY( node, UniSetTypes::ObjectId )        
00095   ADD_PROPERTY( property_link_di, UniSetTypes::ObjectId )      
00096   ADD_PROPERTY( svg_path, Glib::ustring )          
00097   ADD_PROPERTY( name_path, Glib::ustring )        
00098   ADD_PROPERTY( g_off_path, Glib::ustring )        
00099   ADD_PROPERTY( g_on_path, Glib::ustring )        
00100   ADD_PROPERTY( g_warn_path, Glib::ustring )        
00101   ADD_PROPERTY( g_alarm_path, Glib::ustring )        
00102   ADD_PROPERTY( d_off_path, Glib::ustring )        
00103   ADD_PROPERTY( d_on_path, Glib::ustring )        
00104   ADD_PROPERTY( d_alarm_path, Glib::ustring )        
00105   ADD_PROPERTY( generator_ai, UniSetTypes::ObjectId )      
00106   ADD_PROPERTY( diesel_on_di, UniSetTypes::ObjectId )      
00107   ADD_PROPERTY( diesel_alarm_di, UniSetTypes::ObjectId )      
00108   ADD_PROPERTY( key_ai, UniSetTypes::ObjectId )        
00109   ADD_PROPERTY( back_protection_ai, UniSetTypes::ObjectId )    
00110   ADD_PROPERTY( gen_work_path, Glib::ustring )        
00111   ADD_PROPERTY( gen_overload105_di, UniSetTypes::ObjectId )    
00112   ADD_PROPERTY( gen_overload105_path, Glib::ustring )      
00113   ADD_PROPERTY( gen_overload110_di, UniSetTypes::ObjectId )    
00114   ADD_PROPERTY( gen_overload110_path, Glib::ustring )      
00115   ADD_PROPERTY( indicator_u_ai, UniSetTypes::ObjectId )      
00116   ADD_PROPERTY( indicator_p_ai, UniSetTypes::ObjectId )      
00117   ADD_PROPERTY( indicator_f_ai, UniSetTypes::ObjectId )      
00118   ADD_PROPERTY( indicator_i_ai, UniSetTypes::ObjectId )      
00119   ADD_PROPERTY( indicator_threshold_u_warn, UniSetTypes::ObjectId )  
00120   ADD_PROPERTY( indicator_threshold_p_low_warn, UniSetTypes::ObjectId )  
00121   ADD_PROPERTY( indicator_threshold_p_warn, UniSetTypes::ObjectId )  
00122   ADD_PROPERTY( indicator_threshold_p_alarm, UniSetTypes::ObjectId )  
00123   ADD_PROPERTY( indicator_threshold_f_warn, UniSetTypes::ObjectId )  
00124   ADD_PROPERTY( control_di, UniSetTypes::ObjectId )      
00125   ADD_PROPERTY( vdg_ready_di, UniSetTypes::ObjectId )      
00126   ADD_PROPERTY( vdg_ready_path, Glib::ustring )        
00127   ADD_PROPERTY( back_width, long )          
00128   ADD_PROPERTY( back_height, long )          
00129   ADD_PROPERTY( x_control, long )            
00130   ADD_PROPERTY( y_control, long )            
00131   ADD_PROPERTY( w_control, long )            
00132   ADD_PROPERTY( h_control, long )            
00133   ADD_PROPERTY( x_diesel_gen, long )          
00134   ADD_PROPERTY( y_diesel, long )            
00135   ADD_PROPERTY( w_h_diesel, long )          
00136   ADD_PROPERTY( y_gen, long )            
00137   ADD_PROPERTY( w_h_gen, long )            
00138   ADD_PROPERTY( x_gen_states, long )          
00139   ADD_PROPERTY( y_gen_states, long )          
00140   ADD_PROPERTY( w_gen_states, long )          
00141   ADD_PROPERTY( h_gen_states, long )          
00142   ADD_PROPERTY( x_indicators_up, long )          
00143   ADD_PROPERTY( x_indicators_if, long )          
00144   ADD_PROPERTY( y_indicator_u, long )          
00145   ADD_PROPERTY( y_indicator_p, long )          
00146   ADD_PROPERTY( y_indicator_f, long )          
00147   ADD_PROPERTY( y_indicator_i, long )          
00148   ADD_PROPERTY( w_indicators_up, long )          
00149   ADD_PROPERTY( h_indicators_up, long )          
00150   ADD_PROPERTY( w_indicators_if, long )          
00151   ADD_PROPERTY( h_indicators_if, long )          
00152   ADD_PROPERTY( x_indicator_value_u, long )        
00153   ADD_PROPERTY( x_indicator_value_p, long )        
00154   ADD_PROPERTY( x_indicator_value_f, long )        
00155   ADD_PROPERTY( x_indicator_value_i, long )        
00156   ADD_PROPERTY( x_key, long )            
00157   ADD_PROPERTY( y_key, long )            
00158   ADD_PROPERTY( w_key, long )            
00159   ADD_PROPERTY( h_key, long )            
00160   ADD_PROPERTY( x_name, long )            
00161   ADD_PROPERTY( y_name, long )            
00162   ADD_PROPERTY( w_name, long )            
00163   ADD_PROPERTY( h_name, long )            
00165 };
00166 
00167 }
00168 #endif

Документация по UniWidgets. Последние изменения: Fri Oct 10 09:57:50 2014. Создано системой  doxygen 1.5.9