VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVisualizerAttributeEditor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 #include <vrvCoreQt/vrvCoreQt.h>
14 #include <vrvUtil/DtUnicode.h>
15 #include <QtWidgets/QWidget>
16 #include <QtWidgets/QDialog>
17 #include <QtCore/QMap>
18 
19 class QColorDialog;
20 class QComboBox;
21 class QLabel;
22 class QDoubleSpinBox;
23 class QLineEdit;
24 class QPushButton;
25 class QString;
26 class QStringList;
27 class QTreeWidget;
28 class QTreeWidgetItem;
29 class QHBoxLayout;
30 
31 namespace makVrv
32 {
33  class DtDe;
34  class DtVisualizerDefinition;
35  class DtModelDefinitionComboBox;
36 
39  {
40  Q_OBJECT
41 
42  public:
43 
46 
48  void setupGui();
49 
51  void createItemForWidget(QWidget * widget );
52 
54  QWidget* findWidgetForItem(QTreeWidgetItem* item) const;
55 
57  const QTreeWidget* treeWidget() const;
58 
60  boost::signal<void (QTreeWidget*)> signal_addInstance;
61 
62  protected:
63 
67  virtual void updateRemoveButtons();
68 
69  protected slots:
70 
71  virtual void addInstance();
72  virtual void removeInstance();
73 
74  protected:
78  };
79 
84  {
85  public:
87 
88  virtual void setAttribute( const DtVisualizerDefinition* visDef,
89  DtVisualizerAttribute* visAttr) = 0;
90 
92  boost::signal<void (const DtUnicode& original)> signal_attributeValueChanged;
93 
95  boost::signal<void ()> signal_cancel;
96 
97  boost::signal<void (DtVisualizerAttributeEditorInterface*)> signal_destroyed;
98  };
99 
100 
105  {
106  Q_OBJECT
107 
108  public:
109 
110  struct TypeInfo
111  {
113  : editsAttributeName()
114  , editsAttributeType("")
115  {
116  }
117 
118  TypeInfo(const std::string& str,
120  : editsAttributeName(str)
121  , editsAttributeType(info)
122  {
123  }
124 
125  std::string editsAttributeName;
127  };
128 
130  DtVisualizerAttributeEditor(DtDe& de, QWidget* parent);
131 
133  virtual ~DtVisualizerAttributeEditor();
134 
136  virtual void setType(
138 
139  virtual void setAttribute(
140  const DtVisualizerDefinition* visDef,
141  DtVisualizerAttribute* visAttr);
142 
144  virtual bool commited() const;
145 
147  virtual bool canceled() const;
148 
149  virtual const TypeInfo& typeInfo() const = 0;
150 
151  public slots:
152 
153  virtual void commitValue();
154 
155  virtual void cancelValue();
156 
158  virtual void onPopup();
159 
160  protected:
161 
163  virtual void addCancelButton();
164 
165  protected:
173  };
174 
178  {
179  public:
182  editorTypeInfo() const = 0;
183 
185  virtual DtVisualizerAttributeEditor* create(DtDe& de, QWidget* parent) = 0;
186 
189  };
190 
194  template <typename Editor>
197  {
198  public:
199 
202  {
203  return Editor::theTypeInfo();
204  }
205 
206  virtual DtVisualizerAttributeEditor* create(DtDe& de, QWidget* parent)
207  {
208  return new Editor(de,parent);
209  }
210  };
211 
217  {
218  Q_OBJECT
219 
220  public:
221 
222  DtVisualizerAttributeComboEditor(DtDe& de, QWidget* parent);
223 
224  virtual void setAttribute( const DtVisualizerDefinition* visDef,
225  DtVisualizerAttribute* visAttr);
226 
228  virtual void commitValue();
229 
230  protected:
231 
234  virtual void setCurrentIndex(int index);
235 
237  virtual void getValues(QStringList& values) = 0;
238 
240  virtual void commitValue(int currentIndex, const QString& value) = 0;
241 
242  protected:
244  };
245 
250  {
251  Q_OBJECT
252  public:
253 
254  DtVisualizerAttributeBoolEditor(DtDe& de, QWidget* parent);
255 
256  virtual void setAttribute( const DtVisualizerDefinition* visDef,
257  DtVisualizerAttribute* visAttr);
258 
260  virtual const TypeInfo& typeInfo() const;
261 
263  static const TypeInfo& theTypeInfo();
264 
265  protected:
266  virtual void commitValue(int index,const QString& value);
267  virtual void getValues(QStringList& values);
268  };
269 
273 
278  {
279  Q_OBJECT
280 
281  public:
282 
283  DtDefaultVisualizerAttributeEditor(DtDe& de, QWidget* parent);
284 
285  virtual void setAttribute( const DtVisualizerDefinition* visDef,
286  DtVisualizerAttribute* visAttr);
287 
288  virtual void commitValue();
289 
291  virtual const TypeInfo& typeInfo() const;
292 
294  static const TypeInfo& theTypeInfo();
295 
296  protected:
297 
299  };
300 
305  {
306  Q_OBJECT
307 
308  public:
309 
310  DtVisualizerAttributeStringEditor(DtDe& de, QWidget* parent);
311 
312  virtual void setAttribute( const DtVisualizerDefinition* visDef,
313  DtVisualizerAttribute* visAttr);
314 
315  virtual void commitValue();
316 
318  virtual const TypeInfo& typeInfo() const;
319 
321  static const TypeInfo& theTypeInfo();
322 
323  protected:
324 
326  };
327 
332 
333 
338  {
339  Q_OBJECT
340 
341  public:
342 
343  DtVisualizerAttributeFloatEditor(DtDe& de, QWidget* parent);
344 
345  virtual void setAttribute( const DtVisualizerDefinition* visDef,
346  DtVisualizerAttribute* visAttr);
347 
349  virtual void commitValue();
350 
352  virtual const TypeInfo& typeInfo() const;
353 
355  static const TypeInfo& theTypeInfo();
356 
357  protected:
358 
359  QDoubleSpinBox* myEdit;
360  };
361 
365 
370  {
371  Q_OBJECT
372 
373  public:
374 
376  DtVisualizerAttributeFilenameEditor(DtDe& de, QWidget* parent);
377 
379  virtual void setAttribute( const DtVisualizerDefinition* visDef,
380  DtVisualizerAttribute* visAttr);
381 
383  virtual void commitValue();
384 
386  virtual const TypeInfo& typeInfo() const;
387 
389  static const TypeInfo& theTypeInfo();
390 
391  protected:
392 
394  virtual void onPopup();
395 
396  protected:
399  };
400 
405 
410  {
411  Q_OBJECT
412 
413  public:
414 
415  DtVisualizerAttributeTypeEditor(DtDe& de, QWidget* parent);
416 
417  virtual void setAttribute( const DtVisualizerDefinition* visDef,
418  DtVisualizerAttribute* visAttr);
419 
421  virtual const TypeInfo& typeInfo() const;
422 
424  static const TypeInfo& theTypeInfo();
425 
426  protected:
427  virtual void commitValue(int index,const QString& value);
428  virtual void getValues(QStringList& values);
429 
430  typedef QMap<QString,std::string> TextNameMap;
432  };
433 
438 
439 
444  {
445  Q_OBJECT
446 
447  public:
448 
451 
453  virtual void setAttribute( const DtVisualizerDefinition* visDef,
454  DtVisualizerAttribute* visAttr);
455 
457  virtual void commitValue();
458 
460  virtual const TypeInfo& typeInfo() const;
461 
463  static const TypeInfo& theTypeInfo();
464 
465  protected:
466 
467  void addInstance(QTreeWidget* parent);
468  void addItem(const QString& name);
469 
470  protected:
472 
473  };
474 
479 
480 
485  {
486  Q_OBJECT
487 
488  public:
489 
491  DtVisualizerAttributeModelDefinitionEditor(DtDe& de, QWidget* parent);
492 
494  virtual void setAttribute( const DtVisualizerDefinition* visDef,
495  DtVisualizerAttribute* visAttr);
496 
498  virtual void commitValue();
499 
501  virtual const TypeInfo& typeInfo() const;
502 
504  static const TypeInfo& theTypeInfo();
505 
506  protected:
507 
508  void addInstance(QTreeWidget* parent);
509  void addItem(const QString& name);
510 
511  protected:
514  };
515 
520 
521 
526  {
527  Q_OBJECT
528 
529  public:
530 
532  DtVisualizerAttributeStringVectorEditor(DtDe& de, QWidget* parent);
533 
535  virtual void setAttribute( const DtVisualizerDefinition* visDef,
536  DtVisualizerAttribute* visAttr);
537 
539  virtual void commitValue();
540 
542  virtual const TypeInfo& typeInfo() const;
543 
545  static const TypeInfo& theTypeInfo();
546 
547  protected:
548 
549  void addInstance(QTreeWidget* parent);
550  void addItem(const QString& name);
551 
552  protected:
554  };
555 
560 
563  {
564  Q_OBJECT
565 
566  public:
568  DtVisualizerAttributeFontGlyphEditor(DtDe& de, QWidget* parent);
569 
571  virtual void setAttribute( const DtVisualizerDefinition* visDef,
572  DtVisualizerAttribute* visAttr);
573 
575  virtual void commitValue();
576 
578  virtual const TypeInfo& typeInfo() const;
579 
581  static const TypeInfo& theTypeInfo();
582 
583  protected:
584 
586  void setupEditorValues();
587 
590  void addGlyphRange( unsigned int first, unsigned int last,
591  QFontMetrics &mets, QTreeWidget* widget, const QFont& font );
592 
593  protected slots:
594  virtual void fontSelectionChanged(const QString&);
595  virtual void itemSelectionChanged();
596 
597  public:
598 
601 
603  QHBoxLayout* myFontSelectionLayout;
606  };
607 
612 
615  {
616  Q_OBJECT
617 
618  public:
620  DtVisualizerAttributeColorEditor(DtDe& de, QWidget* parent);
621 
623  virtual void setAttribute( const DtVisualizerDefinition* visDef,
624  DtVisualizerAttribute* visAttr);
625 
627  virtual void commitValue();
628 
630  virtual const TypeInfo& typeInfo() const;
631 
633  static const TypeInfo& theTypeInfo();
634 
635  protected:
636 
638  QColorDialog* myEditor;
639  };
640 
641 
646 
651  {
652  Q_OBJECT
653 
654  public:
655 
658 
660  virtual void setAttribute( const DtVisualizerDefinition* visDef,
661  DtVisualizerAttribute* visAttr);
662 
664  virtual void commitValue();
665 
667  virtual const TypeInfo& typeInfo() const;
668 
670  static const TypeInfo& theTypeInfo();
671 
672  protected:
675  };
676 
681 
683  {
684  Q_OBJECT
685 
686  public:
687 
690 
692  void setupGui();
693 
695  QWidget* findWidgetForItem(QTreeWidgetItem* item) const;
696  QComboBox* findComboForItem(QTreeWidgetItem* item) const;
697  int findKeyForItem(QTreeWidgetItem* item) const;
698 
700  const QTreeWidget* treeWidget() const;
701 
703  boost::signal<void (QTreeWidget*)> signal_addInstance;
704 
705  virtual void createItemForWidget(QWidget* widget,int key = -1);
706 
707  virtual void setDefaultComboValues(const std::vector<QString>&);
708 
709  protected slots:
710 
711  virtual void addInstance();
712  virtual void removeInstance();
713 
714  protected:
715  virtual void addToComboBoxes(int);
716 
717  protected:
721  QVector<int> myPossibleValues;
722  std::vector<QString> myDefaultValues;
723  };
724 
729  {
730  Q_OBJECT
731 
732  public:
733 
735  DtVisualizerAttributeSymbolSelectorEditor(DtDe& de, QWidget* parent);
736 
738  virtual void setAttribute( const DtVisualizerDefinition* visDef,
739  DtVisualizerAttribute* visAttr);
740 
742  virtual void commitValue();
743 
745  virtual const TypeInfo& typeInfo() const;
746 
748  static const TypeInfo& theTypeInfo();
749 
750  boost::signal<void (DtVisualizerAttributeSymbolSelectorDialog*)> signal_dialogCreated;
751  boost::signal<void (DtVisualizerAttributeSymbolSelectorDialog*)> signal_dialogAboutToBeDestroyed;
752 
753  protected:
754  virtual void addInstance(QTreeWidget*);
755  virtual void addItem(int, const QString& def);
756  virtual DtModelDefinitionComboBox* createBox() const;
757  virtual std::vector<QString> defaultComboValues() const;
758 
759  protected:
762  };
763 
768 
769 }

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)