VR-Forces Development_Version 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) 2012 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
13 
14 #include <QtGui/QDialog>
15 #include <QtGui/QLabel>
17 #include <vrvCore/DtKeyMap.h>
18 
19 class QAbstractButton;
20 class QActionGroup;
21 class QButtonGroup;
22 class QHBoxLayout;
23 class QLineEdit;
24 class QMenu;
25 class QPushButton;
26 class QRadioButton;
27 class QSplitter;
28 class QTreeWidget;
29 class QTreeWidgetItem;
30 class QVBoxLayout;
31 class QWidget;
32 class QListWidget;
33 class QFocusEvent;
34 
35 namespace makVrv
36 {
37 
38  class DtRequestKeyMapKeyDialog;
39  class DtRequestKeyValidationDialog;
40 
45  {
46 
47  Q_OBJECT
48 
49  public:
50 
52  DtKeyMappingEditorWidget( DtDe& de, QWidget* parent = 0,
53  Qt::WindowFlags flags = 0 );
54 
56  virtual ~DtKeyMappingEditorWidget();
57 
59  virtual void addKeyFunction(const std::string& name, const std::string& keyString);
60 
62  virtual void updateKeyFunction(const std::string& name, const std::string& keyString);
63 
64  virtual void addChildKeyFunction(const std::string& name, const std::string& parentName,
65  const std::string& keyString);
66 
68  virtual void deleteKeyFunction(const std::string& name);
69 
71  virtual void clearKeyFunctions();
72 
74  virtual void selectKeyFunction(const std::string& name);
75 
77  virtual void selectKeyMapping( const DtKeyMapping& keyMapping, bool isBinary );
78 
82  virtual void setEnableFilterEditor(bool filters);
83 
85  virtual void setFilters(const std::vector<std::pair<int,bool> >& filters);
86 
88  virtual void sortKeyFunctions();
89 
91  virtual void addKeyMapping( const DtKeyMapping& keyMapping,
92  bool suppressUpDown );
93 
95  virtual void removeKeyMapping( const DtKeyMapping& keyMapping );
96 
98  virtual void clearKeyMappings();
99 
101  virtual void setEnableAddMappingButton( bool enabled );
102 
104  virtual void setEnableRemoveMappingButton( bool enabled );
105 
107  virtual void setEnableEditMappingButton( bool enabled );
108 
110  virtual void requestInput( const std::string functionName,
111  const DtKeyMapping& keyMapping, bool isBinary );
112 
114  virtual void requestInput( const std::string functionName, bool isBinary );
115 
117  virtual void closeEditor();
118 
121  virtual std::string unmappedString();
122 
126  virtual void requestKeyValidation( const DtKeyMapping& keyMapping,
127  const std::string functionName, const DtKeyFunctionNameList& fnList, bool isEdit );
128 
130  virtual void disableEditor();
131 
133  virtual void enableEditor();
134 
136  virtual QWidget* widget();
137 
138  protected slots:
139 
141  virtual void onFunctionItemSelectionChanged();
142 
144  virtual void onEditItemSelectionChanged();
145 
147  virtual void onFilterGroupTriggered(QAction* action);
148 
150  virtual void onAddMappingClicked();
151 
153  virtual void onRemoveMappingClicked();
154 
156  virtual void onEditMappingClicked();
157 
158  protected:
159 
161  void slot_requestInputAccepted(const DtKeyMapping&, bool);
162  void slot_requestInputCanceled();
163 
165  void slot_requestKeyValidationAccepted( const DtKeyMapping& keyMapping,
166  const DtKeyFunctionNameList& fnList, bool isEdit, bool replace);
167 
168  QString selectedKeyFunctionName() const;
169  void functionCategoryToCategoryName( int category, QString& categoryName );
170  void setupGui();
171  QTreeWidgetItem* findItem( const std::string& key );
172  QTreeWidgetItem* findKeyMapping( const DtKeyMapping& mapping, bool isBinary );
173 
174  protected:
175 
177  std::string myKeyMapName;
178 
181  QActionGroup* myFilterGroup;
187 
189  QVBoxLayout* myFunctionLayout;
190  QVBoxLayout* myMappingEditorLayout;
192  QHBoxLayout* myButtonLayout;
198 
207 
208  };
209 
210 
215  { Q_OBJECT;
216  public:
217 
219  DtRequestKeyMapKeyDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool | Qt::SubWindow );
220 
222  virtual ~DtRequestKeyMapKeyDialog();
223 
225  virtual void keyPressEvent( QKeyEvent * event );
226 
228  virtual void closeEvent(QCloseEvent *event);
229 
231  void show( std::string functionName, bool isBinary );
232 
234  void show( std::string functionName, const DtKeyMapping& keyMapping,
235  bool isBinary );
236 
237  protected slots:
238 
240  void onOkClicked();
241 
243  void onCancelClicked();
244 
246  void onUpRadioButtonClicked();
247 
249  void onDownRadioButtonClicked();
250 
251  public:
252 
253  boost::signal<void ()> signal_requestInputCanceled;
254  boost::signal<void (const DtKeyMapping&, bool)> signal_requestInputAccepted;
255  boost::signal<void (const DtKeyMapping&,
257 
258  protected:
259 
260  void setupGui();
261  QString keyMappingToQString( const DtKeyMapping& keyMapping );
262 
263  protected:
264 
267  QButtonGroup* myUpDownButtonGroup;
268  QRadioButton* myUpRadioButton;
269  QRadioButton* myDownRadioButton;
270  QVBoxLayout* myUpDownLayout;
271  QHBoxLayout* myEntryLayout;
274  QHBoxLayout* myBottomButtonLayout;
275  QVBoxLayout* myDialogLayout;
276 
280 
283  bool myIsEdit;
284 
285  };
286 
287 
292  { Q_OBJECT;
293  public:
294 
296  DtRequestKeyValidationDialog( QWidget* parent = 0, Qt::WindowFlags flags = Qt::Tool | Qt::SubWindow );
297 
299  virtual ~DtRequestKeyValidationDialog();
300 
302  virtual void closeEvent( QCloseEvent *event );
303 
305  void show( const DtKeyMapping& keyMapping, const std::string functionName,
306  const DtKeyFunctionNameList& fnList, bool isEdit );
307 
308  protected slots:
309 
311  void onAddClicked();
312 
315  void onReplaceClicked();
316 
318  void onCancelClicked();
319 
320  public:
321 
322  boost::signal<void ()> signal_requestInputCanceled;
323  boost::signal<void (const DtKeyMapping&, bool)> signal_requestInputAccepted;
324  boost::signal<void (const DtKeyMapping&,
326 
327  protected:
328 
329  void setupGui();
330 
332  QString keyMappingToQString( const DtKeyMapping& keyMapping );
333 
334  protected:
335 
338  QListWidget* myFunctionNameList;
342  QHBoxLayout* myBottomButtonLayout;
343  QVBoxLayout* myMainLayout;
344 
348  bool myIsEdit;
349 
350  };
351 
352 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)