VR-Forces 4.6.1 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 
15 #include <vrvUtil/signalslib.h>
16 #include <vrvCore/DtDe.h>
17 #include <vrvCore/DtMenuPath.h>
23 
24 #include <QObject>
25 
26 class QEvent;
27 class QAction;
28 class QCheckBox;
29 class QTranslator;
30 
31 namespace makVrv
32 {
33  class DtKeyMap;
34 }
35 
36 namespace makVrf
37 {
38  class DtAssembledMenu;
39 
45  {
46  Q_OBJECT
47 
48  public:
50  virtual ~DtVrfMenuKeyMapManager();
51 
53  static DtVrfMenuKeyMapManager& instance(makVrv::DtDe& de);
54  static void registerInstance(makVrv::DtDe&, DtVrfMenuKeyMapManager*);
55 
58  virtual void setup();
59 
61  virtual void addKeyboardMenuMapping(const makVrv::DtMenuPath& path);
62 
64  virtual void removeKeyboardMenuMapping(const makVrv::DtMenuPath& path);
65 
67  virtual void setApplyChangesToAllKeymaps(bool);
68  virtual bool applyChangesToAllKeymaps() const;
69 
71  virtual bool isMenuFunction(const std::string& func) const;
72 
74  virtual QString reverseTranslate(const QString&) const;
75 
77  virtual void copyKeyFunction(const makVrv::DtMenuPath& from, const makVrv::DtMenuPath& to);
78 
80  virtual bool setSaveManagersOnChange(bool);
81  virtual bool saveManagersOnChange() const;
82 
83  protected:
85  virtual bool eventFilter(QObject*, QEvent*);
86 
89  virtual std::string menuPathToFunctionName(const makVrv::DtMenuPath&) const;
90 
92  virtual void slot_triggerShortcut(makVrv::DtMenuPath);
93 
96  virtual void setKeyMap(makVrv::DtKeyMapManager*, std::string currentMap);
97 
101  virtual void manageChangeableMenu(const std::string& menuId);
102 
105  virtual void setupChangeableMenus();
106 
108  virtual void preAssembleConfigurableMenu(DtAssembledMenu*);
109 
111  virtual void postAssembleConfigurableMenu(DtAssembledMenu*);
112 
115  virtual int mapPathToKeymapFunctionCategory(const std::string& path);
116 
119  virtual void keyMappingRemoved(makVrv::DtKeyMap*, std::string, makVrv::DtKeyState::KeyType,
121 
124  virtual void keyMappingModified(makVrv::DtKeyMap*, std::string, makVrv::DtKeyState::KeyType,
126 
128  virtual void setupKeyMappingFor(const std::string& path, QAction* action, makVrv::DtKeyMap* map);
129 
132  virtual void resetShortcut(makVrv::DtKeyMap*, std::string);
133 
134  void parseTSFile(const QString& file);
135 
136  protected:
139 
140  typedef std::map<std::string, std::string> FunctionToPathMap;
142 
143  typedef std::map<std::string, std::string> PathToFunctionMap;
145 
146  typedef std::map<std::string, int> FunctionCategoryMap;
148 
150  std::map<QString, QString> myReverseMap;
151 
153  };
154 
157  {
158  public:
160  DtVrfKeyMappingEditorPage(makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags f);
161 
163  virtual ~DtVrfKeyMappingEditorPage();
164  };
165 
168 
171  {
172  Q_OBJECT
173 
174  public:
176  DtVrfKeyMappingEditorWidget( makVrv::DtDe& de, QWidget* parent, Qt::WindowFlags flags = 0);
177 
179  virtual ~DtVrfKeyMappingEditorWidget();
180 
181  protected:
183  virtual void closeEvent(QCloseEvent*);
184 
186  virtual void hideEvent(QHideEvent*);
187 
188  virtual void addKeyFunction(const std::string& name, const std::string& keyString);
189 
190  protected slots:
191  virtual void on_applyChangesToAllKeymapsChanged();
192 
197  virtual void requestInput( const std::string& functionName,
198  const makVrv::DtKeyMapping& keyMapping, bool isBinary );
199  virtual void requestInput( const std::string& functionName, bool isBinary );
200 
201  protected:
204  };
205 
207  {
208  public:
209 
211  DtVrfRequestKeyMapKeyDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool );
212 
214  virtual ~DtVrfRequestKeyMapKeyDialog();
215 
217  void show( std::string functionName, bool isBinary );
218 
220  void show( std::string functionName, const makVrv::DtKeyMapping& keyMapping,
221  bool isBinary );
222  };
223 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)