|
UniWidgets
1.0.0
|
00001 #ifndef _TYPICALMULTISTATE_H 00002 #define _TYPICALMULTISTATE_H 00003 // ------------------------------------------------------------------------- 00004 #include <map> 00005 #include "AbstractTypical.h" 00006 // #include "USignals.h" 00007 #include <global_macros.h> 00008 #include <objects/StateMultiLogic.h> 00009 #include <objects/ShowLogic.h> 00010 // ------------------------------------------------------------------------- 00011 namespace UniWidgets 00012 { 00013 class Image; 00014 // class ShowLogic; 00015 // class StateMultiLogic; 00022 class TypicalMultiState : public AbstractTypical 00023 { 00024 public: 00025 TypicalMultiState(); 00026 explicit TypicalMultiState(AbstractTypical::BaseObjectType* gobject); 00027 virtual ~TypicalMultiState(); 00028 00029 /* FIXME: Move this types to private or into include/types.h */ 00030 /* Types */ 00031 typedef std::map<long, Image*> ModeImageMap; 00032 typedef std::pair<long, Image*> ModeImagePair; 00033 typedef std::map<long, Glib::ustring > ModePathMap; 00034 typedef std::pair<long, Glib::ustring > ModePathPair; 00035 00036 /* Methods */ 00037 void configure(); 00038 00039 void set_rect(const Gdk::Rectangle rect); 00040 void set_path(const long mode, const Glib::ustring& path); 00041 void set_path2(const long mode, const Glib::ustring& path); 00042 00043 void set_firststate_ai(const UniSetTypes::ObjectId sensor); 00044 void set_firststate_node(const UniSetTypes::ObjectId node); 00045 void set_firststate_mode(const long mode); 00046 void add_firststate_ignoremode(const long mode); 00047 void add_firststate_blinkoff_mode(const long mode); 00048 00049 void set_secondstate_ai(const UniSetTypes::ObjectId sensor); 00050 void set_secondstate_node(const UniSetTypes::ObjectId node); 00051 void set_secondstate_mode(const long mode); 00052 void add_secondstate_ignoremode(const long mode); 00053 void add_secondstate_blinkoff_mode(const long mode); 00054 00055 void set_thirdstate_ai(const UniSetTypes::ObjectId sensor); 00056 void set_thirdstate_node(const UniSetTypes::ObjectId node); 00057 void set_thirdstate_mode(const long mode); 00058 void add_thirdstate_ignoremode(const long mode); 00059 void add_thirdstate_blinkoff_mode(const long mode); 00060 00061 void set_fourthstate_ai(const UniSetTypes::ObjectId sensor); 00062 void set_fourthstate_node(const UniSetTypes::ObjectId node); 00063 void set_fourthstate_mode(const long mode); 00064 void add_fourthstate_ignoremode(const long mode); 00065 void add_fourthstate_blinkoff_mode(const long mode); 00066 00067 virtual void set_lock_view(const bool lock); 00068 00069 void set_state_obj(const UniSetTypes::ObjectId sensor); 00070 void insert_mode(const long mode, const long priority, const long blink); 00072 Glib::ustring get_path(const long mode, bool is_back = false); 00073 00074 Gdk::Rectangle* get_rect(); 00075 00076 private: 00077 /* Variables */ 00078 Gdk::Rectangle rect_; 00079 ShowLogic *showlogic_; 00080 StateMultiLogic statemultilogic_firststate_; 00081 StateMultiLogic statemultilogic_secondstate_; 00082 StateMultiLogic statemultilogic_thirdstate_; 00083 StateMultiLogic statemultilogic_fourthstate_; 00084 ModeImageMap images_; 00085 ModePathMap paths_; 00086 ModePathMap paths_2; 00087 00088 /* Methods */ 00089 void constructor(); 00090 00091 DISALLOW_COPY_AND_ASSIGN(TypicalMultiState); 00092 }; 00093 00094 } 00095 #endif
1.7.6.1