VR-Forces 4.1.1 Class Documentation
visualEditors.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2012 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 #pragma once
9 
10 #include <vrvUtil/signalslib.h>
14 
15 #include <QWidget>
16 #include <QDialog>
17 
18 class QComboBox;
19 class QLabel;
20 class QPushButton;
21 class QTreeWidget;
22 class QFontMetrics;
23 class QLineEdit;
24 class QTreeWidgetItem;
25 class QRadioButton;
26 class QString;
27 class QCheckBox;
32 
33 namespace makVrv
34 {
35  class DtDe;
36  class DtElementDefinitionNew;
37  class DtVisualizerDefinition;
38  class DtVisualizerDefinitionSet;
39  class DtModelDefinitionComboBox;
40  class DtDeselectableTreeWidget;
41  class DtUnicode;
42  class DtModelDefinitionInstanceEditorWidget;
43 }
44 
47 {
48  Q_OBJECT
49 
50 public:
51 
53  DtVisualEditor(makVrv::DtDe* de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
54 
56  virtual ~DtVisualEditor();
57 
59 
60  virtual void setDiGuyData(const DtUiElementEvent&) {};
61 
62  virtual void enableVisualizer(bool);
63 
64  virtual bool isValid() const;
65 
66  const makVrv::DtVisualizerDefinitionSet* visualizerDefinitionSet() const
67  {
68  return myVisualizerDefinitionSet;
69  }
70 
71  const makVrv::DtVisualizerDefinition* visualizerDefinition() const
72  {
73  return myVisualizerDefinition;
74  }
75 
78 
79 signals:
80  void modified();
81  void modelDefinitionModified();
82  void uiElementEvent(const DtUiElementEvent&);
83  void redisplayListIcons();
84 
85 protected:
91  bool myModified;
93 };
94 
95 typedef DtVisualEditor* (*DtEditorCreatorFcn)(makVrv::DtDe*, QWidget*);
96 
98 {
99  Q_OBJECT
100 
101 public:
103  DtTacticalGraphicEditor(makVrv::DtDe* de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
104 
106  virtual ~DtTacticalGraphicEditor();
107 
108  static DtVisualEditor* create(makVrv::DtDe*, QWidget*);
110 
111 public slots:
112  virtual void selectSchema();
113  virtual void selectTexture();
114  virtual void selectModelDefinition();
115 
116 protected:
117  virtual void setupForNewSchema(const std::string& schema);
118  virtual void replaceVisualizerDefinition(const makVrv::DtVisualizerDefinition* copy);
119 
120 public:
125 };
126 
128 {
129  Q_OBJECT
130 
131 public:
133  DtModelDefinitionEditor(makVrv::DtDe* de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
134 
136  virtual ~DtModelDefinitionEditor();
137 
138  static DtVisualEditor* create(makVrv::DtDe*, QWidget*);
140  virtual void setDiGuyData(const DtUiElementEvent&);
141 
142 protected slots:
143  virtual void select3DModelDefinition();
144  virtual void setModelValue(const makVrv::DtUnicode&, bool useDiGuy);
145  virtual void setModelValue(const std::vector<std::string>&, bool useDiGuy);
146 
147 public:
152 };
153 
155 {
156  Q_OBJECT
157 
158 public:
159  DtSymbolEditorDialog(makVrv::DtDe&, QWidget* parent, bool useMilStd);
160 
161  virtual ~DtSymbolEditorDialog();
162 
163  bool useMilStd() const;
164  makVrv::DtUnicode milStdFont() const;
165  makVrv::DtUnicode milStdFill() const;
166 
167  virtual void setup(makVrv::DtVisualizerAttributeFontGlyph* myMilStdAttribute,
169 
170  virtual makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap imageMapValues() const;
171 
172 protected:
173  virtual void setupMilStd();
174  virtual void setupImageSymbol();
175  virtual void addGlyphRange( unsigned int first,
176  unsigned int last, QFontMetrics &mets, QTreeWidget* widget, QFont font );
177 
178  virtual void initializeMilStdValues();
179  virtual void initializeImageSymbolValues();
180 
181 protected slots:
182  virtual void visualizerTypeChanged();
183  virtual void fontSelectionChanged();
184  virtual void fontEditChanged();
185  virtual void selectImageDefinition();
186  virtual void setImageValueForEditingForce(const std::string&);
187 
188 signals:
189  void fontChanged(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool);
191  void modelDefinitionModified();
192 
193 protected:
196  QRadioButton* myUseMilStd;
203 
205  QRadioButton* myUseImage;
207 
208  std::map<int, QTreeWidgetItem*> myItemMap;
209 
214 };
215 
217 {
218  Q_OBJECT
219 
220 public:
221  Dt3DDefinitionSelectionDialog(makVrv::DtDe&, QWidget* parent, bool useDiGuy);
222 
224 
225  virtual bool useDiGuy() const;
226  virtual void setup(const makVrv::DtUnicode& modelDef, const DtUiElementEvent& diGuyData);
227  DtString getCurrentCharacter() const;
228  DtString getCurrentAnimation() const;
229  DtString getCurrentAppearance() const;
230  bool useRandomAppearances() const;
231  void getRandomAppearances(DtRwNLengthStringVector*) const;
232  bool randomAppearancesChanged() const;
233 
234 protected:
235  virtual void setupDiGuy();
236  virtual void setup3DModelDefinition();
237  virtual std::string diGuyModelDefinition(const DtString& character,
238  const DtString& appearance, bool createIfMissing = true);
239 
240 public slots:
241  virtual void visualizerTypeChanged();
242 
243 protected slots:
244  virtual void set3DModel(const std::string&);
245  virtual void diGuyCharacterChanged();
246 
247 signals:
248  void modelChanged(const makVrv::DtUnicode&, bool);
249  void modelListChanged(const std::vector<std::string>&, bool);
250  void modelDefinitionModified();
251  void uiElementEvent(const DtUiElementEvent&);
252 
253 protected:
255  QRadioButton* myUseDiGuy;
256  QRadioButton* myUse3DModel;
260 };
261 
263 {
264  Q_OBJECT
265 
266 public:
268  DtSymbolEditor(makVrv::DtDe* de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
269 
271  virtual ~DtSymbolEditor();
272 
274 
275  static DtVisualEditor* create(makVrv::DtDe*, QWidget*);
276 
277  virtual void addMilStdDefinition();
278  virtual void addImageSymbolDefinition();
279 
280 protected:
281  virtual void useMilStd();
282  virtual void useImageSymbol();
283 
284  virtual makVrv::DtElementDefinitionNew* findParent();
285  virtual void updateVisualizersEnabled(bool useMilStd);
286 
287  virtual void setEnabled(int, bool);
288 
289 protected slots:
290  virtual void editVisualizers();
291 
292  virtual void setMilStdValues(const makVrv::DtUnicode&, const makVrv::DtUnicode&, bool noFill);
293  virtual void setImageSymbolValues(const makVrv::DtVisualAttributeSymbolSelector::ImageSymbolMap&);
294 
295 public:
298 
299 protected:
303 
306 
308 };
309 
311 {
312  Q_OBJECT
313 
314 public:
315  DtModelDefinitionSelectionDialog(makVrv::DtDe* myDe, QWidget* parent, bool is2D = false, bool addButtons = true);
316 
318 
319  virtual void setDefault(const QString&);
320 
321  virtual std::string selectedInstance() const;
322  virtual void selectFilter( const std::string& filter );
323 
325  {
326  return myModelDefinitions;
327  }
328 
329  virtual void setDefinitionFilter( const std::string& filter );
330 
331 protected:
332  virtual void createModelDefinition(const std::string& definitionName, const std::string& schema );
333  virtual void setupInstances();
334  virtual void definitionSelected(const std::string& s);
335 
336 signals:
337  void modelChanged(const std::string&);
338  void modelDefinitionModified();
339 
340 protected:
343  std::string myFilter;
344  bool myIs2D;
345  QString myCurValue;
346 };

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)