VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
navigationAreasWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #if !defined(Q_MOC_RUN)
13 
14 
18 #endif
19 
20 #include <QtWidgets/QWidget>
21 
22 namespace makVrv
23 {
24  class DtDe;
25 }
26 
27 class QTreeWidget;
28 class QTreeWidgetItem;
29 class QPushButton;
30 class QCheckBox;
31 class QHBoxLayout;
32 class QVBoxLayout;
33 
34 namespace makVrf
35 {
37 
39  {
40 
41  Q_OBJECT;
42 
43  public:
45  DtNavigationAreasWidget(makVrv::DtDe& de, QWidget* parent,
46  Qt::WindowFlags f = Qt::Widget);
47 
49  virtual ~DtNavigationAreasWidget() override;
50 
52  virtual void clear();
53 
55  virtual void addNavigationArea(const QString&, DtNavigationAreasManager::Status,
56  makVrv::DtUniqueID, bool select = false);
57 
59 
61  virtual void removeNavigationArea(makVrv::DtUniqueID);
62 
63  virtual void setShowNavigationAreas(bool);
64 
65  virtual void setGenerateAllEnabled(bool);
66  virtual void setRegenerateAllEnabled(bool);
67 
69  virtual void selectNavigationArea(makVrv::DtUniqueID);
70 
72  virtual void clearSelection();
73 
74  virtual std::set<makVrv::DtUniqueID> selectedIds() const;
75 
76  virtual void validateButtons();
77  virtual bool selectedGenerating();
78  virtual bool anySelectedNotGenerating();
79  virtual bool selectedGenerating(QTreeWidgetItem* item);
80  virtual void terrainClearing();
81 
82  boost::signals2::signal<void (bool)> signal_showNavigationAreas;
83  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_navigationAreaSelected;
84  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_removeNavigationArea;
85  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_editNavigationArea;
86  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_generateNavigationArea;
87  boost::signals2::signal<void (bool)> signal_regenerateNavigationArea;
88  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_revertNavigationArea;
89  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_removeFromGeneration;
90  boost::signals2::signal<void ()> signal_createNavigationArea;
91  boost::signals2::signal<void (const QString&)> signal_addExistingNavigationArea;
92 
93  protected:
94  virtual bool shouldGenerate();
95 
96  protected slots:
97  virtual void removeNavigationArea();
98  virtual void editNavigationArea();
99  virtual void generateNavigationArea();
100  virtual void revertNavigationArea();
101  virtual void generateAllNavigationAreas();
102  virtual void regenerateAllNavigationAreas();
103  virtual void showNavigationAreasChanged();
104  virtual void navigationAreaSelected();
105  virtual void createNavigationArea();
106  virtual void removeFromGeneration();
107  virtual void addExistingNavigationArea();
108 
109  public:
111  QVBoxLayout* myButtonLayout;
112  QHBoxLayout* myContentLayout;
123 
124  protected:
126 
127  typedef std::map<makVrv::DtUniqueID, QTreeWidgetItem*> Items;
129 
131  };
132 
135  {
136 
137  public:
139  static DtNavigationAreasWidgetCreator& instance(makVrv::DtDe& de);
140 
142  static void registerInstance(makVrv::DtDe& de,DtNavigationAreasWidgetCreator* anInstance);
143 
145  virtual DtNavigationAreasWidget* create(makVrv::DtDe& de, QWidget * parent = NULL,
146  const Qt::WindowFlags& flags = 0);
147  };
148 }
QHBoxLayout * myContentLayout
Definition: navigationAreasWidget.h:112
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
boost::signals2::signal< void(const QString &)> signal_addExistingNavigationArea
Definition: navigationAreasWidget.h:91
bool mySignalsBlocked
Definition: navigationAreasWidget.h:130
Navigation Area Widget creator.
Definition: navigationAreasWidget.h:134
QPushButton * myRevertNavigationArea
Definition: navigationAreasWidget.h:117
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QPushButton * myRemoveFromGeneration
Definition: navigationAreasWidget.h:121
boost::signals2::signal< void(bool)> signal_showNavigationAreas
Definition: navigationAreasWidget.h:82
QPushButton * myNewNavigationArea
Definition: navigationAreasWidget.h:114
A widget for displaying current navigation area layers and the ability to add/modify/remove them...
Definition: navigationAreasWidget.h:38
QPushButton * myGenerateNavigationArea
Definition: navigationAreasWidget.h:118
QPushButton * myEditNavigationArea
Definition: navigationAreasWidget.h:115
Status
Definition: navigationAreasManager.h:42
Items myItems
Definition: navigationAreasWidget.h:128
Contains makVrv::DtVirtualBaseClass class.
std::map< makVrv::DtUniqueID, QTreeWidgetItem * > Items
Definition: navigationAreasWidget.h:127
QPushButton * myGenerateAllNavigationAreas
Definition: navigationAreasWidget.h:119
QVBoxLayout * myButtonLayout
Definition: navigationAreasWidget.h:111
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
makVrv::DtDe & myDe
Definition: navigationAreasWidget.h:125
QPushButton * myRegenerateAllNavigationAreas
Definition: navigationAreasWidget.h:120
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_editNavigationArea
Definition: navigationAreasWidget.h:85
QCheckBox * myShowNavigationAreas
Definition: navigationAreasWidget.h:113
boost::signals2::signal< void()> signal_createNavigationArea
Definition: navigationAreasWidget.h:90
boost::signals2::signal< void(bool)> signal_regenerateNavigationArea
Definition: navigationAreasWidget.h:87
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
QPushButton * myRemoveNavigationArea
Definition: navigationAreasWidget.h:116
QTreeWidget * myNavigationAreas
Definition: navigationAreasWidget.h:110
QPushButton * myAddExistingNavigationArea
Definition: navigationAreasWidget.h:122

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)