VR-Forces 4.2 Class Documentation
visualEditors.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2013 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 #pragma once
9 
10 #include <vrvUtil/signalslib.h>
14 #include <vrvCore/DtVisualizerAttribute.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;
33 
34 namespace makVrv
35 {
36  class DtDe;
37  class DtElementDefinitionNew;
38  class DtVisualizerDefinition;
39  class DtVisualizerDefinitionSet;
40  class DtModelDefinitionComboBox;
41  class DtDeselectableTreeWidget;
42  class DtUnicode;
43  class DtModelDefinitionInstanceEditorWidget;
44 }
45 
48 {
49  Q_OBJECT
50 
51 public:
52 
54  DtVisualEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
55 
57  virtual ~DtVisualEditor();
58 
59  virtual void setup(makVrv::DtElementDefinitionNew*, const makVrv::DtVisualizerDefinition*, const makVrv::DtVisualizerDefinitionSet*, int m);
60 
61  virtual void setDiGuyData(const DtUiElementEvent&) {};
62 
63  virtual void enableVisualizer(bool);
64 
65  virtual bool isValid() const;
66 
67  const makVrv::DtVisualizerDefinitionSet* visualizerDefinitionSet() const
68  {
69  return myVisualizerDefinitionSet;
70  }
71 
72  const makVrv::DtVisualizerDefinition* visualizerDefinition() const
73  {
74  return myVisualizerDefinition;
75  }
76 
79 
80  virtual void setObjectType(const DtObjectType& t);
81 
82 signals:
83  void modified();
84  void modelDefinitionModified();
85  void uiElementEvent(const DtUiElementEvent&);
86  void redisplayListIcons();
87  void diGuyDataChanged(const DtDIGuyInformation&);
88 
89 protected:
90  makVrv::DtDe& myDe;
91  makVrv::DtDe& myAppDe;
92  makVrv::DtElementDefinitionNew* myElementDefinition;
93  const makVrv::DtVisualizerDefinition* myVisualizerDefinition;
94  const makVrv::DtVisualizerDefinitionSet* myVisualizerDefinitionSet;
96  bool myModified;
98  DtObjectType myObjectType;
99 };
100 
101 typedef DtVisualEditor* (*DtEditorCreatorFcn)(makVrv::DtDe&, QWidget*);
102 
104 {
105  Q_OBJECT
106 
107 public:
109  DtTacticalGraphicEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
110 
112  virtual ~DtTacticalGraphicEditor();
113 
114  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
115  virtual void setup(makVrv::DtElementDefinitionNew*, const makVrv::DtVisualizerDefinition*, const makVrv::DtVisualizerDefinitionSet*, int m);
116 
117 public slots:
118  virtual void selectSchema();
119  virtual void selectTexture();
120  virtual void selectModelDefinition();
121 
122 protected:
123  virtual void setupForNewSchema(const std::string& schema);
124  virtual void replaceVisualizerDefinition(const makVrv::DtVisualizerDefinition* copy);
125 
126 public:
127  QLabel* mySchema;
130  QLabel* myTexture;
131 };
132 
134 {
135  Q_OBJECT
136 
137 public:
139  DtModelDefinitionEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
140 
142  virtual ~DtModelDefinitionEditor();
143 
144  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
145  virtual void setup(makVrv::DtElementDefinitionNew*, const makVrv::DtVisualizerDefinition*, const makVrv::DtVisualizerDefinitionSet*, int m);
146  virtual void setObjectType(const DtObjectType&);
147 
148 protected slots:
149  virtual void select3DModelDefinition();
150  virtual void setModelValue(const makVrv::DtUnicode&, bool useDiGuy);
151  virtual void setModelValue(const std::vector<std::string>&, bool useDiGuy);
152 
153 public:
154  QLabel* myLabel;
158 };
159 
161 {
162  Q_OBJECT
163 
164 public:
165  DtSymbolEditorDialog(makVrv::DtDe&, makVrv::DtDe& appDe, QWidget* parent, bool useMilStd);
166 
167  virtual ~DtSymbolEditorDialog();
168 
169  bool useMilStd() const;
170  makVrv::DtUnicode milStdFont() const;
171  makVrv::DtUnicode milStdFill() const;
172 
173  virtual void setup(makVrv::DtVisualizerAttributeFontGlyph* myMilStdAttribute,
174  makVrv::DtVisualizerAttributeFontGlyph* myMilStdFill, makVrv::DtVisualAttributeSymbolSelector* myImageSymbolAttribute);
175 
176  virtual makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap imageMapValues() const;
177 
178 protected:
179  virtual void setupMilStd();
180  virtual void setupImageSymbol();
181  virtual void addGlyphRange( unsigned int first,
182  unsigned int last, QFontMetrics &mets, QTreeWidget* widget, QFont font );
183 
184  virtual void initializeMilStdValues();
185  virtual void initializeImageSymbolValues();
186 
187 protected slots:
188  virtual void visualizerTypeChanged();
189  virtual void fontSelectionChanged();
190  virtual void fontEditChanged();
191  virtual void selectImageDefinition();
192  virtual void setImageValueForEditingForce(const std::string&);
193 
194 signals:
195  void fontChanged(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool);
196  void imageChanged(const makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap&);
197  void modelDefinitionModified();
198 
199 protected:
202  QRadioButton* myUseMilStd;
205  QLabel* myFontLabel;
207  QLabel* myFillLabel;
209 
211  QRadioButton* myUseImage;
213 
214  std::map<int, QTreeWidgetItem*> myItemMap;
215 
216  makVrv::DtDe& myDe;
217  makVrv::DtDe& myAppDe;
218  const makVrv::DtVisualizerAttributeFontGlyph* myMilStdAttribute;
219  const makVrv::DtVisualizerAttributeFontGlyph* myMilStdFill;
220  const makVrv::DtVisualAttributeSymbolSelector* myImageSymbolAttribute;
221 };
222 
224 {
225  Q_OBJECT
226 
227 public:
228  Dt3DDefinitionSelectionDialog(makVrv::DtDe&, QWidget* parent, bool useDiGuy);
229 
231 
232  virtual bool useDiGuy() const;
233  virtual void setup(const makVrv::DtUnicode& modelDef, const DtDIGuyInformation& diGuyData);
234  DtString getCurrentCharacter() const;
235  DtString getCurrentAnimation() const;
236  DtString getCurrentAppearance() const;
237  bool useRandomAppearances() const;
238  void getRandomAppearances(DtRwNLengthStringVector*) const;
239  bool randomAppearancesChanged() const;
240 
241 protected:
242  virtual void setupDiGuy();
243  virtual void setup3DModelDefinition();
244  virtual std::string diGuyModelDefinition(const DtString& character,
245  const DtString& appearance, bool createIfMissing = true);
246 
247 public slots:
248  virtual void visualizerTypeChanged();
249 
250 protected slots:
251  virtual void set3DModel(const std::string&);
252  virtual void diGuyCharacterChanged();
253 
254 signals:
255  void modelChanged(const makVrv::DtUnicode&, bool);
256  void modelListChanged(const std::vector<std::string>&, bool);
257  void modelDefinitionModified();
258  void uiElementEvent(const DtUiElementEvent&);
259  void diGuyDataChanged(const DtDIGuyInformation&);
260 
261 protected:
263  QRadioButton* myUseDiGuy;
264  QRadioButton* myUse3DModel;
266  makVrv::DtDe& myDe;
268 };
269 
271 {
272  Q_OBJECT
273 
274 public:
276  DtSymbolEditor(makVrv::DtDe& appDe, makVrv::DtDe& de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
277 
279  virtual ~DtSymbolEditor();
280 
281  virtual void setup(makVrv::DtElementDefinitionNew*, const makVrv::DtVisualizerDefinition*, const makVrv::DtVisualizerDefinitionSet*, int m);
282 
283  static DtVisualEditor* create(makVrv::DtDe&, makVrv::DtDe&, QWidget*);
284 
285  virtual void addMilStdDefinition();
286  virtual void addImageSymbolDefinition();
287 
288 protected:
289  virtual void useMilStd();
290  virtual void useImageSymbol();
291 
292  virtual makVrv::DtElementDefinitionNew* findParent();
293  virtual void updateVisualizersEnabled(bool useMilStd);
294 
295  virtual void setEnabled(int, bool);
296 
297 protected slots:
298  virtual void editVisualizers();
299 
300  virtual void setMilStdValues(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool noFill);
301  virtual void setImageSymbolValues(const makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap&);
302 
303 public:
304  QLabel* myUsing;
306 
307 protected:
308  makVrv::DtVisualizerAttributeFontGlyph* myMilStdAttribute;
309  makVrv::DtVisualizerAttributeFontGlyph* myMilStdFill;
310  makVrv::DtVisualAttributeSymbolSelector* myImageSymbolAttribute;
311 
314 
316 };
317 
319 {
320  Q_OBJECT
321 
322 public:
323  DtModelDefinitionSelectionDialog(makVrv::DtDe& myDe, QWidget* parent, bool is2D = false, bool addButtons = true);
324 
326 
327  virtual void setDefault(const QString&);
328 
329  virtual std::string selectedInstance() const;
330  virtual void selectFilter( const std::string& filter );
331 
332  makVrv::DtModelDefinitionInstanceEditorWidget* modelDefinitions()
333  {
334  return myModelDefinitions;
335  }
336 
337  virtual void setDefinitionFilter( const std::string& filter );
338 
339 protected:
340  virtual void createModelDefinition(const std::string& definitionName, const std::string& schema );
341  virtual void setupInstances();
342  virtual void definitionSelected(const std::string& s);
343 
344 signals:
345  void modelChanged(const std::string&);
346  void modelDefinitionModified();
347 
348 protected:
349  makVrv::DtModelDefinitionInstanceEditorWidget* myModelDefinitions;
350  makVrv::DtDe& myDe;
351  std::string myFilter;
352  bool myIs2D;
353  QString myCurValue;
354 };

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)