00001 #ifndef _TYPICALCISTERNBLINK_H 00002 #define _TYPICALCISTERNBLINK_H 00003 // ------------------------------------------------------------------------- 00004 #include <map> 00005 #include <typical/AbstractTypical.h> 00006 #include <objects/CisternLogic.h> 00007 #include <objects/CisternStateLogic.h> 00008 #include <objects/CisternShowLogic.h> 00009 #include <components/CisternImageBlink.h> 00010 #include <USignals.h> 00011 #include <global_macros.h> 00012 // ------------------------------------------------------------------------- 00013 namespace UniWidgets 00014 { 00021 class TypicalCisternBlink : public SimpleObject 00022 { 00023 public: 00024 TypicalCisternBlink(); 00025 explicit TypicalCisternBlink(SimpleObject::BaseObjectType* gobject); 00026 virtual ~TypicalCisternBlink(); 00027 00028 /* Methods */ 00029 void configure(); 00031 void set_rect(const Gdk::Rectangle rect); 00032 void set_value_ai(const UniSetTypes::ObjectId sensor); 00033 void set_node(const UniSetTypes::ObjectId node); 00035 void set_state_di_statehigh_warn(const UniSetTypes::ObjectId sensor); 00036 void set_node_statehigh_warn(const UniSetTypes::ObjectId node); 00037 void set_mode_statehigh_warn(const int mode); 00039 void set_state_di_statelow_warn(const UniSetTypes::ObjectId sensor); 00040 void set_node_statelow_warn(const UniSetTypes::ObjectId node); 00041 void set_mode_statelow_warn(const int mode); 00043 void set_state_di_statehigh_alarm(const UniSetTypes::ObjectId sensor); 00044 void set_node_statehigh_alarm(const UniSetTypes::ObjectId node); 00045 void set_mode_statehigh_alarm(const int mode); 00047 void set_state_di_statelow_alarm(const UniSetTypes::ObjectId sensor); 00048 void set_node_statelow_alarm(const UniSetTypes::ObjectId node); 00049 void set_mode_statelow_alarm(const int mode); 00051 void set_state_obj(const UniSetTypes::ObjectId sensor); 00052 void set_cistern_high_level(const long val); 00054 void set_background_off_path(const Glib::ustring& path); 00055 void set_background_warn_path(const Glib::ustring& path); 00056 void set_background_alarm_path(const Glib::ustring& path); 00057 void set_filling_path(const Glib::ustring& path); 00058 void set_scale_path(const Glib::ustring& path); 00059 void set_scale_switch_on(bool switch_on); 00060 void set_high_alarm(const Glib::ustring& path); 00061 void set_low_alarm(const Glib::ustring& path); 00063 Glib::ustring& get_background_off_path(); 00064 Glib::ustring& get_background_warn_path(); 00065 Glib::ustring& get_background_alarm_path(); 00066 Glib::ustring& get_high_alarm(); 00067 Glib::ustring& get_low_alarm(); 00068 Glib::ustring& get_filling_path(); 00069 Glib::ustring& get_scale_path(); 00071 Gdk::Rectangle* get_rect(); 00073 private: 00074 /* Variables */ 00075 Gdk::Rectangle rect_; 00076 CisternImageBlink *cistern_; 00077 Glib::ustring background_off_path_; 00078 Glib::ustring background_warn_path_; 00079 Glib::ustring background_alarm_path_; 00080 Glib::ustring filling_path_; 00081 Glib::ustring scale_path_; 00082 Glib::ustring high_alarm_path_; 00083 Glib::ustring low_alarm_path_; 00084 bool scale_on; 00085 long level; 00086 00087 /*Loigcs*/ 00088 CisternLogic logic_; 00089 CisternShowLogic blinklogic_; 00090 CisternStateLogic statelogichigh_warn_; 00091 CisternStateLogic statelogichigh_alarm_; 00092 00093 CisternStateLogic statelogiclow_warn_; 00094 CisternStateLogic statelogiclow_alarm_; 00095 00096 /* Methods */ 00097 void create_cistern(); 00098 void constructor(); 00099 00100 DISALLOW_COPY_AND_ASSIGN(TypicalCisternBlink); 00101 }; 00102 } 00103 00104 #endif
1.5.9