00001 #ifndef _SENSORM_H
00002 #define _SENSORM_H
00003
00004 #include <string>
00005 #include <map>
00006 #include <objects/SimpleObject.h>
00007 #include <objects/LinkLogic.h>
00008 #include <objects/StateLogic.h>
00009 #include <typical/TypicalState.h>
00010 #include <typical/TypicalText.h>
00011 #include <global_macros.h>
00012
00013 namespace UniWidgets
00014 {
00029 class SensorM : public SimpleObject
00030 {
00031 public:
00032 SensorM();
00033 explicit SensorM(SimpleObject::BaseObjectType* gobject);
00034 virtual ~SensorM();
00035
00036
00037 Gdk::Rectangle *text_rect;
00038 Gdk::Rectangle *num_text_rect;
00039 Gdk::Rectangle *image_rect;
00041 protected:
00042
00043 virtual void on_realize();
00044 virtual void on_connect() throw();
00045
00046 private:
00047
00048 std::map<long ,text_prop *> texts_prop;
00049 std::map<long , Glib::Property<long> *> properties;
00050 std::map<long ,StateLogic *> text_logics;
00051 std::map<long ,StateLogic *> image_logics;
00052 TypicalState image_;
00053 TypicalText text_;
00054 TypicalText num_text_;
00055 LinkLogic link_;
00056 bool is_configured;
00057
00058
00059 void constructor();
00060 void on_configure();
00061 void on_configure_property();
00062 void on_rectangle_changed();
00063 void on_text_changed(TypicalText *, const Glib::Property<Glib::ustring> *);
00064 void set_rectangle(Gdk::Rectangle* rect_,const long x, const long y, const long w, const long h);
00065
00066 DISALLOW_COPY_AND_ASSIGN(SensorM);
00067
00068
00069 ADD_PROPERTY( state_ai, UniSetTypes::ObjectId )
00070 ADD_PROPERTY( property_node, UniSetTypes::ObjectId )
00071 ADD_PROPERTY( self_state_ai, UniSetTypes::ObjectId )
00072 ADD_PROPERTY( property_link_di, UniSetTypes::ObjectId )
00074 ADD_PROPERTY( property_use_image, bool )
00076 ADD_PROPERTY( state_di_1, UniSetTypes::ObjectId )
00077 ADD_PROPERTY( num_text_1, Glib::ustring )
00078 ADD_PROPERTY( text_1, Glib::ustring )
00079 ADD_PROPERTY( blink_1, bool )
00080 ADD_PROPERTY( mode_1, long )
00081 ADD_PROPERTY( detntr_on_1, long )
00082 ADD_PROPERTY( priority_1, long )
00083 ADD_PROPERTY( font_color_on_1, Gdk::Color )
00084 ADD_PROPERTY( on_image_path_1, Glib::ustring )
00085 ADD_PROPERTY( use_back_1, bool )
00086 ADD_PROPERTY( back_image_path_1, Glib::ustring )
00088 ADD_PROPERTY( state_di_2, UniSetTypes::ObjectId )
00089 ADD_PROPERTY( num_text_2, Glib::ustring )
00090 ADD_PROPERTY( text_2, Glib::ustring )
00091 ADD_PROPERTY( blink_2, bool )
00092 ADD_PROPERTY( mode_2, long )
00093 ADD_PROPERTY( detntr_on_2, long )
00094 ADD_PROPERTY( priority_2, long )
00095 ADD_PROPERTY( font_color_on_2, Gdk::Color )
00096 ADD_PROPERTY( on_image_path_2, Glib::ustring )
00097 ADD_PROPERTY( use_back_2, bool )
00098 ADD_PROPERTY( back_image_path_2, Glib::ustring )
00099
00100 ADD_PROPERTY( state_di_3, UniSetTypes::ObjectId )
00101 ADD_PROPERTY( num_text_3, Glib::ustring )
00102 ADD_PROPERTY( text_3, Glib::ustring )
00103 ADD_PROPERTY( blink_3, bool )
00104 ADD_PROPERTY( mode_3, long )
00105 ADD_PROPERTY( detntr_on_3, long )
00106 ADD_PROPERTY( priority_3, long )
00107 ADD_PROPERTY( font_color_on_3, Gdk::Color )
00108 ADD_PROPERTY( on_image_path_3, Glib::ustring )
00109 ADD_PROPERTY( use_back_3, bool )
00110 ADD_PROPERTY( back_image_path_3, Glib::ustring )
00111
00112 ADD_PROPERTY( state_di_4, UniSetTypes::ObjectId )
00113 ADD_PROPERTY( num_text_4, Glib::ustring )
00114 ADD_PROPERTY( text_4, Glib::ustring )
00115 ADD_PROPERTY( blink_4, bool )
00116 ADD_PROPERTY( mode_4, long )
00117 ADD_PROPERTY( detntr_on_4, long )
00118 ADD_PROPERTY( priority_4, long )
00119 ADD_PROPERTY( font_color_on_4, Gdk::Color )
00120 ADD_PROPERTY( on_image_path_4, Glib::ustring )
00121 ADD_PROPERTY( use_back_4, bool )
00122 ADD_PROPERTY( back_image_path_4, Glib::ustring )
00123
00124 ADD_PROPERTY( state_di_5, UniSetTypes::ObjectId )
00125 ADD_PROPERTY( num_text_5, Glib::ustring )
00126 ADD_PROPERTY( text_5, Glib::ustring )
00127 ADD_PROPERTY( blink_5, bool )
00128 ADD_PROPERTY( mode_5, long )
00129 ADD_PROPERTY( detntr_on_5, long )
00130 ADD_PROPERTY( priority_5, long )
00131 ADD_PROPERTY( font_color_on_5, Gdk::Color )
00132 ADD_PROPERTY( on_image_path_5, Glib::ustring )
00133 ADD_PROPERTY( use_back_5, bool )
00134 ADD_PROPERTY( back_image_path_5, Glib::ustring )
00135
00136 ADD_PROPERTY( state_di_6, UniSetTypes::ObjectId )
00137 ADD_PROPERTY( num_text_6, Glib::ustring )
00138 ADD_PROPERTY( text_6, Glib::ustring )
00139 ADD_PROPERTY( blink_6, bool )
00140 ADD_PROPERTY( mode_6, long )
00141 ADD_PROPERTY( detntr_on_6, long )
00142 ADD_PROPERTY( priority_6, long )
00143 ADD_PROPERTY( font_color_on_6, Gdk::Color )
00144 ADD_PROPERTY( on_image_path_6, Glib::ustring )
00145 ADD_PROPERTY( use_back_6, bool )
00146 ADD_PROPERTY( back_image_path_6, Glib::ustring )
00147
00148 ADD_PROPERTY( state_di_7, UniSetTypes::ObjectId )
00149 ADD_PROPERTY( num_text_7, Glib::ustring )
00150 ADD_PROPERTY( text_7, Glib::ustring )
00151 ADD_PROPERTY( blink_7, bool )
00152 ADD_PROPERTY( mode_7, long )
00153 ADD_PROPERTY( detntr_on_7, long )
00154 ADD_PROPERTY( priority_7, long )
00155 ADD_PROPERTY( font_color_on_7, Gdk::Color )
00156 ADD_PROPERTY( on_image_path_7, Glib::ustring )
00157 ADD_PROPERTY( use_back_7, bool )
00158 ADD_PROPERTY( back_image_path_7, Glib::ustring )
00159
00160 ADD_PROPERTY( state_di_8, UniSetTypes::ObjectId )
00161 ADD_PROPERTY( num_text_8, Glib::ustring )
00162 ADD_PROPERTY( text_8, Glib::ustring )
00163 ADD_PROPERTY( blink_8, bool )
00164 ADD_PROPERTY( mode_8, long )
00165 ADD_PROPERTY( detntr_on_8, long )
00166 ADD_PROPERTY( priority_8, long )
00167 ADD_PROPERTY( font_color_on_8, Gdk::Color )
00168 ADD_PROPERTY( on_image_path_8, Glib::ustring )
00169 ADD_PROPERTY( use_back_8, bool )
00170 ADD_PROPERTY( back_image_path_8, Glib::ustring )
00171
00172 ADD_PROPERTY( img_off_path, Glib::ustring )
00173 ADD_PROPERTY( text, Glib::ustring )
00174 ADD_PROPERTY( font_name, Glib::ustring )
00175 ADD_PROPERTY( font_size, long )
00176 ADD_PROPERTY( font_color_off, Gdk::Color )
00177 ADD_PROPERTY( font_shadow_on, bool )
00178 ADD_PROPERTY( font_shadow_off, bool )
00179 ADD_PROPERTY( alignment, Pango::Alignment )
00180 ADD_PROPERTY( number_of_mode, long )
00182 ADD_PROPERTY( x_text_rect, long )
00183 ADD_PROPERTY( y_text_rect, long )
00184 ADD_PROPERTY( x_num_text_rect, long )
00185 ADD_PROPERTY( y_num_text_rect, long )
00186 ADD_PROPERTY( x_image_rect, long )
00187 ADD_PROPERTY( y_image_rect, long )
00188 ADD_PROPERTY( w_image_rect, long )
00189 ADD_PROPERTY( h_image_rect, long )
00190 };
00191
00192 }
00193
00194 #endif