VR-Forces 5.0.2 Developer's Guide
 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 
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  virtual void zoomToExtents();
139 
140  protected:
143 
144  typedef std::map<std::string, std::string> FunctionToPathMap;
146 
147  typedef std::map<std::string, std::string> PathToFunctionMap;
149 
150  typedef std::map<std::string, int> FunctionCategoryMap;
152 
154  std::map<QString, QString> myReverseMap;
155 
157  std::string myCurrentKeyMap;
158  };
159 
162  {
163  public:
165  DtVrfKeyMappingEditorPage(makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags f);
166 
168  virtual ~DtVrfKeyMappingEditorPage();
169  };
170 
173 
176  {
177  Q_OBJECT
178 
179  public:
181  DtVrfKeyMappingEditorWidget( makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags flags = 0);
182 
184  virtual ~DtVrfKeyMappingEditorWidget();
185 
186  protected:
188  virtual void closeEvent(QCloseEvent*);
189 
191  virtual void hideEvent(QHideEvent*);
192 
193  virtual void addKeyFunction(const std::string& name, const std::string& keyString);
194 
195  protected slots:
196  virtual void on_applyChangesToAllKeymapsChanged();
197 
202  virtual void requestInput( const std::string& functionName,
203  const makVrv::DtKeyMapping& keyMapping, bool isBinary );
204  virtual void requestInput( const std::string& functionName, bool isBinary );
205 
206  protected:
209  };
210 
212  {
213  public:
214 
216  DtVrfRequestKeyMapKeyDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool );
217 
219  virtual ~DtVrfRequestKeyMapKeyDialog();
220 
222  void show( std::string functionName, bool isBinary );
223 
225  void show( std::string functionName, const makVrv::DtKeyMapping& keyMapping,
226  bool isBinary );
227  };
228 }
bool myApplyChangesToAllKeymaps
Definition: vrfMenuKeyMapManager.h:153
makVrv::DtDe & myDe
Definition: vrfMenuKeyMapManager.h:141
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::string myCurrentKeyMap
Definition: vrfMenuKeyMapManager.h:157
Contains makVrv::DtKeyMapManagerSignaler class.
std::map< std::string, std::string > PathToFunctionMap
Definition: vrfMenuKeyMapManager.h:147
makVrv::DtRequestKeyMapKeyDialog * myMenuItemKeyMapDialog
Definition: vrfMenuKeyMapManager.h:208
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:172
Definition: DtPage.h:150
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:161
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:142
QCheckBox * myApplyChangesToAllKeymaps
Definition: vrfMenuKeyMapManager.h:207
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:144
FunctionToPathMap myFunctionToPathMap
Definition: vrfMenuKeyMapManager.h:145
Base class for menus that are assembled on an as needed basis.
Definition: selectionEnabledMenu.h:29
a Class which represents a menu path. The specific strings are not menu text, but the names used when...
Definition: DtMenuPath.h:27
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
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:175
Base class to provide boost signal/slot management.
std::map< std::string, int > FunctionCategoryMap
Definition: vrfMenuKeyMapManager.h:150
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:70
Contains the DtKeyMappingEditorWidget class declaration.
PathToFunctionMap myPathToFunctionMap
Definition: vrfMenuKeyMapManager.h:148
bool mySaveManagersOnChange
Definition: vrfMenuKeyMapManager.h:156
Definition: vrfMenuKeyMapManager.h:211
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. It shares a logic object with DtKeyMapE...
Definition: DtKeyMappingEditorWidget.h:223
KeyEventType
Enumerate the types of key events supported.
Definition: DtKeyEvent.h:20
std::map< QString, QString > myReverseMap
Definition: vrfMenuKeyMapManager.h:154
FunctionCategoryMap myFunctionCategories
Definition: vrfMenuKeyMapManager.h:151

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)