UniWidgets  1.0.0
ThresholdAnalogLogic.h
00001 #ifndef _INDICATORANALOGLOGIC_H
00002 #define _INDICATORANALOGLOGIC_H
00003 // -------------------------------------------------------------------------
00004 #include <objects/AbstractLogic.h>
00005 #include <objects/ShowLogic.h>
00006 #include <UniSetTypes.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     /* Methods */
00033     virtual void on_init();
00034 
00035 private:
00036     /* Variables */
00037     ShowLogic *imagelogic;                  
00038     bool threshold_mode_;                       
00039     bool state_;                            
00041     /* Methods */
00042     void set_state(bool state);                 
00043     void set_current_state();                   
00044     void process_state(const long value);               
00045     /* Handlers */
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     /* Properties */
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