13 #include <boost/function.hpp>
23 class DtKeyFunctionNameList;
24 class DtSettingsBackup;
25 class DtKeyMapBackupAsync;
26 class DtKeyMapSettingsBackup;
35 friend class DtKeyMapBackupAsync;
57 typedef std::map<std::string, DtSettingsBackup*>
BackupMap;
64 typedef std::map<FunctionCategory, CategoryList*>
CategoryMap;
73 virtual DtKeyMap* createKeyMap(
const std::string& mapName,
bool silent =
false );
76 virtual DtKeyMap* cloneKeyMap(
const std::string& mapName,
77 const std::string& newMapName,
bool silent =
false );
80 virtual void destroyKeyMap(
const std::string& mapName,
bool silent =
false );
83 virtual DtKeyMap* findKeyMap(
const std::string& mapName );
86 bool saveKeyMap(
const DtKeyMap& keyMap)
const;
89 bool saveKeyMapToFile(
const DtKeyMap& keyMap,
const std::string&
filename)
const;
92 DtKeyMap* loadKeyMapFromFile(
const std::string&
filename,
bool createBackup =
false);
108 virtual void categorizeKeyFunction(
const std::string& functionName,
111 virtual void categorizeBinaryKeyFunction(
const std::string& functionName,
117 virtual void addKeyFunction(
const std::string& functionName,
119 bool categorize =
true );
122 KeyFunction findKeyFunction(
const std::string& functionName )
const;
125 void removeKeyFunction(
const std::string& functionName );
131 virtual const CategoryMap& binaryCategoryMap()
const;
143 virtual void addBinaryKeyFunction(
const std::string& binaryName,
144 const std::string& keyDownFunctionName,
const KeyFunction& downFunction,
145 const std::string& keyUpFuntionName,
const KeyFunction& upFunction,
150 virtual std::string lookupBinaryKeyFunctionName(
156 virtual bool processKeyEvent(
const std::string& mapName,
160 virtual void activateMap(
const std::string& mapName );
163 virtual void deactivateMap(
const std::string& mapName );
165 virtual void setCurrentMap(
const std::string& mapName );
167 virtual const std::string& currentMap()
const;
170 void virtual clear();
197 virtual DtKeyMapSettingsBackup * createBackupFor(
const std::string&,
const std::string& factoryFile =
"");
236 return backupClassType();
243 virtual void write(boost::archive::xml_oarchive& ar);
246 virtual void read(boost::archive::xml_iarchive& ar);
251 return myRestoredRecord;
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
virtual std::string backupName() const
Returns the key map name.
Definition: DtKeyMapManager.h:234
This class encapsulates a Key event.
Definition: DtKeyEvent.h:16
Definition: DtKeyMapManager.h:44
BinaryFunctionNameMap myBinaryKeyFunctionDownMap
Definition: DtKeyMapManager.h:206
const makArchives::DtKeyMapRecord & restoredRecord() const
Return the backup's restored record.
Definition: DtKeyMapManager.h:249
Definition: DtKeyMapManager.h:47
A record saving the keyboard mapping.
Definition: DtKeyMapRecord.h:19
Definition: DtKeyMapManager.h:39
Definition: DtKeyMapManager.h:43
std::map< std::string, DtKeyMap * > KeyMapCatalog
Definition: DtKeyMapManager.h:52
std::map< std::string, std::string > BinaryFunctionNameMap
Definition: DtKeyMapManager.h:56
FunctionCategory
Definition: DtKeyMapManager.h:37
A serializable list of function names. There is such a list associated with each key/modifier combo f...
Definition: DtKeyMap.h:37
CategoryMap myBinaryCategoryMap
Definition: DtKeyMapManager.h:208
Backup for Keymap Settings.
Definition: DtKeyMapManager.h:215
Definition: DtKeyMapManager.h:46
DtDe & myDe
Definition: DtKeyMapManager.h:201
a Key Map contains a map of keys to FunctionMapEntrys, as well as a list of functions to execute when...
Definition: DtKeyMap.h:312
std::map< FunctionCategory, CategoryList * > CategoryMap
A list of category lists. The key is the first item in the Category list.
Definition: DtKeyMapManager.h:64
FunctionCategories myFunctionCategories
Definition: DtKeyMapManager.h:210
The manager for owning key maps.
Definition: DtKeyMapManager.h:32
Definition: DtKeyMapManager.h:40
std::map< FunctionCategory, DtUnicode > FunctionCategories
Definition: DtKeyMapManager.h:51
Contains makVrv::DtVirtualBaseClass class.
std::map< std::string, DtSettingsBackup * > BackupMap
Definition: DtKeyMapManager.h:57
makArchives::DtKeyMapRecord myRestoredRecord
Definition: DtKeyMapManager.h:256
BinaryFunctionNameMap myBinaryKeyFunctionUpMap
Definition: DtKeyMapManager.h:205
DtKeyMapManager & myKeyMapManager
Definition: DtKeyMapManager.h:257
KeyFunctionMap myKeyFunctionMap
Definition: DtKeyMapManager.h:204
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Definition: DtKeyMapManager.h:41
Provides a method of doign settings backup.
Definition: DtSettingsBackup.h:23
boost::function< void()> KeyFunction
Definition: DtKeyMapManager.h:54
virtual std::string backupClassType() const
Returns the key map name.
Definition: DtKeyMapManager.h:228
KeyMapCatalog myKeyMapCatalog
Definition: DtKeyMapManager.h:203
std::map< std::string, KeyFunction > KeyFunctionMap
Definition: DtKeyMapManager.h:55
CategoryMap myCategoryMap
Definition: DtKeyMapManager.h:207
This file contains the declaration for the class DtKeyEvent.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
std::list< std::string > CategoryList
A list of all the functions in a given category.
Definition: DtKeyMapManager.h:60
std::string myCurrentMap
Definition: DtKeyMapManager.h:202
KeyEventType
Enumerate the types of key events supported.
Definition: DtKeyEvent.h:20
Definition: DtKeyMapManager.h:45
Definition: DtKeyMapManager.h:42
The makVrv::DtSettingsBackup is a lightweight class that must be subclassed from if an object wants t...
std::string myKeyMap
Definition: DtKeyMapManager.h:255
Contains makArchives::DtKeyMapRecord class.
BackupMap myBackupObjects
Definition: DtKeyMapManager.h:209