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