VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTerrainContentsWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCoreQt/vrvCoreQt.h>
15 
16 #include <QtWidgets/QWidget>
17 
18 class QTreeWidget;
19 class QTreeWidgetItem;
20 class QHBoxLayout;
21 class QVBoxLayout;
22 class QPushButton;
23 class QDoubleSpinBox;
24 class QSlider;
25 class QSpinBox;
26 class QWidget;
27 class QLabel;
28 
29 namespace makVrv
30 {
31  class DtDe;
32  class DtTerrainOperationRecord;
33 
37  : public QWidget
39  {
40 
41  Q_OBJECT
42 
43  public:
44 
46  typedef std::map<int, QTreeWidgetItem*> ItemMap;
47 
49  virtual ~DtTerrainContentsWidget();
50 
52  virtual void addItem(int id, LayerType layerType, const DtUnicode& name, bool visualized );
53 
55  virtual void removeItem(int id);
56 
60  virtual void setAddOceanButtonState( bool enabled );
61 
63  virtual void clear();
64 
66  inline QVBoxLayout* mainLayout() { return myMainLayout; }
67 
69  inline QHBoxLayout* buttonLayout() { return myButtonLayout; }
70 
72  inline QPushButton* addTerrainPatchButton() { return myAddTerrainPatchButton; }
73 
75  inline QPushButton* addFeatureLayerButton() { return myAddFeatureLayerButton; }
76 
78  inline QPushButton* addOceanLayerButton() { return myAddOceanLayerButton; }
79 
81  inline QTreeWidget* contentsTreeWidget() { return myContentsTreeWidget; }
82 
84  inline int oceanLayerId() { return myOceanLayerId; }
85  public:
86 
88  static boost::signal<void (DtDe&, DtTerrainContentsWidget*)> signal_setupGui;
89 
91  static boost::signal<void(std::string)> signal_selectTreeItemChanged;
92 
94  static boost::signal<void()> signal_pageClosed;
95 
96  protected slots:
97 
98  virtual void on_addTerrainPatchBtn_clicked();
99  virtual void on_addFeatureLayerBtn_clicked();
100  virtual void on_addOceanLayerBtn_clicked();
101  virtual void on_removeBtn_clicked();
102  virtual void on_contentsTreeWidget_itemSelectionChanged();
103 
104  protected:
105 
108 
110  DtTerrainContentsWidget(DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
111 
113  void setupGui();
114 
115  protected:
116 
117  const static int theInputTypeColumn = 0;
118  const static int theNameColumn = 1;
119  const static int theStatusColumn = 2;
120  const static int theIdColumn = 3;
121 
125  QHBoxLayout* myButtonLayout;
126 
127  QVBoxLayout* myMainLayout;
128 
133 
135  };
136 
140  {
141 
142  public:
144  static DtTerrainContentsWidgetCreator& instance(DtDe& de);
145 
147  static void registerInstance(DtDe& de,DtTerrainContentsWidgetCreator* anInstance);
148 
150  virtual DtTerrainContentsWidget* create(DtDe& de, QWidget * parent = NULL,
151  const Qt::WindowFlags& flags = 0);
152  };
153 }
154 
155 
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
QHBoxLayout * myButtonLayout
Definition: DtTerrainContentsWidget.h:125
static boost::signal< void(DtDe &, DtTerrainContentsWidget *)> signal_setupGui
Signal raised when the GUI is initialized.
Definition: DtTerrainContentsWidget.h:88
QTreeWidget * myContentsTreeWidget
Definition: DtTerrainContentsWidget.h:124
DtDe & myDe
Definition: DtTerrainContentsWidget.h:122
QPushButton * myAddTerrainPatchButton
Add Terrain Patch button.
Definition: DtTerrainContentsWidget.h:130
QVBoxLayout * mainLayout()
Accessor for the main layout.
Definition: DtTerrainContentsWidget.h:66
QPushButton * addOceanLayerButton()
Accessor for the add Ocean Layer button.
Definition: DtTerrainContentsWidget.h:78
#define DT_DLL_VRVCOREQT
Definition: vrvCoreQt.h:20
Contains DLL export macros.
The interface for the makVrv::DtTerrainContentsWidget for the makVrv::DtTerrainContentsLogic.
Definition: DtTerrainContentsInterface.h:20
QPushButton * addFeatureLayerButton()
Accessor for the add Feature Layer button.
Definition: DtTerrainContentsWidget.h:75
QHBoxLayout * buttonLayout()
Accessor for the button layout.
Definition: DtTerrainContentsWidget.h:69
Contains makVrv::DtTerrainContentsInterface class.
QPushButton * myAddOceanLayerButton
Definition: DtTerrainContentsWidget.h:132
static boost::signal< void()> signal_pageClosed
Signal raised when the page closed.
Definition: DtTerrainContentsWidget.h:94
LayerType
Definition: DtTerrainContentsInterface.h:24
Contains makVrv::DtVirtualBaseClass class.
The DtTerrainContentsWidget displays the terrain Contents that were used to compose the current terra...
Definition: DtTerrainContentsWidget.h:36
int myOceanLayerId
Definition: DtTerrainContentsWidget.h:134
ItemMap myItemMap
Definition: DtTerrainContentsWidget.h:123
Terrain Contents Widget creator.
Definition: DtTerrainContentsWidget.h:139
QTreeWidget * contentsTreeWidget()
Accessor for the contents tree widget.
Definition: DtTerrainContentsWidget.h:81
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QPushButton * myAddFeatureLayerButton
Definition: DtTerrainContentsWidget.h:131
QVBoxLayout * myMainLayout
Definition: DtTerrainContentsWidget.h:127
int oceanLayerId()
Return the id of the GUI&#39;s ocean layer (or 0 if none)
Definition: DtTerrainContentsWidget.h:84
std::map< int, QTreeWidgetItem * > ItemMap
Map of id&#39;s to the QTreeWidgetItem that represents them.
Definition: DtTerrainContentsWidget.h:46
QPushButton * addTerrainPatchButton()
Accessor for the add Terrain Patch button.
Definition: DtTerrainContentsWidget.h:72
static boost::signal< void(std::string)> signal_selectTreeItemChanged
Signal raised when the current selection tree item changed.
Definition: DtTerrainContentsWidget.h:91

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)