ThresholdAnalogLogic.h
00001 #ifndef _INDICATORANALOGLOGIC_H
00002 #define _INDICATORANALOGLOGIC_H
00003
00004 #include <UniSetTypes.h>
00005 #include <objects/AbstractLogic.h>
00006 #include <objects/ShowLogic.h>
00007 #include <global_macros.h>
00008
00009 namespace UniWidgets
00010 {
00023 class ThresholdAnalogLogic : public AbstractLogic
00024 {
00025 public:
00026 ThresholdAnalogLogic();
00027 explicit ThresholdAnalogLogic(Gtk::EventBox::BaseObjectType* gobject);
00028 virtual ~ThresholdAnalogLogic();
00029
00030 virtual void connect();
00031 protected:
00032
00033 virtual void on_init();
00034
00035 private:
00036
00037 ShowLogic *imagelogic;
00038 bool threshold_mode_;
00039 bool state_;
00041
00042 void set_state(bool state);
00043 void set_current_state();
00044 void process_state(const long value);
00045
00046 void sensor_handler(UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value);
00048 void thresholdcg_handler(UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value, int flag);
00049
00050 void set_sensor_handler();
00051
00052 DISALLOW_COPY_AND_ASSIGN(ThresholdAnalogLogic);
00053
00054 ADD_PROPERTY( value_ai, UniSetTypes::ObjectId )
00055 ADD_PROPERTY( mode, long )
00056 ADD_PROPERTY( threshold_on_ai, UniSetTypes::ObjectId )
00057 ADD_PROPERTY( threshold_off_ai, UniSetTypes::ObjectId )
00058 ADD_PROPERTY( threshold_on, long )
00059 ADD_PROPERTY( threshold_off, long )
00060 ADD_PROPERTY( node, UniSetTypes::ObjectId )
00061 };
00062
00063 }
00064 #endif