TypicalIndicatorBlink.h
00001 #ifndef _TYPICALINDICATORBLINK_H
00002 #define _TYPICALINDICATORBLINK_H
00003
00004 #include <map>
00005 #include <typical/AbstractTypical.h>
00006 #include <objects/IndicatorLogic.h>
00007 #include <objects/IndicatorStateLogic.h>
00008 #include <objects/IndicatorShowLogic.h>
00009 #include <components/TextBlink.h>
00010 #include <USignals.h>
00011 #include <global_macros.h>
00012
00013 namespace UniWidgets
00014 {
00022 class TypicalIndicatorBlink : public SimpleObject
00023 {
00024 public:
00025 TypicalIndicatorBlink();
00026 explicit TypicalIndicatorBlink(SimpleObject::BaseObjectType* gobject);
00027 virtual ~TypicalIndicatorBlink();
00028
00029
00030 void configure();
00031
00032 void set_rect(const Gdk::Rectangle rect);
00033 void set_precision(int precision);
00034 void set_digits(int digits);
00035 void set_factor(double factor);
00036 void set_value_ai(const UniSetTypes::ObjectId sensor);
00037 void set_node(const UniSetTypes::ObjectId node);
00038
00039 void set_state_di_colorhigh_warn(const UniSetTypes::ObjectId sensor);
00040 void set_node_colorhigh_warn(const UniSetTypes::ObjectId node);
00041 void set_mode_colorhigh_warn(const int mode);
00043 void set_state_di_colorlow_warn(const UniSetTypes::ObjectId sensor);
00044 void set_node_colorlow_warn(const UniSetTypes::ObjectId node);
00045 void set_mode_colorlow_warn(const int mode);
00046
00047 void set_state_di_colorhigh_alarm(const UniSetTypes::ObjectId sensor);
00048 void set_node_colorhigh_alarm(const UniSetTypes::ObjectId node);
00049 void set_mode_colorhigh_alarm(const int mode);
00050
00051 void set_state_di_colorlow_alarm(const UniSetTypes::ObjectId sensor);
00052 void set_node_colorlow_alarm(const UniSetTypes::ObjectId node);
00053 void set_mode_colorlow_alarm(const int mode);
00054 void addStateColor(const long mode,const Gdk::Color color,bool force = false);
00055
00056 void set_state_blink_low(bool state);
00057
00058 void set_state_obj(const UniSetTypes::ObjectId sensor);
00059
00060 int get_precision();
00061 int get_digits();
00062 double get_factor();
00063 Gdk::Rectangle* get_rect();
00064 inline TextBlink* get_indicator(){return indicator_;};
00065
00066 private:
00067
00068 Gdk::Rectangle rect_;
00069 TextBlink *indicator_;
00070
00071
00072 IndicatorLogic logic_;
00073 IndicatorShowLogic blinklogic_;
00074 IndicatorStateLogic colorlogichigh_warn_;
00075 IndicatorStateLogic colorlogichigh_alarm_;
00076
00077 IndicatorStateLogic colorlogiclow_warn_;
00078 IndicatorStateLogic colorlogiclow_alarm_;
00079
00080 int precision_;
00081 int digits_;
00082 double factor_;
00083
00084
00085 void create_indicator();
00086 void constructor();
00087
00088 DISALLOW_COPY_AND_ASSIGN(TypicalIndicatorBlink);
00089 };
00090
00091 }
00092 #endif