VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
139  protected slots:
140 
142  virtual void onFunctionItemSelectionChanged();
143 
145  virtual void onEditItemSelectionChanged();
146 
148  virtual void onFilterGroupTriggered(QAction* action);
149 
151  virtual void onAddMappingClicked();
152 
154  virtual void onRemoveMappingClicked();
155 
157  virtual void onEditMappingClicked();
158 
159  protected:
161  virtual void closeEvent(QCloseEvent*);
162 
164  virtual void hideEvent(QHideEvent*);
165 
167  void slot_requestInputAccepted(const DtKeyMapping&, bool);
168  void slot_requestInputCanceled();
169 
171  void slot_requestKeyValidationAccepted( const DtKeyMapping& keyMapping,
172  const DtKeyFunctionNameList& fnList, bool isEdit, bool replace);
173 
174  QString selectedKeyFunctionName() const;
175  void functionCategoryToCategoryName( int category, QString& categoryName );
176  void setupGui();
177  QTreeWidgetItem* findItem( const std::string& key );
178  QTreeWidgetItem* findKeyMapping( const DtKeyMapping& mapping, bool isBinary );
179 
180  protected:
181 
183  std::string myKeyMapName;
184 
187  QActionGroup* myFilterGroup;
193 
195  QVBoxLayout* myFunctionLayout;
196  QVBoxLayout* myMappingEditorLayout;
198  QHBoxLayout* myButtonLayout;
204 
213 
214  };
215 
216 
221  { Q_OBJECT;
222  public:
223 
225  DtRequestKeyMapKeyDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool );
226 
228  virtual ~DtRequestKeyMapKeyDialog();
229 
231  virtual void keyPressEvent( QKeyEvent * event );
232 
234  virtual void closeEvent(QCloseEvent *event);
235 
237  void show( std::string functionName, bool isBinary );
238 
240  void show( std::string functionName, const DtKeyMapping& keyMapping,
241  bool isBinary );
242 
243  protected slots:
244 
246  void onOkClicked();
247 
249  void onCancelClicked();
250 
252  void onUpRadioButtonClicked();
253 
255  void onDownRadioButtonClicked();
256 
257  public:
258 
259  boost::signal<void ()> signal_requestInputCanceled;
260  boost::signal<void (const DtKeyMapping&, bool)> signal_requestInputAccepted;
261  boost::signal<void (const DtKeyMapping&,
263 
264  protected:
265 
266  void setupGui();
267  QString keyMappingToQString( const DtKeyMapping& keyMapping );
268 
269  protected:
270 
273  QButtonGroup* myUpDownButtonGroup;
274  QRadioButton* myUpRadioButton;
275  QRadioButton* myDownRadioButton;
276  QVBoxLayout* myUpDownLayout;
277  QHBoxLayout* myEntryLayout;
280  QHBoxLayout* myBottomButtonLayout;
281  QVBoxLayout* myDialogLayout;
282 
286 
289  bool myIsEdit;
290 
291  };
292 
293 
298  { Q_OBJECT;
299  public:
300 
302  DtRequestKeyValidationDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool | Qt::WindowTitleHint );
303 
305  virtual ~DtRequestKeyValidationDialog();
306 
308  virtual void closeEvent( QCloseEvent *event );
309 
311  void show( const DtKeyMapping& keyMapping, const std::string& functionName,
312  const DtKeyFunctionNameList& fnList, bool isEdit );
313 
314  protected slots:
315 
317  void onAddClicked();
318 
321  void onReplaceClicked();
322 
324  void onCancelClicked();
325 
326  public:
327 
328  boost::signal<void ()> signal_requestInputCanceled;
329  boost::signal<void (const DtKeyMapping&, bool)> signal_requestInputAccepted;
330  boost::signal<void (const DtKeyMapping&,
332 
333  protected:
334 
335  void setupGui();
336 
338  QString keyMappingToQString( const DtKeyMapping& keyMapping );
339 
340  protected:
341 
344  QListWidget* myFunctionNameList;
348  QHBoxLayout* myBottomButtonLayout;
349  QVBoxLayout* myMainLayout;
350 
354  bool myIsEdit;
355 
356  };
357 
358 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)