VR-Forces 4.3 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 <entityEditorImpl/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 
42 namespace makVrf
43 {
44  class DtVrfObjectFacadeInterface;
45 }
46 
47 namespace makVrv
48 {
49  class DtDe;
50  class DtPluginManager;
51  class DtOsgAdapterQtWidget;
52  class DtElementDefinitionManager;
53  class DtElementDefinitionNew;
54  class DtChannelManager;
55  class DtChannel;
56  class DtObserver;
57  class DtOsgObserverObject;
58 }
59 
62 {
63  Q_OBJECT
64 
65 public:
66 
68  DtDisplayWidget(makVrv::DtDe& appDe, makVrv::DtDe* de, QWidget * parent = 0, Qt::WindowFlags f = 0 );
69 
71  virtual ~DtDisplayWidget();
72 
73  makVrv::DtOsgAdapterQtWidget* adapterWidget();
74 
75  void init();
76 
77  virtual void buildAdapterWidget();
78 
79  virtual void buildTicker();
80 
81  const std::vector<int>& modelSets() const
82  {
83  return myModelSets;
84  }
85 
86  int observerMode(int i) const
87  {
88  std::map<int, int>::const_iterator iter = myModeKeyMap.find(i);
89 
90  if (iter != myModeKeyMap.end())
91  {
92  return iter->second;
93  }
94 
95  return 0;
96  }
97 
98  const std::map<int, int>& modeMap() const
99  {
100  return myModeKeyMap;
101  }
102 
103  boost::signal<void ()> signal_channelsInitialized;
104 
105  virtual void initializeObservers();
106 
107  QImage contents();
108 
109 protected:
110 
111  virtual void createIg();
112 
113  virtual void preIgInitialize();
114 
115  virtual void overrideIgFunctionality();
116 
117  virtual void igInitialize();
118 
119  virtual void postIgInitialize();
120  virtual void resizeEvent( QResizeEvent* event);
121 
122 protected:
126  std::vector<int> myModelSets;
127  std::map<int, int> myModeKeyMap;
128 };
129 
131 {
132 
133 public:
134 
136 
139 
140 protected:
141 
143 
144 };
145 
147 {
148  Q_OBJECT
149 
150 public:
152 
153  virtual ~DtDisplayDefinitionWidget();
154 
155  virtual void init();
156 
157  virtual void edit(const makVrf::DtEntityMapperKey&, bool move = true, bool fromSelection = false);
158  virtual void clearContents();
159 
161  {
162  return myDe;
163  }
164 
165  virtual bool hasOneDiGuy() const;
166 
167  virtual void revertExisting(const std::set<makVrf::DtEntityMapperKey>& key);
168 
169  virtual void updateStatus();
170 
171  virtual void preSimulationModelSetSave();
172 
173  virtual void simulationModelSetLoaded();
174 
175  virtual void cloneEntry(const DtEntityType& oldType, const DtEntityType& newType, DtModelSetEntry*);
176  virtual void uiEvent(const DtUiElementEvent&);
177 
178  virtual void setCompressedView(bool);
179  virtual void setStackedView(bool);
180 
181  virtual void disable();
182  virtual void enable();
183  DtDisplayWidget* displayWidget() { return myDisplayWidget; };
184 
185 protected:
186  virtual void postInitialize();
187  virtual void reedit();
188 
191  virtual void setupVisualBases(const makVrv::DtElementDefinitionNew*);
192 
193  virtual bool setupEditor(int set, bool* hasCenteredIcon = 0);
194 
195  virtual void createNewEntry(const DtEntityType& newType, DtModelSetEntry* model, const DtEntityType& basedOnType = DtEntityType(),
196  bool resetTacticalGraphic = true);
197 
198  virtual DtVector visualPlacementFor(int set, const DtString&) const;
199  virtual double groundHeight(const DtVector&) const;
200 
201  virtual void createOrUpdatePositionMarker(const DtUiElementEvent&);
202  virtual void destroyPositionMarker(const DtUiElementEvent&);
203  virtual void setBoundingVolume(const DtUiElementEvent&);
204 
207  virtual void mergeVisualizerAttributes(int modelSet, const makVrv::DtVisualizerDefinitionSet& source, makVrv::DtElementDefinitionNew* target) const;
208 
210  virtual void createEntryIfNoEntry(const DtEntityType&);
211  virtual void createEntityIfNoEntry(const DtEntityType&);
212  virtual void createTacticalGraphicIfNoEntry(const DtEntityType&);
213  virtual void createAggregateIfNoEntry(const DtEntityType&);
214 
215  virtual void setupLabel();
216  virtual void createEditors(bool allIs2D);
217  virtual void updateSpecifics();
218  virtual bool hasScribeOnExtent() const;
219  virtual void setShowScribeOnExtent(bool);
220 
221  virtual void hasVertices(QCheckBox*);
222  virtual void hasSymbolDecorations(QCheckBox*);
223  virtual void isEllipse(QCheckBox*);
224  virtual void setupArrowStyle(QComboBox*);
225  virtual void setupDefaultWidth(QSpinBox*);
226  virtual void setupArrowSize(QSpinBox*);
227  virtual void setupArrowFrequency(QComboBox*);
228  virtual void setupLineStyle(QComboBox*);
229  virtual void setupFillStyle(QComboBox*);
230  virtual void setupStipple(QComboBox*);
231  virtual void setupDefaultColor(QPushButton*);
232  virtual void setup(const std::string& attribute, QComboBox*);
233  virtual void setup(const std::string& attribute, QSpinBox*);
234  virtual DtString createVisualizerNameFor(makVrv::DtElementDefinitionManager*, DtModelSetEntry* entry);
235  virtual void opdEntryAdded(DtModelSetEntry* model, const DtEntityType&);
236  virtual std::string modeForModelSet(int s);
237 
238 public slots:
239  virtual void forcesModified();
240  virtual void setMarkerLabelsVisible(bool);
241  virtual void setBoundingVolumesVisible(bool);
242 
243  virtual bool setupForTacticalGraphic(const DtEntityType&, const std::vector<int>& modelSets);
244  virtual bool setupForEntity(const DtEntityType&, const std::vector<int>& modelSets);
245 
246 protected slots:
247  virtual void useMildStdFontChanged();
248  virtual void setDiGuyData(const DtDiGuyInformation& diGuyData);
249  virtual void onChangeDefaultView();
250  virtual void changeViewMode(int);
251  virtual void visualBaseChanged(int);
252  virtual void visualizerModified();
253  virtual void modelDefinitionModified();
254  virtual void markerVisibilityChanged();
255  virtual void boundingVolumesVisibilityChanged();
256  virtual void showVertices();
257  virtual void showSymbolDecorations();
258  virtual void setIsEllipse();
259  virtual void visualizerEnabledChanged();
260  virtual void changeArrowStyle(int);
261  virtual void changeDefaultWidth(int);
262  virtual void changeArrowSize(int);
263  virtual void changeArrowFrequency(int);
264  virtual void changeLineStyle(int);
265  virtual void changeFillStyle(int);
266  virtual void change(const std::string& style, int);
267  virtual void changeStipple(int);
268  virtual void changeDefaultColor();
269 
270 signals:
271  void visualsModified();
272  void uiElementEvent(const DtUiElementEvent&);
273  void redisplayListIcons();
274 
275 public:
282  QHBoxLayout* myMainLayout;
283  QGroupBox* myGroupBox;
287 
290 
291 protected:
296 
297  QGridLayout* myTitleLayout;
300 
301  typedef std::vector<makVrf::DtVrfObjectFacadeInterface*> Facades;
302 
304 
308 
309  typedef std::pair<makVrv::DtElementDefinitionManager*, makVrv::DtElementDefinitionNew*> ElementDefinitionPair;
310  typedef std::map<std::string, ElementDefinitionPair> ElementDefinitionMap;
311 
313 
314  std::map<int, DtVisualEditor*> myEditors;
315  std::map<int, DtVisualEditor*> myEnvironmentalMilStdIcons;
316  std::vector<int> myIsFirstShow;
317  bool myAllIs2D;
318 
319  std::vector<QWidget*> myEditorCanvases;
320  std::vector<QCheckBox*> myTitles;
321 
322  std::vector<QWidget*> myMilStdEditorCanvases;
323  std::vector<QCheckBox*> myMilStdTitles;
324 
329 
330  typedef std::pair<DtVector, DtTaitBryan> CameraInfo;
331  typedef std::map<int, CameraInfo> CameraMap;
333 
334  typedef std::map<int, DtMarkerVisualizer*> Markers;
336 
339  QFrame* mySeparator;
344 
345  Ui_DtTacticalGraphicStylesUi myStylesImpl;
352  std::string myLabel;
357 
358  std::map<std::string, int> myObserverSelection;
359 };
360 
362 {
363 public:
366 
368  virtual ~DtUiDisplayWidgetCanvas();
369 
371 
373  virtual void processUiEvent(const DtUiElementEvent&);
374 
375  virtual DtString uniqueName() const
376  {
377  return "DtUiDisplayWidgetCanvas";
378  }
379 
380 protected:
381  virtual void createControls(QWidget*);
382  virtual void setFromParameters(const std::vector<DtReaderWriter*>& parentRw);
383 };
384 
386 {
387 public:
390 
393 
394  static DtDisplayDefinitionWidget* instance(makVrv::DtDe& de, QWidget* parent);
395 
396  DtDisplayDefinitionWidget* displayDefinitionWidget() { return myWidget; };
397 
398 protected:
399  DtDisplayDefinitionWidget* myWidget;
400 };
401 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)