|
UniWidgets
1.0.0
|
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
1.7.6.1