|
UniWidgets
1.0.0
|
00001 #ifndef _CISTERN_H 00002 #define _CISTERN_H 00003 // ------------------------------------------------------------------------- 00004 #include <string> 00005 #include <map> 00006 #include <objects/SimpleObject.h> 00007 #include <global_macros.h> 00008 // ------------------------------------------------------------------------- 00009 namespace UniWidgets 00010 { 00011 class LinkLogic; 00012 class TypicalState; 00013 class TypicalText; 00014 class TypicalIndicator; 00015 class TypicalCisternBlink; 00016 class TypicalTwoState; 00017 class TypicalIndicatorBlink; 00025 class Cistern : public SimpleObject 00026 { 00027 public: 00028 Cistern(); 00029 explicit Cistern(SimpleObject::BaseObjectType* gobject); 00030 virtual ~Cistern(); 00031 00032 /* Constants */ 00033 Gdk::Rectangle* state_h_rect; 00034 Gdk::Rectangle* state_l_rect; 00035 Gdk::Rectangle* indicator_rect; 00036 Gdk::Rectangle* cistern_rect; 00037 Gdk::Rectangle* n_text_h_rect; 00038 Gdk::Rectangle* n_text_l_rect; 00039 protected: 00040 /* Handlers */ 00041 virtual void on_realize(); 00042 virtual void on_connect() throw(); 00043 00044 private: 00045 /* Variables */ 00046 TypicalIndicatorBlink* indicator_; 00047 TypicalCisternBlink* cistern_; 00048 TypicalTwoState* frame_; 00049 TypicalState* state_h_; 00050 TypicalState* state_l_; 00051 TypicalText* n_text_h_; 00052 TypicalText* n_text_l_; 00053 LinkLogic* link_; 00054 bool is_configured; 00055 00056 /* Methods */ 00057 void constructor(); 00058 void on_rectangle_changed(); 00059 void on_text_changed(TypicalText *, const Glib::Property<Glib::ustring> *); 00060 void set_rectangle(Gdk::Rectangle* rect_,const long x, const long y, const long w, const long h); 00061 void on_configure(); 00062 00063 DISALLOW_COPY_AND_ASSIGN(Cistern); 00064 00065 /* Properties */ 00066 /*Lock view for ULockNotebook*/ 00067 ADD_PROPERTY( cistern_lock_view_high, bool); 00068 ADD_PROPERTY( cistern_lock_view_low, bool); 00069 /*Sensors*/ 00070 ADD_PROPERTY( state_ai, UniSetTypes::ObjectId ) 00071 ADD_PROPERTY( cube_ai, UniSetTypes::ObjectId ) 00072 ADD_PROPERTY( property_link_di, UniSetTypes::ObjectId ) 00073 ADD_PROPERTY( self_state_ai, UniSetTypes::ObjectId ) 00074 ADD_PROPERTY( threshold_high_ai, UniSetTypes::ObjectId ) 00075 ADD_PROPERTY( cistern_high_level, long) 00076 ADD_PROPERTY( threshold_low_ai, UniSetTypes::ObjectId ) 00077 /*States of thresholds*/ 00078 /*High*/ 00079 ADD_PROPERTY( mode_logic_on_high, long ) 00080 ADD_PROPERTY( mode_on_high_type, UniWidgetsTypes::ThresholdType ) 00081 ADD_PROPERTY( priority_on_high, long ) 00082 /*Low*/ 00083 ADD_PROPERTY( mode_logic_on_low, long ) 00084 ADD_PROPERTY( mode_on_low_type, UniWidgetsTypes::ThresholdType ) 00085 ADD_PROPERTY( priority_on_low, long ) 00086 /*Images*/ 00087 ADD_PROPERTY( cistern_background_off_path, Glib::ustring ) 00088 ADD_PROPERTY( cistern_background_warn_path, Glib::ustring ) 00089 ADD_PROPERTY( cistern_background_alarm_path, Glib::ustring ) 00090 ADD_PROPERTY( cistern_filling_path, Glib::ustring ) 00091 ADD_PROPERTY( cistern_scale_path, Glib::ustring ) 00092 ADD_PROPERTY( cistern_scale_switch, bool) 00093 ADD_PROPERTY( high_level_off_path, Glib::ustring ) 00094 ADD_PROPERTY( high_level_alarm_path, Glib::ustring ) 00095 ADD_PROPERTY( low_level_alarm_path, Glib::ustring ) 00096 ADD_PROPERTY( low_level_off_path, Glib::ustring ) 00097 ADD_PROPERTY( cistern_indicator_path, Glib::ustring ) 00098 ADD_PROPERTY( cistern_indicator_alarm_path, Glib::ustring ) 00099 ADD_PROPERTY( cistern_high_alarm_path, Glib::ustring ) 00100 ADD_PROPERTY( cistern_low_alarm_path, Glib::ustring ) 00102 ADD_PROPERTY( indicator_font, std::string ) 00103 ADD_PROPERTY( indicator_font_color, Gdk::Color ) 00104 ADD_PROPERTY( property_factor, double ) 00106 ADD_PROPERTY( w_cistern, long) 00107 ADD_PROPERTY( h_cistern, long) 00108 ADD_PROPERTY( x_states, long) 00109 ADD_PROPERTY( y_state_high, long) 00110 ADD_PROPERTY( y_state_low, long) 00111 ADD_PROPERTY( w_states, long) 00112 ADD_PROPERTY( h_states, long) 00113 ADD_PROPERTY( x_indicator, long) 00114 ADD_PROPERTY( y_indicator, long) 00115 ADD_PROPERTY( w_indicator, long) 00116 ADD_PROPERTY( h_indicator, long) 00117 ADD_PROPERTY( node, UniSetTypes::ObjectId ) 00119 ADD_PROPERTY( font_size, long ) 00120 ADD_PROPERTY( font_shadow_on, bool ) 00121 ADD_PROPERTY( font_shadow_off, bool ) 00122 ADD_PROPERTY( font_color_off, Gdk::Color ) 00124 ADD_PROPERTY( num_text_high, Glib::ustring ) 00125 ADD_PROPERTY( font_color_on_high, Gdk::Color ) 00126 ADD_PROPERTY( x_num_text_high_rect, long ) 00127 ADD_PROPERTY( y_num_text_high_rect, long ) 00129 ADD_PROPERTY( num_text_low, Glib::ustring ) 00130 ADD_PROPERTY( font_color_on_low, Gdk::Color ) 00131 ADD_PROPERTY( x_num_text_low_rect, long ) 00132 ADD_PROPERTY( y_num_text_low_rect, long ) 00134 }; 00135 00136 } 00137 #endif
1.7.6.1