VR-Forces Development_Version 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 }
46 
49 {
50  Q_OBJECT
51 
52 public:
53 
55  DtVisualEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
56 
58  virtual ~DtVisualEditor();
59 
61 
62  virtual void setDiGuyData(const DtUiElementEvent&) {};
63 
64  virtual void enableVisualizer(bool);
65 
66  virtual bool isValid() const;
67 
68  const makVrv::DtVisualizerDefinitionSet* visualizerDefinitionSet() const
69  {
70  return myVisualizerDefinitionSet;
71  }
72 
73  const makVrv::DtVisualizerDefinition* visualizerDefinition() const
74  {
75  return myVisualizerDefinition;
76  }
77 
80 
81  virtual void setObjectType(const DtObjectType& t);
82 
83 signals:
84  void modified(bool);
85  void modelDefinitionModified();
86  void uiElementEvent(const DtUiElementEvent&);
87  void redisplayListIcons();
88  void diGuyDataChanged(const DtDiGuyInformation&);
89 
90 protected:
97  bool myModified;
100 };
101 
102 typedef DtVisualEditor* (*DtEditorCreatorFcn)(makVrv::DtDe&, QWidget*);
103 
105 {
106  Q_OBJECT
107 
108 public:
110  DtTacticalGraphicEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
111 
113  virtual ~DtTacticalGraphicEditor();
114 
115  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
117 
118 public slots:
119  virtual bool selectSchema();
120  virtual void selectTexture();
121  virtual void selectModelDefinition();
122 
123 protected:
124  virtual void setupForNewSchema(const std::string& schema);
125  virtual void replaceVisualizerDefinition(const makVrv::DtVisualizerDefinition* copy);
126 
127 public:
132 };
133 
135 {
136  Q_OBJECT
137 
138 public:
140  DtModelDefinitionEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
141 
143  virtual ~DtModelDefinitionEditor();
144 
145  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
147  virtual void setObjectType(const DtObjectType&);
148 
149 protected:
150  virtual void revertDiGuyInformation();
151  virtual void updateDiGuyInformation(Dt3DDefinitionSelectionDialog*, bool createModelDefinitionsIfMissing = false);
152 
153 protected slots:
154  virtual void select3DModelDefinition();
155  virtual void setModelValue(const makVrv::DtUnicode&, bool useDiGuy);
156  virtual void setModelValue(const std::vector<std::string>&, bool useDiGuy);
157 
158 public:
166 };
167 
169 {
170  Q_OBJECT
171 
172 public:
173  DtSymbolEditorDialog(makVrv::DtDe&, makVrv::DtDe& appDe, QWidget* parent, bool useMilStd);
174 
175  virtual ~DtSymbolEditorDialog();
176 
177  bool useMilStd() const;
178  makVrv::DtUnicode milStdFont() const;
179  makVrv::DtUnicode milStdFill() const;
180 
181  virtual void setup(makVrv::DtVisualizerAttributeFontGlyph* myMilStdAttribute,
183  bool forceEffectsGlyph);
184 
185  virtual makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap imageMapValues() const;
186 
187 protected:
188  virtual void setupMilStd();
189  virtual void setupImageSymbol();
190  virtual void addGlyphRange( unsigned int first,
191  unsigned int last, QFontMetrics &mets, QTreeWidget* widget, QFont font );
192 
193  virtual void initializeMilStdValues();
194  virtual void initializeImageSymbolValues();
195 
196 protected slots:
197  virtual void visualizerTypeChanged();
198  virtual void fontSelectionChanged();
199  virtual void fontEditChanged();
200  virtual void selectImageDefinition();
201  virtual void setImageValueForEditingForce(const std::string&);
202  virtual void checkForceEffectsGlyph();
203 
204 signals:
205  void fontChanged(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool, bool);
207  void modelDefinitionModified();
208 
209 protected:
212  QRadioButton* myUseMilStd;
220 
222  QRadioButton* myUseImage;
224 
225  std::map<int, QTreeWidgetItem*> myItemMap;
226 
232 };
233 
235 {
236  Q_OBJECT
237 
238 public:
239  Dt3DDefinitionSelectionDialog(makVrv::DtDe&, QWidget* parent, bool useDiGuy, bool canSelectDIGuy = true);
240 
242 
243  virtual bool useDiGuy() const;
244  virtual void setup(const makVrv::DtUnicode& modelDef, const DtDiGuyInformation& diGuyData);
245  DtString getCurrentCharacter() const;
246  DtString getCurrentAnimation() const;
247  DtString getCurrentAppearance() const;
248  bool useRandomAppearances() const;
249  void getRandomAppearances(DtRwNLengthStringVector*) const;
250  bool randomAppearancesChanged() const;
251  DtString getCurrentHandItem() const;
252  bool useRandomHandItems() const;
253  void getRandomHandItems(DtRwNLengthStringVector*) const;
254  bool randomHandItemsChanged() const;
255  bool getDiGuyEnabled() const;
256 
257  virtual void generateCharacterDefinitions(bool allPossible, bool setInModelDef = false);
258  virtual std::string appearanceFromModelDefinition(const std::string& modelDef) const;
259 
260 protected:
261  virtual void setupDiGuy();
262  virtual void setup3DModelDefinition();
263  virtual std::string diGuyModelDefinition(const DtString& character,
264  const DtString& appearance, bool createIfMissing = true);
265 
266 public slots:
267  virtual void visualizerTypeChanged();
268 
269 protected slots:
270  virtual void set3DModel(const std::string&);
271  virtual void diGuyCharacterChanged();
272  virtual void diGuyCharacterChangedFromDialog();
273  virtual void handItemChangedFromDialog();
274  virtual void generateAllPossible();
275 
276 signals:
277  void modelChanged(const makVrv::DtUnicode&, bool);
278  void modelListChanged(const std::vector<std::string>&, bool);
279  void modelDefinitionModified();
280  void uiElementEvent(const DtUiElementEvent&);
281  void diGuyDataChanged(const DtDiGuyInformation&);
282 
283 protected:
285  QRadioButton* myUseDiGuy;
286  QRadioButton* myUse3DModel;
291 };
292 
294 {
295  Q_OBJECT
296 
297 public:
299  DtSymbolEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
300 
302  virtual ~DtSymbolEditor();
303 
305 
306  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
307 
308  virtual void addMilStdDefinition();
309  virtual void addImageSymbolDefinition();
310  virtual void enableIconVisualizer(bool);
311 
312  virtual void setEnabled(bool b) { DtVisualEditor::setEnabled(b); };
313  virtual void setCenterIcon(bool);
314 
315 protected:
316  virtual void useMilStd();
317  virtual void useImageSymbol();
318 
319  virtual makVrv::DtElementDefinitionNew* findParent();
320  virtual void updateVisualizersEnabled(bool useMilStd);
321 
322  virtual void setEnabled(int, bool);
323 
324 protected slots:
325  virtual void editVisualizers();
326 
327  virtual void setMilStdValues(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool forceEffectsGlyph, bool noFill);
328  virtual void setImageSymbolValues(const makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap&);
329 
330 public:
333 
334 protected:
338 
341 
344 };
345 
347 {
348  Q_OBJECT
349 
350 public:
351  DtModelDefinitionSelectionDialog(makVrv::DtDe& myDe, QWidget* parent, bool is2D = false, bool addButtons = true);
352 
354  virtual void setDisplayDefinitionWidget(DtDisplayDefinitionWidget* d) { myDisplayDefinitionWidget = d; };
355 
356  virtual void setDefault(const QString&);
357 
358  virtual std::string selectedInstance() const;
359  virtual void selectFilter( const std::string& filter );
360 
362  {
363  return myModelDefinitions;
364  }
365 
366  virtual void setDefinitionFilter( const std::string& filter );
367 
368 protected:
369  virtual void createModelDefinition(const std::string& definitionName, const std::string& schema );
370  virtual void setupInstances();
371  virtual void setupFilters();
372  virtual void definitionSelected(const std::string& s);
373 
374 signals:
375  void modelChanged(const std::string&);
376  void modelDefinitionModified();
377 
378 protected:
382  std::string myFilter;
383  bool myIs2D;
384  QString myCurValue;
385 };

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)