VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfMenuKeyMapManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
16 #include <vrvUtil/signalslib.h>
17 #include <vrvCore/DtMenuPath.h>
23 #endif
24 
25 #include <QObject>
26 
27 class QEvent;
28 class QAction;
29 class QCheckBox;
30 class QTranslator;
31 
32 namespace makVrv
33 {
34  class DtKeyMap;
35  class DtDe;
36 }
37 
38 namespace makVrf
39 {
40  class DtAssembledMenu;
41 
47  {
48  Q_OBJECT
49 
50  public:
52  virtual ~DtVrfMenuKeyMapManager();
53 
55  static DtVrfMenuKeyMapManager& instance(makVrv::DtDe& de);
56  static void registerInstance(makVrv::DtDe&, DtVrfMenuKeyMapManager*);
57 
60  virtual void setup();
61 
63  virtual void addKeyboardMenuMapping(const makVrv::DtMenuPath& path);
64 
66  virtual void removeKeyboardMenuMapping(const makVrv::DtMenuPath& path);
67 
69  virtual void setApplyChangesToAllKeymaps(bool);
70  virtual bool applyChangesToAllKeymaps() const;
71 
73  virtual bool isMenuFunction(const std::string& func) const;
74 
76  virtual QString reverseTranslate(const QString&) const;
77 
79  virtual void copyKeyFunction(const makVrv::DtMenuPath& from, const makVrv::DtMenuPath& to);
80 
82  virtual bool setSaveManagersOnChange(bool);
83  virtual bool saveManagersOnChange() const;
84 
85  protected:
87  virtual bool eventFilter(QObject*, QEvent*);
88 
91  virtual std::string menuPathToFunctionName(const makVrv::DtMenuPath&) const;
92 
94  virtual void slot_triggerShortcut(makVrv::DtMenuPath);
95 
98  virtual void setKeyMap(makVrv::DtKeyMapManager*, std::string currentMap);
99 
103  virtual void manageChangeableMenu(const std::string& menuId);
104 
107  virtual void setupChangeableMenus();
108 
110  virtual void preAssembleConfigurableMenu(DtAssembledMenu*);
111 
113  virtual void postAssembleConfigurableMenu(DtAssembledMenu*);
114 
117  virtual int mapPathToKeymapFunctionCategory(const std::string& path);
118 
121  virtual void keyMappingRemoved(makVrv::DtKeyMap*, std::string, makVrv::DtKeyState::KeyType,
123 
126  virtual void keyMappingModified(makVrv::DtKeyMap*, std::string, makVrv::DtKeyState::KeyType,
128 
130  virtual void setupKeyMappingFor(const std::string& path, QAction* action, makVrv::DtKeyMap* map);
131 
134  virtual void resetShortcut(makVrv::DtKeyMap*, std::string);
135 
136  void parseTSFile(const QString& file);
137 
138  protected:
141 
142  typedef std::map<std::string, std::string> FunctionToPathMap;
144 
145  typedef std::map<std::string, std::string> PathToFunctionMap;
147 
148  typedef std::map<std::string, int> FunctionCategoryMap;
150 
152  std::map<QString, QString> myReverseMap;
153 
155  std::string myCurrentKeyMap;
156  };
157 
160  {
161  public:
163  DtVrfKeyMappingEditorPage(makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags f);
164 
166  virtual ~DtVrfKeyMappingEditorPage();
167  };
168 
171 
174  {
175  Q_OBJECT
176 
177  public:
179  DtVrfKeyMappingEditorWidget( makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags flags = 0);
180 
182  virtual ~DtVrfKeyMappingEditorWidget();
183 
184  protected:
186  virtual void closeEvent(QCloseEvent*);
187 
189  virtual void hideEvent(QHideEvent*);
190 
191  virtual void addKeyFunction(const std::string& name, const std::string& keyString);
192 
193  protected slots:
194  virtual void on_applyChangesToAllKeymapsChanged();
195 
200  virtual void requestInput( const std::string& functionName,
201  const makVrv::DtKeyMapping& keyMapping, bool isBinary );
202  virtual void requestInput( const std::string& functionName, bool isBinary );
203 
204  protected:
207  };
208 
210  {
211  public:
212 
214  DtVrfRequestKeyMapKeyDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool );
215 
217  virtual ~DtVrfRequestKeyMapKeyDialog();
218 
220  void show( std::string functionName, bool isBinary );
221 
223  void show( std::string functionName, const makVrv::DtKeyMapping& keyMapping,
224  bool isBinary );
225  };
226 }
bool myApplyChangesToAllKeymaps
Definition: vrfMenuKeyMapManager.h:151
makVrv::DtDe & myDe
Definition: vrfMenuKeyMapManager.h:139
Virtual base class.
Definition: DtVirtualBaseClass.h:19
std::string myCurrentKeyMap
Definition: vrfMenuKeyMapManager.h:155
Contains makVrv::DtKeyMapManagerSignaler class.
std::map< std::string, std::string > PathToFunctionMap
Definition: vrfMenuKeyMapManager.h:145
makVrv::DtRequestKeyMapKeyDialog * myMenuItemKeyMapDialog
Definition: vrfMenuKeyMapManager.h:206
The reverse key map is a list of these for each function name.
Definition: DtKeyMap.h:246
Contains makVrv::DtKeyMappingEditorPage class.
makVrv::DtPageCreatorTemplate< DtVrfKeyMappingEditorPage > DtVrfKeyMappingEditorPageCreator
Definition: vrfMenuKeyMapManager.h:170
Definition: DtPage.h:143
a Key Map contains a map of keys to FunctionMapEntrys, as well as a list of functions to execute when...
Definition: DtKeyMap.h:312
KeyModifier
Describe which modifier(s) are pressed.
Definition: DtKeyState.h:136
Contains makVrv::DtMenuPath class.
The manager for owning key maps.
Definition: DtKeyMapManager.h:32
Override these classes to be able to add check box to apply menu item changes to all key maps...
Definition: vrfMenuKeyMapManager.h:159
Contains makVrv::DtVirtualBaseClass class.
This class will traverse the created actions in the menu system and add a potential key mapping for t...
Definition: vrfMenuKeyMapManager.h:45
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfMenuKeyMapManager.h:140
QCheckBox * myApplyChangesToAllKeymaps
Definition: vrfMenuKeyMapManager.h:205
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtKeyMapManager class.
std::map< std::string, std::string > FunctionToPathMap
Definition: vrfMenuKeyMapManager.h:142
FunctionToPathMap myFunctionToPathMap
Definition: vrfMenuKeyMapManager.h:143
Base class for menus that are assembled on an as needed basis.
Definition: selectionEnabledMenu.h:29
a Class which represents a menu path.
Definition: DtMenuPath.h:27
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:22
A dialog page controlling file caching.
Definition: DtKeyMappingEditorPage.h:24
A widget class for editing key functions.
Definition: DtKeyMappingEditorWidget.h:44
Widget to add check box for applying menu changes only to all menu items.
Definition: vrfMenuKeyMapManager.h:173
Base class to provide boost signal/slot management.
std::map< std::string, int > FunctionCategoryMap
Definition: vrfMenuKeyMapManager.h:148
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Contains the DtKeyMappingEditorWidget class declaration.
PathToFunctionMap myPathToFunctionMap
Definition: vrfMenuKeyMapManager.h:146
bool mySaveManagersOnChange
Definition: vrfMenuKeyMapManager.h:154
Definition: vrfMenuKeyMapManager.h:209
KeyType
Enumerate the key types. These are based on Virtual Key Codes.
Definition: DtKeyState.h:25
This is the dialog the user types key sequences to be mapped.
Definition: DtKeyMappingEditorWidget.h:223
KeyEventType
Enumerate the types of key events supported.
Definition: DtKeyEvent.h:20
std::map< QString, QString > myReverseMap
Definition: vrfMenuKeyMapManager.h:152
FunctionCategoryMap myFunctionCategories
Definition: vrfMenuKeyMapManager.h:149

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)