VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtKeyMappingEditorWidget.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2017 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
13 
14 #include <QtWidgets/QWidget>
15 #include <QtWidgets/QDialog>
16 #include <QtWidgets/QLabel>
18 #include <vrvCore/DtKeyMap.h>
19 
20 class QAbstractButton;
21 class QActionGroup;
22 class QButtonGroup;
23 class QHBoxLayout;
24 class QLineEdit;
25 class QMenu;
26 class QPushButton;
27 class QRadioButton;
28 class QSplitter;
29 class QTreeWidget;
30 class QTreeWidgetItem;
31 class QVBoxLayout;
32 class QWidget;
33 class QListWidget;
34 class QFocusEvent;
35 
36 namespace makVrv
37 {
38 
39  class DtRequestKeyMapKeyDialog;
40  class DtRequestKeyValidationDialog;
41 
46  {
47 
48  Q_OBJECT
49 
50  public:
51 
53  DtKeyMappingEditorWidget( DtDe& de, QWidget* parent = 0,
54  Qt::WindowFlags flags = 0 );
55 
57  virtual ~DtKeyMappingEditorWidget();
58 
60  virtual void addKeyFunction(const std::string& name, const std::string& keyString);
61 
63  virtual void updateKeyFunction(const std::string& name, const std::string& keyString);
64 
65  virtual void addChildKeyFunction(const std::string& name, const std::string& parentName,
66  const std::string& keyString);
67 
69  virtual void deleteKeyFunction(const std::string& name);
70 
72  virtual void clearKeyFunctions();
73 
75  virtual void selectKeyFunction(const std::string& name);
76 
78  virtual void selectKeyMapping( const DtKeyMapping& keyMapping, bool isBinary );
79 
83  virtual void setEnableFilterEditor(bool filters);
84 
86  virtual void setFilters(const std::vector<std::pair<int,bool> >& filters);
87 
89  virtual void sortKeyFunctions();
90 
92  virtual void addKeyMapping( const DtKeyMapping& keyMapping,
93  bool suppressUpDown );
94 
96  virtual void removeKeyMapping( const DtKeyMapping& keyMapping );
97 
99  virtual void clearKeyMappings();
100 
102  virtual void setEnableAddMappingButton( bool enabled );
103 
105  virtual void setEnableRemoveMappingButton( bool enabled );
106 
108  virtual void setEnableEditMappingButton( bool enabled );
109 
111  virtual void requestInput( const std::string& functionName,
112  const DtKeyMapping& keyMapping, bool isBinary );
113 
115  virtual void requestInput( const std::string& functionName, bool isBinary );
116 
118  virtual void closeEditor();
119 
122  virtual std::string unmappedString();
123 
127  virtual void requestKeyValidation( const DtKeyMapping& keyMapping,
128  const std::string& functionName, const DtKeyFunctionNameList& fnList, bool isEdit );
129 
131  virtual void disableEditor();
132 
134  virtual void enableEditor();
135 
137  virtual QWidget* widget();
138 
140  virtual void resizeColumnToContents();
141 
142  protected slots:
143 
145  virtual void onFunctionItemSelectionChanged();
146 
148  virtual void onEditItemSelectionChanged();
149 
151  virtual void onFilterGroupTriggered(QAction* action);
152 
154  virtual void onAddMappingClicked();
155 
157  virtual void onRemoveMappingClicked();
158 
160  virtual void onEditMappingClicked();
161 
162  protected:
164  virtual void closeEvent(QCloseEvent*);
165 
167  virtual void hideEvent(QHideEvent*);
168 
170  void slot_requestInputAccepted(const DtKeyMapping&, bool);
171  void slot_requestInputCanceled();
172 
174  void slot_requestKeyValidationAccepted( const DtKeyMapping& keyMapping,
175  const DtKeyFunctionNameList& fnList, bool isEdit, bool replace);
176 
177  QString selectedKeyFunctionName() const;
178  void functionCategoryToCategoryName( int category, QString& categoryName );
179  void setupGui();
180  QTreeWidgetItem* findItem( const std::string& key );
181  QTreeWidgetItem* findKeyMapping( const DtKeyMapping& mapping, bool isBinary );
182 
183  protected:
184 
186  std::string myKeyMapName;
187 
190  QActionGroup* myFilterGroup;
193  QWidget* myEditWidget;
196 
198  QVBoxLayout* myFunctionLayout;
199  QVBoxLayout* myMappingEditorLayout;
201  QHBoxLayout* myButtonLayout;
207 
216 
217  };
218 
219 
224  { Q_OBJECT;
225  public:
226 
228  DtRequestKeyMapKeyDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool );
229 
231  virtual ~DtRequestKeyMapKeyDialog();
232 
234  virtual void keyPressEvent( QKeyEvent * event );
235 
237  virtual void closeEvent(QCloseEvent *event);
238 
240  void show( const std::string& functionName, bool isBinary );
241 
243  void show( const std::string& functionName, const DtKeyMapping& keyMapping,
244  bool isBinary );
245 
246  protected slots:
247 
249  void onOkClicked();
250 
252  void onCancelClicked();
253 
255  void onUpRadioButtonClicked();
256 
258  void onDownRadioButtonClicked();
259 
260  public:
261 
262  boost::signal<void ()> signal_requestInputCanceled;
263  boost::signal<void (const DtKeyMapping&, bool)> signal_requestInputAccepted;
264  boost::signal<void (const DtKeyMapping&,
266 
267  protected:
268 
269  void setupGui();
270  QString keyMappingToQString( const DtKeyMapping& keyMapping );
271 
272  protected:
273 
276  QButtonGroup* myUpDownButtonGroup;
277  QRadioButton* myUpRadioButton;
278  QRadioButton* myDownRadioButton;
279  QVBoxLayout* myUpDownLayout;
280  QHBoxLayout* myEntryLayout;
283  QHBoxLayout* myBottomButtonLayout;
284  QVBoxLayout* myDialogLayout;
285 
289 
292  bool myIsEdit;
293 
294  };
295 
296 
301  { Q_OBJECT;
302  public:
303 
305  DtRequestKeyValidationDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool | Qt::WindowTitleHint );
306 
308  virtual ~DtRequestKeyValidationDialog();
309 
311  virtual void closeEvent( QCloseEvent *event );
312 
314  void show( const DtKeyMapping& keyMapping, const std::string& functionName,
315  const DtKeyFunctionNameList& fnList, bool isEdit );
316 
317  protected slots:
318 
320  void onAddClicked();
321 
324  void onReplaceClicked();
325 
327  void onCancelClicked();
328 
329  public:
330 
331  boost::signal<void ()> signal_requestInputCanceled;
332  boost::signal<void (const DtKeyMapping&, bool)> signal_requestInputAccepted;
333  boost::signal<void (const DtKeyMapping&,
335 
336  protected:
337 
338  void setupGui();
339 
341  QString keyMappingToQString( const DtKeyMapping& keyMapping );
342 
343  protected:
344 
347  QListWidget* myFunctionNameList;
351  QHBoxLayout* myBottomButtonLayout;
352  QVBoxLayout* myMainLayout;
353 
357  bool myIsEdit;
358 
359  };
360 
361 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)