![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2008 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: DtKeyMapRecord.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00012 00013 #ifndef DtKeyMapRecord_H_ 00014 #define DtKeyMapRecord_H_ 00015 00016 #include <makArchives/makArchives.h> 00017 00018 namespace makArchives 00019 { 00022 class DT_DLL_MAKARCHIVES DtKeyMapRecord 00023 { 00024 public: 00025 00026 typedef std::list<std::string> FunctionList; 00027 typedef std::pair<FunctionList,FunctionList> UpDownFunctionLists; 00028 typedef std::map<int, UpDownFunctionLists > KeyFunctionListMap; 00029 00030 00032 DtKeyMapRecord(); 00033 00035 DtKeyMapRecord(const DtKeyMapRecord& copy); 00036 00038 ~DtKeyMapRecord(); 00039 00041 DtKeyMapRecord& operator=(const DtKeyMapRecord& copy); 00042 00043 const std::string& name() const; 00044 void setName(const std::string& name); 00045 00046 const KeyFunctionListMap& unmodifiedKeyMap() const; 00047 KeyFunctionListMap& unmodifiedKeyMap(); 00048 00049 const KeyFunctionListMap& shiftKeyMap() const; 00050 KeyFunctionListMap& shiftKeyMap(); 00051 00052 const KeyFunctionListMap& ctrlKeyMap() const; 00053 KeyFunctionListMap& ctrlKeyMap(); 00054 00055 const KeyFunctionListMap& altKeyMap() const; 00056 KeyFunctionListMap& altKeyMap(); 00057 00058 const KeyFunctionListMap& shiftCtrlKeyMap() const; 00059 KeyFunctionListMap& shiftCtrlKeyMap(); 00060 00061 const KeyFunctionListMap& shiftAltKeyMap() const; 00062 KeyFunctionListMap& shiftAltKeyMap(); 00063 00064 const KeyFunctionListMap& ctrlAltKeyMap() const; 00065 KeyFunctionListMap& ctrlAltKeyMap(); 00066 00067 const KeyFunctionListMap& shiftCtrlAltKeyMap() const; 00068 KeyFunctionListMap& shiftCtrlAltKeyMap(); 00069 00070 00071 protected: 00072 00073 friend class boost::serialization::access; 00074 00075 template <typename Archive> 00076 void serialize(Archive& ar,unsigned int version) 00077 { 00078 ar & BOOST_SERIALIZATION_NVP(myName); 00079 00080 ar & BOOST_SERIALIZATION_NVP(myUnmodifiedKeyMap); 00081 ar & BOOST_SERIALIZATION_NVP(myShiftKeyMap); 00082 ar & BOOST_SERIALIZATION_NVP(myCtrlKeyMap); 00083 ar & BOOST_SERIALIZATION_NVP(myAltKeyMap); 00084 ar & BOOST_SERIALIZATION_NVP(myShiftCtrlKeyMap); 00085 ar & BOOST_SERIALIZATION_NVP(myShiftAltKeyMap); 00086 ar & BOOST_SERIALIZATION_NVP(myCtrlAltKeyMap); 00087 ar & BOOST_SERIALIZATION_NVP(myShiftCtrlAltKeyMap); 00088 } 00089 00090 protected: 00091 00092 std::string myName; 00093 KeyFunctionListMap myUnmodifiedKeyMap; 00094 KeyFunctionListMap myShiftKeyMap; 00095 KeyFunctionListMap myCtrlKeyMap; 00096 KeyFunctionListMap myAltKeyMap; 00097 KeyFunctionListMap myShiftCtrlKeyMap; 00098 KeyFunctionListMap myShiftAltKeyMap; 00099 KeyFunctionListMap myCtrlAltKeyMap; 00100 KeyFunctionListMap myShiftCtrlAltKeyMap; 00101 }; 00102 } 00103 00104 #endif 00105