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   /* Methods */
00032   virtual void on_init();          
00034 private:
00035   /* Variables */
00036   IndicatorShowLogic* current_indicator_;    
00037   long current_value_;          
00038   /* Methods */
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   /* Handlers */
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   /* Properties */
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

Документация по UniWidgets. Последние изменения: Fri Oct 10 09:57:49 2014. Создано системой  doxygen 1.5.9