|
UniWidgets
1.0.0
|
00001 #ifndef _CISTERNSTATELOGIC_H 00002 #define _CISTERNSTATELOGIC_H 00003 // ------------------------------------------------------------------------- 00004 #include <objects/AbstractLogic.h> 00005 #include <UniSetTypes.h> 00006 #include <uniwidgets/USignals.h> 00007 #include <plugins.h> 00008 #include <global_macros.h> 00009 // ------------------------------------------------------------------------- 00010 namespace UniWidgets 00011 { 00012 class CisternShowLogic; 00023 class CisternStateLogic : public AbstractLogic 00024 { 00025 public: 00026 CisternStateLogic(); 00027 explicit CisternStateLogic(Gtk::EventBox::BaseObjectType* gobject); 00028 virtual ~CisternStateLogic(); 00029 00030 virtual void connect(); 00031 protected: 00032 /* Methods */ 00033 virtual void on_init(); 00035 private: 00036 /* Variables */ 00037 CisternShowLogic* current_cistern_; 00038 long current_value_; 00040 /* Methods */ 00041 void constructor(); 00042 void init_state(); 00043 void set_state(const long value); 00044 void set_current_state(); 00046 void set_message_handler(); 00047 void set_confirm_handler(UMessages::MessageId id); 00048 void set_sensor_handler(); 00049 00050 /* Handlers */ 00051 void confirm_handler(UMessages::MessageId id, time_t sec); 00052 void message_handler(UMessages::MessageId id, Glib::ustring msg); 00053 void sensor_handler(UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value); 00054 00055 void set_state_object(); 00056 00057 DISALLOW_COPY_AND_ASSIGN(CisternStateLogic); 00058 /* Properties */ 00059 ADD_PROPERTY( state_di, UniSetTypes::ObjectId ) 00060 ADD_PROPERTY( state_obj_ai, UniSetTypes::ObjectId ) 00061 ADD_PROPERTY( mode, UniSetTypes::ObjectId ) 00062 ADD_PROPERTY( threshold, UniSetTypes::ObjectId ) 00063 ADD_PROPERTY( node, UniSetTypes::ObjectId ) 00064 }; 00065 00066 } 00067 00068 #endif
1.7.6.1