IndicatorStateLogic.h
00001 #ifndef _INDICATORSTATELOGIC_H
00002 #define _INDICATORSTATELOGIC_H
00003
00004 #include <UniSetTypes.h>
00005 #include <objects/AbstractLogic.h>
00006 #include <USignals.h>
00007 #include <global_macros.h>
00008
00009 namespace UniWidgets
00010 {
00011 class IndicatorShowLogic;
00022 class IndicatorStateLogic : public AbstractLogic
00023 {
00024 public:
00025 IndicatorStateLogic();
00026 explicit IndicatorStateLogic(Gtk::EventBox::BaseObjectType* gobject);
00027 virtual ~IndicatorStateLogic();
00028
00029 virtual void connect();
00030 protected:
00031
00032 virtual void on_init();
00034 private:
00035
00036 IndicatorShowLogic* current_indicator_;
00037 long current_value_;
00038
00039 void constructor();
00040 void init_state();
00041 void set_state(const long value);
00042 void set_current_state();
00044 void set_message_handler();
00045 void set_confirm_handler(UMessages::MessageId id);
00046 void set_sensor_handler();
00047
00048
00049 void confirm_handler(UMessages::MessageId id, time_t sec);
00050 void message_handler(UMessages::MessageId id, Glib::ustring msg);
00051 void sensor_handler(UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value);
00052
00053 DISALLOW_COPY_AND_ASSIGN(IndicatorStateLogic);
00054
00055 ADD_PROPERTY( state_di, UniSetTypes::ObjectId )
00056 ADD_PROPERTY( state_obj_ai, UniSetTypes::ObjectId )
00057 ADD_PROPERTY( mode, UniSetTypes::ObjectId )
00058 ADD_PROPERTY( blinking, bool )
00059 ADD_PROPERTY( threshold, UniSetTypes::ObjectId )
00060 ADD_PROPERTY( node, UniSetTypes::ObjectId )
00061 };
00062
00063 }
00064
00065 #endif