VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 #include <vrvUtil/signalslib.h>
13 
17 #include <QtGui/QWidget>
18 
19 namespace makVrv
20 {
21  class DtDe;
22 }
23 
24 class QTreeWidget;
25 class QTreeWidgetItem;
26 class QPushButton;
27 class QCheckBox;
28 class QHBoxLayout;
29 class QVBoxLayout;
30 
31 namespace makVrf
32 {
34 
36  {
37 
38  Q_OBJECT;
39 
40  public:
43  Qt::WindowFlags f = Qt::Widget);
44 
46  virtual ~DtNavigationAreasWidget();
47 
49  virtual void clear();
50 
52  virtual void addNavigationArea(const QString&, DtNavigationAreasManager::Status,
53  makVrv::DtUniqueID, bool select = false);
54 
56 
58  virtual void removeNavigationArea(makVrv::DtUniqueID);
59 
60  virtual void setShowNavigationAreas(bool);
61 
62  virtual void setGenerateAllEnabled(bool);
63  virtual void setRegenerateAllEnabled(bool);
64 
66  virtual void selectNavigationArea(makVrv::DtUniqueID);
67 
69  virtual void clearSelection();
70 
71  virtual std::set<makVrv::DtUniqueID> selectedIds() const;
72 
73  virtual void validateButtons();
74  virtual bool selectedGenerating();
75  virtual bool anySelectedNotGenerating();
76  virtual bool selectedGenerating(QTreeWidgetItem* item);
77 
78  boost::signal<void (bool)> signal_showNavigationAreas;
79  boost::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_navigationAreaSelected;
80  boost::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_removeNavigationArea;
81  boost::signal<void (makVrv::DtUniqueID)> signal_editNavigationArea;
82  boost::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_generateNavigationArea;
83  boost::signal<void (bool)> signal_regenerateNavigationArea;
84  boost::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_revertNavigationArea;
85  boost::signal<void (const std::set<makVrv::DtUniqueID>&)> signal_removeFromGeneration;
86  boost::signal<void ()> signal_createNavigationArea;
87  boost::signal<void (const QString&)> signal_addExistingNavigationArea;
88 
89  protected:
90  virtual bool shouldGenerate();
91 
92  protected slots:
93  virtual void removeNavigationArea();
94  virtual void editNavigationArea();
95  virtual void generateNavigationArea();
96  virtual void revertNavigationArea();
97  virtual void generateAllNavigationAreas();
98  virtual void regenerateAllNavigationAreas();
99  virtual void showNavigationAreasChanged();
100  virtual void navigationAreaSelected();
101  virtual void createNavigationArea();
102  virtual void removeFromGeneration();
103  virtual void addExistingNavigationArea();
104 
105  public:
107  QVBoxLayout* myButtonLayout;
108  QHBoxLayout* myContentLayout;
119 
120  protected:
122 
123  typedef std::map<makVrv::DtUniqueID, QTreeWidgetItem*> Items;
125 
127  };
128 
131  {
132 
133  public:
135  static DtNavigationAreasWidgetCreator& instance(makVrv::DtDe& de);
136 
138  static void registerInstance(makVrv::DtDe& de,DtNavigationAreasWidgetCreator* anInstance);
139 
141  virtual DtNavigationAreasWidget* create(makVrv::DtDe& de, QWidget * parent = NULL,
142  const Qt::WindowFlags& flags = 0);
143  };
144 }

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)