UniWidgets  1.0.0
StateLogic.h
00001 #ifndef _STATELOGIC_H
00002 #define _STATELOGIC_H
00003 // -------------------------------------------------------------------------
00004 #include <objects/AbstractLogic.h>
00005 #include <objects/ShowLogic.h>
00006 #include <uniwidgets/USignals.h>
00007 #include <global_macros.h>
00008 #include <types.h>
00009 // -------------------------------------------------------------------------
00010 namespace UniWidgets
00011 {
00029 class StateLogic : public AbstractLogic
00030 {
00031 public:
00032   StateLogic();
00033   explicit StateLogic(Gtk::EventBox::BaseObjectType* gobject);
00034   virtual ~StateLogic();
00035 
00036     /* Methods */
00037     virtual void connect();
00038 
00039 protected:
00040     /* Methods */
00041     virtual void on_init();                 
00043     /* Variables */
00044     long current_value_;                    
00045     ShowLogic *logic;                   
00047     /* Methods */
00048     void constructor();
00049     void set_message_handler();             
00050     void set_confirm_handler(UMessages::MessageId id);  
00051     virtual void set_current_state();           
00052     void set_state_object();                
00054     /* Handlers */
00055     void confirm_handler(UMessages::MessageId id, time_t sec);              
00056     void message_handler(UMessages::MessageId id, Glib::ustring msg);           
00058     virtual void sensor_handler(UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value);
00059     void set_sensor_handler();                              
00061   DISALLOW_COPY_AND_ASSIGN(StateLogic);
00062 
00063     /* Properties */
00064     ADD_PROPERTY( state_ai, UniSetTypes::ObjectId )             
00065     ADD_PROPERTY( state_obj_ai, UniSetTypes::ObjectId )         
00066     ADD_PROPERTY( mode, long )                      
00067     ADD_PROPERTY( detntr, long )                        
00069     ADD_PROPERTY( invert_mode, bool )                   
00070     ADD_PROPERTY( invert_mode_state, UniWidgetsTypes::ThresholdType )   
00071     ADD_PROPERTY( blinking, bool )                      
00072     ADD_PROPERTY( node, UniSetTypes::ObjectId )             
00073     ADD_PROPERTY( states_ignore, int )                  
00074     ADD_PROPERTY( lock_view, bool )                     
00075 };
00076 
00077 }
00078 #endif