VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 finalizeModelChange();
92  void uiElementEvent(const DtUiElementEvent&);
93  void redisplayListIcons();
94  void diGuyDataChanged(const DtDiGuyInformation&);
95 
96 protected:
107 };
108 
109 typedef DtVisualEditor* (*DtEditorCreatorFcn)(makVrv::DtDe&, QWidget*);
110 
112 {
113  Q_OBJECT
114 
115 public:
117  DtTacticalGraphicEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
118 
120  virtual ~DtTacticalGraphicEditor();
121 
122  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
124 
125 public slots:
126  virtual bool selectSchema();
127  virtual void selectTexture();
128  virtual void selectModelDefinition();
129 
130 protected:
131  virtual void setupForNewSchema(const std::string& schema);
132  virtual void replaceVisualizerDefinition(const makVrv::DtVisualizerDefinition* copy);
133 
134 public:
139 };
140 
142 {
143  Q_OBJECT
144 
145 public:
147  DtModelDefinitionEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
148 
150  virtual ~DtModelDefinitionEditor();
151 
152  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
154  virtual void setObjectType(const DtObjectType&);
155 
156  virtual void reditVisualizers();
157 
158 protected:
159  virtual void revertDiGuyInformation();
160  virtual void updateDiGuyInformation(Dt3DDefinitionSelectionDialog*, bool createModelDefinitionsIfMissing = false);
161 
162 protected slots:
163  virtual void select3DModelDefinition();
164  virtual void setModelValue(const makVrv::DtUnicode&, bool useDiGuy);
165  virtual void setModelValue(const std::vector<std::string>&, bool useDiGuy);
166  virtual void diGuyDataChangedSlot(const DtDiGuyInformation& diGuyData);
167 
168 public:
176 };
177 
179 {
180  Q_OBJECT
181 
182 public:
183  DtSymbolEditorDialog(makVrv::DtDe&, makVrv::DtDe& appDe, QWidget* parent, const DtObjectType& o, bool useMilStd);
184 
185  virtual ~DtSymbolEditorDialog();
186 
187  bool useMilStd() const;
188  makVrv::DtUnicode milStdFont() const;
189  makVrv::DtUnicode milStdFill() const;
190 
191  virtual void setup(makVrv::DtVisualizerAttributeFontGlyph* myMilStdAttribute,
193  bool forceEffectsGlyph);
194 
195  virtual makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap imageMapValues() const;
196 
197 protected:
198  virtual void setupMilStd();
199  virtual void setupImageSymbol();
200  virtual void addGlyphRange( unsigned int first,
201  unsigned int last, QFontMetrics &mets, QTreeWidget* widget, QFont font );
202 
203  virtual void initializeMilStdValues();
204  virtual void initializeImageSymbolValues();
205 
206 protected slots:
207  virtual void visualizerTypeChanged();
208  virtual void fontSelectionChanged();
209  virtual void fontEditChanged();
210  virtual void selectImageDefinition();
211  virtual void setImageValueForEditingForce(const std::string&);
212  virtual void checkForceEffectsGlyph();
213 
214 signals:
215  void fontChanged(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool, bool);
217  void modelDefinitionModified();
218 
219 public:
221  QWidget* myMilStd;
222  QRadioButton* myUseMilStd;
230 
231  QWidget* myImageSymbol;
232  QRadioButton* myUseImage;
234 
235 protected:
236  std::map<int, QTreeWidgetItem*> myItemMap;
237 
244 };
245 
247 {
248  Q_OBJECT
249 
250 public:
252  const DtObjectType& o, bool useDiGuy, bool canSelectDIGuy = true);
253 
255 
256  virtual bool useDiGuy() const;
257  virtual void setup(const makVrv::DtUnicode& modelDef, const DtDiGuyInformation& diGuyData);
258  DtString getCurrentCharacter() const;
259  DtString getCurrentAnimation() const;
260  DtString getCurrentAppearance() const;
261  bool useRandomAppearances() const;
262  void getRandomAppearances(DtRwNLengthStringVector*) const;
263  bool randomAppearancesChanged() const;
264  DtString getCurrentHandItem() const;
265  bool useRandomHandItems() const;
266  void getRandomHandItems(DtRwNLengthStringVector*) const;
267  bool randomHandItemsChanged() const;
268  DtString getCurrentHead() const;
269  bool useRandomHeads() const;
270  void getRandomHeads(DtRwNLengthStringVector*) const;
271  bool randomHeadsChanged() const;
272  bool getDiGuyEnabled() const;
273 
274  virtual void generateCharacterDefinitions(bool allPossible, bool setInModelDef = false);
275  virtual std::string appearanceFromModelDefinition(const std::string& modelDef) const;
276 
277 protected:
278  virtual void setupDiGuy();
279  virtual void setup3DModelDefinition();
280  virtual std::string diGuyModelDefinition(const DtString& character,
281  const DtString& appearance, bool createIfMissing = true);
282 
283 public slots:
284  virtual void visualizerTypeChanged();
285 
286 protected slots:
287  virtual void set3DModel(const std::string&);
288  virtual void diGuyCharacterChanged();
289  virtual void diGuyCharacterChangedFromDialog();
290  virtual void diGuyAppearanceChangedFromDialog();
291  virtual void handItemChangedFromDialog();
292  virtual void headChangedFromDialog();
293  virtual void generateAllPossible();
294 
295 signals:
296  void modelChanged(const makVrv::DtUnicode&, bool);
297  void modelListChanged(const std::vector<std::string>&, bool);
298  void modelDefinitionModified();
299  void uiElementEvent(const DtUiElementEvent&);
300  void diGuyDataChanged(const DtDiGuyInformation&);
301  void finalizeModelChange();
302 
303 protected:
305  QRadioButton* myUseDiGuy;
306  QRadioButton* myUse3DModel;
314 };
315 
317 {
318  Q_OBJECT
319 
320 public:
322  DtSymbolEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
323 
325  virtual ~DtSymbolEditor();
326 
328 
329  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
330 
331  virtual void addMilStdDefinition();
332  virtual void addImageSymbolDefinition();
333  virtual void enableIconVisualizer(bool);
334 
335  virtual void setEnabled(bool b) { DtVisualEditor::setEnabled(b); };
336  virtual void setCenterIcon(bool);
337 
338 protected:
339  virtual void useMilStd();
340  virtual void useImageSymbol();
341 
342  virtual makVrv::DtElementDefinitionNew* findParent();
343  virtual void updateVisualizersEnabled(bool useMilStd);
344 
345  virtual void setEnabled(int, bool);
346  virtual void reditVisualizers();
347 
348 protected slots:
349  virtual void editVisualizers();
350 
351  virtual void setMilStdValues(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool forceEffectsGlyph, bool noFill);
352  virtual void setImageSymbolValues(const makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap&);
353 
354 public:
357 
358 protected:
362 
365 
368 };
369 
371 {
372  Q_OBJECT
373 
374 public:
375  DtModelDefinitionSelectionDialog(makVrv::DtDe& myDe, makVrv::DtDe& appDe, QWidget* parent, const DtObjectType& o, bool is2D = false, bool addButtons = true);
376 
378  virtual void setDisplayDefinitionWidget(DtDisplayDefinitionWidget* d) { myDisplayDefinitionWidget = d; };
379 
380  virtual void setDefault(const QString&);
381 
382  virtual std::string selectedInstance() const;
383  virtual void selectFilter( const std::string& filter );
384 
385  void setModelDefinitionManager(makVrv::DtModelDefinitionManager* m) { myModelDefinitionManager = m; };
386 
388  {
389  return myModelDefinitions;
390  }
391 
392  virtual void setDefinitionFilter( const std::string& filter );
393 
394 protected:
395  virtual void createModelDefinition(const std::string& definitionName, const std::string& schema );
396  virtual void setupInstances();
397  virtual void setupFilters();
398  virtual void definitionSelected(const std::string& s);
399 
400 signals:
401  void modelChanged(const std::string&);
402  void modelDefinitionModified();
403 
404 protected:
410  std::string myFilter;
411  bool myIs2D;
412  QString myCurValue;
414 };

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)