VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
displayDefinitionWidget.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 
13 #include <vlpi/entityType.h>
14 #include <simulationObjectEditorImpl/ui_DtTacticalGraphicStylesUi.h>
17 
18 #include <vrvCore/DtWindow.h>
22 
23 #include <QImage>
24 #include <QWidget>
25 
26 class DtModelSetEntry;
27 class DtUiElementEvent;
28 class QComboBox;
29 class QHBoxLayout;
30 class QGroupBox;
31 class QLabel;
32 class QPushButton;
34 class DtSymbolEditor;
35 class DtMarkerVisualizer;
36 class QCheckBox;
37 class QLineEdit;
38 class QFrame;
39 class QSpinBox;
40 class QGridLayout;
41 class QStandardItem;
42 class QTreeWidget;
43 
44 namespace makVrf
45 {
46  class DtVrfObjectFacadeInterface;
47  class DtEnvironmentalFacadeCollection;
48 }
49 
50 namespace makVrv
51 {
52  class DtDe;
53  class DtPluginManager;
54  class DtOsgAdapterQtWidget;
55  class DtElementDefinitionManager;
56  class DtElementDefinitionNew;
57  class DtChannelManager;
58  class DtChannel;
59  class DtObserver;
60  class DtOsgObserverObject;
61 }
62 
65 {
66  Q_OBJECT
67 
68 public:
69 
71  DtDisplayWidget(makVrv::DtDe& appDe, makVrv::DtDe* de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
72 
74  virtual ~DtDisplayWidget();
75 
76  makVrv::DtOsgAdapterQtWidget* adapterWidget();
77 
78  void init();
79 
80  virtual void buildAdapterWidget();
81 
82  virtual void buildTicker();
83 
84  const std::vector<int>& modelSets() const
85  {
86  return myModelSets;
87  }
88 
89  int observerMode(int i) const
90  {
91  std::map<int, int>::const_iterator iter = myModeKeyMap.find(i);
92 
93  if (iter != myModeKeyMap.end())
94  {
95  return iter->second;
96  }
97 
98  return 0;
99  }
100 
101  const std::map<int, int>& modeMap() const
102  {
103  return myModeKeyMap;
104  }
105 
106  boost::signal<void ()> signal_channelsInitialized;
107 
108  virtual void initializeObservers();
109 
110  QImage contents();
111 
112 protected:
113 
114  virtual void createIg();
115 
116  virtual void preIgInitialize();
117 
118  virtual void overrideIgFunctionality();
119 
120  virtual void igInitialize();
121 
122  virtual void postIgInitialize();
123  virtual void resizeEvent( QResizeEvent* event);
124 
125 protected:
129  std::vector<int> myModelSets;
130  std::map<int, int> myModeKeyMap;
131 };
132 
134 {
135 
136 public:
137 
139 
142 
143 protected:
144 
146 
147 };
148 
150 {
151  Q_OBJECT
152 
153 public:
155 
156  virtual ~DtDisplayDefinitionWidget();
157 
158  virtual void init();
159 
160  virtual void edit(const makVrf::DtEntityMapperKey&, bool move = true, bool fromSelection = false);
161  virtual void clearContents();
162 
164  {
165  return myDe;
166  }
167 
168  virtual bool hasOneDiGuy() const;
169 
170  virtual void revertExisting(const std::set<makVrf::DtEntityMapperKey>& key);
171 
172  virtual void updateStatus();
173 
174  virtual void preSimulationModelSetSave();
175 
176  virtual void simulationModelSetLoaded();
177 
178  virtual void cloneEntry(const DtEntityType& oldType, const DtEntityType& newType, DtModelSetEntry*);
179  virtual void uiEvent(const DtUiElementEvent&);
180 
181  virtual void setCompressedView(bool);
182  virtual void setStackedView(bool);
183  virtual QString visualBase() const;
184 
185  virtual void disable();
186  virtual void enable();
187  DtDisplayWidget* displayWidget() { return myDisplayWidget; };
188  virtual void updateSpecifics();
189 
190 protected:
191  virtual void postInitialize();
192  virtual void reedit();
193 
196  virtual void setupVisualBases(const makVrv::DtElementDefinitionNew*);
197 
198  virtual bool setupEditor(int set, bool* hasCenteredIcon = 0);
199 
200  virtual void createNewEntry(const DtEntityType& newType, DtModelSetEntry* model, const DtEntityType& basedOnType = DtEntityType(),
201  bool resetTacticalGraphic = true, bool force = false);
202 
203  void initSematicsTextMapping();
204 
205  virtual DtVector visualPlacementFor(int set, const DtString&) const;
206  virtual double groundHeight(const DtVector&) const;
207 
208  virtual void createOrUpdatePositionMarker(const DtUiElementEvent&);
209  virtual void destroyPositionMarker(const DtUiElementEvent&);
210  virtual void setBoundingVolume(const DtUiElementEvent&);
211 
212  virtual bool changeFromLineToVolumetricLine();
213  virtual bool changeFromVolumetricLineToLine();
214 
215  virtual bool changeFrom2DAreaTo3DArea();
216  virtual bool changeFrom3DAreaTo2DArea();
217 
220  virtual void mergeVisualizerAttributes(int modelSet, const makVrv::DtVisualizerDefinitionSet& source, makVrv::DtElementDefinitionNew* target) const;
221 
223  virtual void createEntryIfNoEntry(const DtEntityType&);
224  virtual void createEntityIfNoEntry(const DtEntityType&);
225  virtual void createTacticalGraphicIfNoEntry(const DtEntityType&);
226  virtual void createAggregateIfNoEntry(const DtEntityType&);
227 
228  virtual void setupLabel();
229  virtual void createEditors(bool allIs2D);
230  virtual bool hasScribeOnExtent() const;
231  virtual void setShowScribeOnExtent(bool);
232 
233  virtual void hasVertices(QCheckBox*);
234  virtual void hasSymbolDecorations(QCheckBox*);
235  virtual void isEllipse(QCheckBox*);
236  virtual void isScribed(QCheckBox*);
237  virtual void isOutlineScribed(QCheckBox*);
238  virtual void setupArrowStyle(QComboBox*);
239  virtual void setupDefaultWidth(QSpinBox*);
240  virtual void setupDefaultPhysicalWidth(QSpinBox*);
241  virtual void setupDefaultPhysicalHeight(QSpinBox*);
242  virtual void setupDefaultScribedWidth(QSpinBox*);
243  virtual void setupArrowSize(QSpinBox*);
244  virtual void setupArrowFrequency(QComboBox*);
245  virtual void setupLineStyle(QComboBox*);
246  virtual void setupFillStyle(QComboBox*);
247  virtual void setupStipple(QComboBox*);
248  virtual void setupDefaultColor(QPushButton*);
249  virtual void setupScribeColor(QPushButton*);
250  virtual void setup(const std::string& attribute, QComboBox*);
251  virtual void setup(const std::string& attribute, QSpinBox*);
252  virtual DtString createVisualizerNameFor(makVrv::DtElementDefinitionManager*, DtModelSetEntry* entry);
253  virtual void opdEntryAdded(DtModelSetEntry* model, const DtEntityType&);
254  virtual std::string modeForModelSet(int s);
255  virtual void setupColor(QPushButton*, QColor&, const std::string&);
256  virtual void changeColor(QPushButton*, QColor&, const std::string&);
257  virtual void setupForSimulationObjectGroup();
258  virtual void zoomToExtents();
259  virtual void cleanupEditors();
260  virtual std::string schemaFromFacade(makVrf::DtEnvironmentalFacadeCollection*) const;
261  virtual void initSemanticsTextMapping();
262  virtual void setupModelStates();
263 
264  virtual bool isTacticalSmoke(const makVrf::DtEntityMapperKey&) const;
265 
266 public slots:
267  virtual void forcesModified();
268  virtual void setMarkerLabelsVisible(bool);
269  virtual void setMarker2DMode(bool);
270  virtual void setBoundingVolumesVisible(bool);
271 
272  virtual bool setupForTacticalGraphic(const DtEntityType&, const std::vector<int>& modelSets);
273  virtual bool setupForEntity(const DtEntityType&, const std::vector<int>& modelSets);
274  virtual void visualizerModifiedWithReedit(bool reedit);
275 
276 protected slots:
277  virtual void onDaylightChanged();
278  virtual void useMildStdFontChanged();
279  virtual void setDiGuyData(const DtDiGuyInformation& diGuyData);
280  virtual void onChangeDefaultView();
281  virtual void changeViewMode(int);
282  virtual void visualBaseChanged(int);
283  virtual void visualizerModified();
284  virtual void modelDefinitionModified();
285  virtual void markerVisibilityChanged();
286  virtual void marker2DModeChanged();
287  virtual void boundingVolumesVisibilityChanged();
288  virtual void showVertices();
289  virtual void showSymbolDecorations();
290  virtual void setIsEllipse();
291  virtual void visualizerEnabledChanged();
292  virtual void changeArrowStyle(int);
293  virtual void setScribed();
294  virtual void setOutlineScribed();
295  virtual void changeScribedWidth(int);
296  virtual void changeDefaultWidth(int);
297  virtual void changeDefaultPhysicalWidth(int);
298  virtual void changeDefaultPhysicalHeight(int);
299  virtual void changeArrowSize(int);
300  virtual void changeArrowFrequency(int);
301  virtual void changeLineStyle(int);
302  virtual void changeFillStyle(int);
303  virtual void change(const std::string& style, int);
304  virtual void changeStipple(int);
305  virtual void changeDefaultColor();
306  virtual void changeScribeColor();
307  virtual void modelStateChanged(QTreeWidgetItem*, int);
308  virtual void calculateSupportPoints();
309  virtual void calculateBoundingVolume();
310 
311 signals:
312  void visualsModified();
313  void uiElementEvent(const DtUiElementEvent&);
314  void redisplayListIcons();
315 
316 public:
323  QHBoxLayout* myMainLayout;
324  QGroupBox* myGroupBox;
333 
334 protected:
339 
340  QGridLayout* myTitleLayout;
343 
344  typedef std::vector<makVrf::DtVrfObjectFacadeInterface*> Facades;
345 
347 
351 
352  typedef std::pair<makVrv::DtElementDefinitionManager*, makVrv::DtElementDefinitionNew*> ElementDefinitionPair;
353  typedef std::map<std::string, ElementDefinitionPair> ElementDefinitionMap;
354 
357 
358  std::map<int, DtVisualEditor*> myEditors;
359  std::map<int, DtVisualEditor*> myEnvironmentalMilStdIcons;
360  std::vector<int> myIsFirstShow;
361  bool myAllIs2D;
362 
363  std::vector<QWidget*> myEditorCanvases;
364  std::vector<QCheckBox*> myTitles;
365 
366  std::vector<QWidget*> myMilStdEditorCanvases;
367  std::vector<QCheckBox*> myMilStdTitles;
368 
373 
374  typedef std::pair<DtVector, DtTaitBryan> CameraInfo;
375  typedef std::map<int, CameraInfo> CameraMap;
377 
378  typedef std::map<int, DtMarkerVisualizer*> Markers;
380 
385  QFrame* mySeparator;
390 
391  Ui_DtTacticalGraphicStylesUi myStylesImpl;
399  std::string myLabel;
404 
405  std::map<int, QString> mySemanticsTextMapping;
406 };
407 
409 {
410 public:
413 
415  virtual ~DtUiDisplayWidgetCanvas();
416 
418 
420  virtual void processUiEvent(const DtUiElementEvent&);
421 
422  virtual DtString uniqueName() const
423  {
424  return "DtUiDisplayWidgetCanvas";
425  }
426 
427 protected:
428  virtual void createControls(QWidget*);
429  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw);
430 };
431 
433 {
434 public:
437 
440 
441  static DtDisplayDefinitionWidget* instance(makVrv::DtDe& de, QWidget* parent);
442 
443  DtDisplayDefinitionWidget* displayDefinitionWidget() { return myWidget; };
444 
445 protected:
446  DtDisplayDefinitionWidget* myWidget;
447 };
448 

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)