VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
visualEditors.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2014 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 #pragma once
9 
10 #include <vrvUtil/signalslib.h>
15 
16 #include <QWidget>
17 #include <QDialog>
18 
19 class QComboBox;
20 class QLabel;
21 class QPushButton;
22 class QTreeWidget;
23 class QFontMetrics;
24 class QLineEdit;
25 class QTreeWidgetItem;
26 class QRadioButton;
27 class QString;
28 class QCheckBox;
34 
35 namespace makVrv
36 {
37  class DtDe;
38  class DtElementDefinitionNew;
39  class DtVisualizerDefinition;
40  class DtVisualizerDefinitionSet;
41  class DtModelDefinitionComboBox;
42  class DtDeselectableTreeWidget;
43  class DtUnicode;
44  class DtModelDefinitionInstanceEditorWidget;
45  class DtModelDefinitionManager;
46 }
47 
50 {
51  Q_OBJECT
52 
53 public:
54 
56  DtVisualEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
57 
59  virtual ~DtVisualEditor();
60 
62 
63  virtual void setDiGuyData(const DtUiElementEvent&) {};
64 
65  virtual void enableVisualizer(bool);
66 
67  virtual bool isValid() const;
68 
69  const makVrv::DtVisualizerDefinitionSet* visualizerDefinitionSet() const
70  {
71  return myVisualizerDefinitionSet;
72  }
73 
74  const makVrv::DtVisualizerDefinition* visualizerDefinition() const
75  {
76  return myVisualizerDefinition;
77  }
78 
81 
82  virtual void setObjectType(const DtObjectType& t);
83 
84  virtual void setShowingSpotReports(bool b) { myShowingSpotReports = b; };
85 
86  virtual void reditVisualizers() {};
87 
88 signals:
89  void modified(bool);
90  void modelDefinitionModified();
91  void uiElementEvent(const DtUiElementEvent&);
92  void redisplayListIcons();
93  void diGuyDataChanged(const DtDiGuyInformation&);
94 
95 protected:
106 };
107 
108 typedef DtVisualEditor* (*DtEditorCreatorFcn)(makVrv::DtDe&, QWidget*);
109 
111 {
112  Q_OBJECT
113 
114 public:
116  DtTacticalGraphicEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
117 
119  virtual ~DtTacticalGraphicEditor();
120 
121  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
123 
124 public slots:
125  virtual bool selectSchema();
126  virtual void selectTexture();
127  virtual void selectModelDefinition();
128 
129 protected:
130  virtual void setupForNewSchema(const std::string& schema);
131  virtual void replaceVisualizerDefinition(const makVrv::DtVisualizerDefinition* copy);
132 
133 public:
138 };
139 
141 {
142  Q_OBJECT
143 
144 public:
146  DtModelDefinitionEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
147 
149  virtual ~DtModelDefinitionEditor();
150 
151  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
153  virtual void setObjectType(const DtObjectType&);
154 
155  virtual void reditVisualizers();
156 
157 protected:
158  virtual void revertDiGuyInformation();
159  virtual void updateDiGuyInformation(Dt3DDefinitionSelectionDialog*, bool createModelDefinitionsIfMissing = false);
160 
161 protected slots:
162  virtual void select3DModelDefinition();
163  virtual void setModelValue(const makVrv::DtUnicode&, bool useDiGuy);
164  virtual void setModelValue(const std::vector<std::string>&, bool useDiGuy);
165  virtual void diGuyDataChangedSlot(const DtDiGuyInformation& diGuyData);
166 
167 public:
175 };
176 
178 {
179  Q_OBJECT
180 
181 public:
182  DtSymbolEditorDialog(makVrv::DtDe&, makVrv::DtDe& appDe, QWidget* parent, const DtObjectType& o, bool useMilStd);
183 
184  virtual ~DtSymbolEditorDialog();
185 
186  bool useMilStd() const;
187  makVrv::DtUnicode milStdFont() const;
188  makVrv::DtUnicode milStdFill() const;
189 
190  virtual void setup(makVrv::DtVisualizerAttributeFontGlyph* myMilStdAttribute,
192  bool forceEffectsGlyph);
193 
194  virtual makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap imageMapValues() const;
195 
196 protected:
197  virtual void setupMilStd();
198  virtual void setupImageSymbol();
199  virtual void addGlyphRange( unsigned int first,
200  unsigned int last, QFontMetrics &mets, QTreeWidget* widget, QFont font );
201 
202  virtual void initializeMilStdValues();
203  virtual void initializeImageSymbolValues();
204 
205 protected slots:
206  virtual void visualizerTypeChanged();
207  virtual void fontSelectionChanged();
208  virtual void fontEditChanged();
209  virtual void selectImageDefinition();
210  virtual void setImageValueForEditingForce(const std::string&);
211  virtual void checkForceEffectsGlyph();
212 
213 signals:
214  void fontChanged(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool, bool);
216  void modelDefinitionModified();
217 
218 public:
221  QRadioButton* myUseMilStd;
229 
231  QRadioButton* myUseImage;
233 
234 protected:
235  std::map<int, QTreeWidgetItem*> myItemMap;
236 
243 };
244 
246 {
247  Q_OBJECT
248 
249 public:
250  Dt3DDefinitionSelectionDialog(makVrv::DtDe&, makVrv::DtDe&, QWidget* parent, const DtObjectType& o, bool useDiGuy, bool canSelectDIGuy = true);
251 
253 
254  virtual bool useDiGuy() const;
255  virtual void setup(const makVrv::DtUnicode& modelDef, const DtDiGuyInformation& diGuyData);
256  DtString getCurrentCharacter() const;
257  DtString getCurrentAnimation() const;
258  DtString getCurrentAppearance() const;
259  bool useRandomAppearances() const;
260  void getRandomAppearances(DtRwNLengthStringVector*) const;
261  bool randomAppearancesChanged() const;
262  DtString getCurrentHandItem() const;
263  bool useRandomHandItems() const;
264  void getRandomHandItems(DtRwNLengthStringVector*) const;
265  bool randomHandItemsChanged() const;
266  DtString getCurrentHead() const;
267  bool useRandomHeads() const;
268  void getRandomHeads(DtRwNLengthStringVector*) const;
269  bool randomHeadsChanged() const;
270  bool getDiGuyEnabled() const;
271 
272  virtual void generateCharacterDefinitions(bool allPossible, bool setInModelDef = false);
273  virtual std::string appearanceFromModelDefinition(const std::string& modelDef) const;
274 
275 protected:
276  virtual void setupDiGuy();
277  virtual void setup3DModelDefinition();
278  virtual std::string diGuyModelDefinition(const DtString& character,
279  const DtString& appearance, bool createIfMissing = true);
280 
281 public slots:
282  virtual void visualizerTypeChanged();
283 
284 protected slots:
285  virtual void set3DModel(const std::string&);
286  virtual void diGuyCharacterChanged();
287  virtual void diGuyCharacterChangedFromDialog();
288  virtual void diGuyAppearanceChangedFromDialog();
289  virtual void handItemChangedFromDialog();
290  virtual void headChangedFromDialog();
291  virtual void generateAllPossible();
292 
293 signals:
294  void modelChanged(const makVrv::DtUnicode&, bool);
295  void modelListChanged(const std::vector<std::string>&, bool);
296  void modelDefinitionModified();
297  void uiElementEvent(const DtUiElementEvent&);
298  void diGuyDataChanged(const DtDiGuyInformation&);
299 
300 protected:
302  QRadioButton* myUseDiGuy;
303  QRadioButton* myUse3DModel;
310 };
311 
313 {
314  Q_OBJECT
315 
316 public:
318  DtSymbolEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
319 
321  virtual ~DtSymbolEditor();
322 
324 
325  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
326 
327  virtual void addMilStdDefinition();
328  virtual void addImageSymbolDefinition();
329  virtual void enableIconVisualizer(bool);
330 
331  virtual void setEnabled(bool b) { DtVisualEditor::setEnabled(b); };
332  virtual void setCenterIcon(bool);
333 
334 protected:
335  virtual void useMilStd();
336  virtual void useImageSymbol();
337 
338  virtual makVrv::DtElementDefinitionNew* findParent();
339  virtual void updateVisualizersEnabled(bool useMilStd);
340 
341  virtual void setEnabled(int, bool);
342  virtual void reditVisualizers();
343 
344 protected slots:
345  virtual void editVisualizers();
346 
347  virtual void setMilStdValues(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool forceEffectsGlyph, bool noFill);
348  virtual void setImageSymbolValues(const makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap&);
349 
350 public:
353 
354 protected:
358 
361 
364 };
365 
367 {
368  Q_OBJECT
369 
370 public:
371  DtModelDefinitionSelectionDialog(makVrv::DtDe& myDe, makVrv::DtDe& appDe, QWidget* parent, const DtObjectType& o, bool is2D = false, bool addButtons = true);
372 
374  virtual void setDisplayDefinitionWidget(DtDisplayDefinitionWidget* d) { myDisplayDefinitionWidget = d; };
375 
376  virtual void setDefault(const QString&);
377 
378  virtual std::string selectedInstance() const;
379  virtual void selectFilter( const std::string& filter );
380 
381  void setModelDefinitionManager(makVrv::DtModelDefinitionManager* m) { myModelDefinitionManager = m; };
382 
384  {
385  return myModelDefinitions;
386  }
387 
388  virtual void setDefinitionFilter( const std::string& filter );
389 
390 protected:
391  virtual void createModelDefinition(const std::string& definitionName, const std::string& schema );
392  virtual void setupInstances();
393  virtual void setupFilters();
394  virtual void definitionSelected(const std::string& s);
395 
396 signals:
397  void modelChanged(const std::string&);
398  void modelDefinitionModified();
399 
400 protected:
406  std::string myFilter;
407  bool myIs2D;
408  QString myCurValue;
410 };

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)