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 <typical/TypicalState.h>
00009 #include <typical/IndicatorTwoState.h>
00010 #include <typical/IndicatorFourState.h>
00011 #include <typical/TypicalGDGControl.h>
00012 #include <typical/TypicalMultiState.h>
00013 #include <objects/LinkLogic.h>
00014
00015 namespace UniWidgets
00016 {
00017 class Image;
00018
00019
00020
00021
00022
00032 class GDG : public SimpleObject
00033 {
00034 public:
00035 GDG();
00036 explicit GDG(SimpleObject::BaseObjectType* gobject);
00037 virtual ~GDG();
00038
00039
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
00079 virtual void on_realize();
00080 virtual void on_connect() throw();
00081
00082 private:
00083
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
00101 void constructor();
00102 void on_rectangle_changed();
00103 void on_configure();
00104
00105
00106 DISALLOW_COPY_AND_ASSIGN(GDG);
00107
00108
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