VR-Forces 4.8 Class Documentation
 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 #include <vrvUtil/signalslib.h>
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();
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 
81  boost::signals2::signal<void (bool)> signal_showNavigationAreas;
82  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_navigationAreaSelected;
83  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_removeNavigationArea;
84  boost::signals2::signal<void (makVrv::DtUniqueID)> signal_editNavigationArea;
85  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_generateNavigationArea;
86  boost::signals2::signal<void (bool)> signal_regenerateNavigationArea;
87  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_revertNavigationArea;
88  boost::signals2::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_removeFromGeneration;
89  boost::signals2::signal<void ()> signal_createNavigationArea;
90  boost::signals2::signal<void (const QString&)> signal_addExistingNavigationArea;
91 
92  protected:
93  virtual bool shouldGenerate();
94 
95  protected slots:
96  virtual void removeNavigationArea();
97  virtual void editNavigationArea();
98  virtual void generateNavigationArea();
99  virtual void revertNavigationArea();
100  virtual void generateAllNavigationAreas();
101  virtual void regenerateAllNavigationAreas();
102  virtual void showNavigationAreasChanged();
103  virtual void navigationAreaSelected();
104  virtual void createNavigationArea();
105  virtual void removeFromGeneration();
106  virtual void addExistingNavigationArea();
107 
108  public:
110  QVBoxLayout* myButtonLayout;
111  QHBoxLayout* myContentLayout;
122 
123  protected:
125 
126  typedef std::map<makVrv::DtUniqueID, QTreeWidgetItem*> Items;
128 
130  };
131 
134  {
135 
136  public:
138  static DtNavigationAreasWidgetCreator& instance(makVrv::DtDe& de);
139 
141  static void registerInstance(makVrv::DtDe& de,DtNavigationAreasWidgetCreator* anInstance);
142 
144  virtual DtNavigationAreasWidget* create(makVrv::DtDe& de, QWidget * parent = NULL,
145  const Qt::WindowFlags& flags = 0);
146  };
147 }
QHBoxLayout * myContentLayout
Definition: navigationAreasWidget.h:111
Virtual base class.
Definition: DtVirtualBaseClass.h:22
boost::signals2::signal< void(const QString &)> signal_addExistingNavigationArea
Definition: navigationAreasWidget.h:90
bool mySignalsBlocked
Definition: navigationAreasWidget.h:129
Navigation Area Widget creator.
Definition: navigationAreasWidget.h:133
QPushButton * myRevertNavigationArea
Definition: navigationAreasWidget.h:116
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QPushButton * myRemoveFromGeneration
Definition: navigationAreasWidget.h:120
boost::signals2::signal< void(bool)> signal_showNavigationAreas
Definition: navigationAreasWidget.h:81
QPushButton * myNewNavigationArea
Definition: navigationAreasWidget.h:113
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:117
QPushButton * myEditNavigationArea
Definition: navigationAreasWidget.h:114
Status
Definition: navigationAreasManager.h:43
Items myItems
Definition: navigationAreasWidget.h:127
Contains makVrv::DtVirtualBaseClass class.
std::map< makVrv::DtUniqueID, QTreeWidgetItem * > Items
Definition: navigationAreasWidget.h:126
QPushButton * myGenerateAllNavigationAreas
Definition: navigationAreasWidget.h:118
QVBoxLayout * myButtonLayout
Definition: navigationAreasWidget.h:110
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
makVrv::DtDe & myDe
Definition: navigationAreasWidget.h:124
QPushButton * myRegenerateAllNavigationAreas
Definition: navigationAreasWidget.h:119
boost::signals2::signal< void(makVrv::DtUniqueID)> signal_editNavigationArea
Definition: navigationAreasWidget.h:84
QCheckBox * myShowNavigationAreas
Definition: navigationAreasWidget.h:112
boost::signals2::signal< void()> signal_createNavigationArea
Definition: navigationAreasWidget.h:89
boost::signals2::signal< void(bool)> signal_regenerateNavigationArea
Definition: navigationAreasWidget.h:86
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QPushButton * myRemoveNavigationArea
Definition: navigationAreasWidget.h:115
QTreeWidget * myNavigationAreas
Definition: navigationAreasWidget.h:109
QPushButton * myAddExistingNavigationArea
Definition: navigationAreasWidget.h:121

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)