VR-Forces 4.0.4 Class Documentation
include/makArchives/DtKeyMapRecord.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)