UniWidgets  1.0.0
StateMultiLogic.h
00001 #ifndef _STATEMULTILOGIC_H
00002 #define _STATEMULTILOGIC_H
00003 // -------------------------------------------------------------------------
00004 #include <objects/StateTmpLogic.h>
00005 #include <objects/StateLogic.h>
00006 // -------------------------------------------------------------------------
00007 namespace UniWidgets
00008 {
00009 class Image;
00017 class StateMultiLogic : public StateLogic
00018 {
00019 public:
00020     StateMultiLogic();
00021     explicit StateMultiLogic(StateLogic::BaseObjectType* gobject);
00022     virtual ~StateMultiLogic();
00023 
00024     typedef std::vector<long> IgnoreModeVector;
00025     typedef std::vector<long> BlinkOffModeVector;
00026     void add_ignoremode(long);
00027     void add_blinkoff_mode(long);
00028 
00029 protected:
00030     void on_init();
00031 
00032 private:
00033     void sensor_handler(UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value);
00034     void set_current_state();
00035     void constructor();
00036     IgnoreModeVector ignore_modes;
00037     BlinkOffModeVector blinkoff_modes;
00038 
00039     SimpleText *current_text;
00040     DISALLOW_COPY_AND_ASSIGN(StateMultiLogic);
00041 };
00042 
00043 }
00044 #endif