VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
selectionGroupWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
14 #include <vrvCoreQt/DtPage.h>
17 #include <vrvCore/DtStateView.h>
18 #include <vrvCore/DtEntityState.h>
20 #include <QtWidgets/QWidget>
21 #endif
22 
23 #include <boost/unordered_map.hpp>
24 namespace makVrv
25 {
26  class DtDe;
27 }
28 
29 class QTreeWidgetItem;
30 class QPushButton;
31 class QVBoxLayout;
32 class QHBoxLayout;
33 
34 namespace makVrf
35 {
36  class DtVrfFilteredListView;
37 
40  {
41  Q_OBJECT
42 
43  public:
44 
46  DtSelectionGroupWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
47 
49  virtual ~DtSelectionGroupWidget();
50 
52  virtual QIcon icon();
53 
55  virtual QString title();
56 
58  virtual const std::string& pageClassName() const;
59 
60  protected:
61 
63  virtual void activate();
64 
66  virtual void deactivate();
67 
69  void setupUi();
70 
73  virtual void initialize();
74 
76  virtual void showEvent(QShowEvent*);
77 
79  virtual void onSelectionGroupAdded(std::string);
80 
82  virtual void onSelectionGroupRemoved(std::string);
83 
85  virtual void onSelectionGroupRenamed(std::string, std::string);
86 
88  virtual void setupFromSelectionGroupManager();
89 
91  virtual void onSelectionChanged();
92 
94  virtual void onSelectionGroupSelected(std::string);
95 
97  virtual void onItemsAddedToSelectionGroup(std::string, DtSelectionGroupManager::GroupItems);
98 
100  virtual void onItemsRemovedFromSelectionGroup(std::string, DtSelectionGroupManager::GroupItems);
101 
103  virtual void onSelectionGroupsCleared();
104 
106  virtual void onSelectionGroupCleared(std::string);
107 
109  virtual void slot_rightClickOnItem(QPoint global);
110 
112  virtual std::set<std::string> selectionGroupsSelected() const;
113 
114  protected slots:
115  virtual void onAddSelectionGroup();
116  virtual void onRemoveSelectionGroup();
117  virtual void onItemSelectionChanged();
118  virtual void onGroupRenamed();
119  virtual void onRemoveFromSelectionGroup();
120 
121  protected:
123  virtual QSize sizeHint() const;
124 
126  virtual void validateButtons();
127 
129  virtual QString getGroupName(const QString& initialName) const;
130 
131  virtual void onItemRemovedFromSelectionGroups(DtUUID);
132 
133  virtual void onFilterListItemAboutToBeRemoved(QTreeWidgetItem*);
134 
135  virtual void onStateAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
136 
137  public:
138  QVBoxLayout* myMainLayout;
139  QHBoxLayout* myButtonLayout;
146 
147  protected:
148  std::string myClassName;
149 
151  {
153  std::map<DtUUID, QTreeWidgetItem*> items;
154  };
155 
156  typedef std::map<std::string, SelectionGroup> SelectionGroups;
158 
159  typedef std::map<QTreeWidgetItem*, std::string> GroupListItems;
161 
162  typedef boost::unordered_map<DtUUID, std::set<std::string> > WaitingForDiscovery;
164  };
165 
169  {
170  public:
171 
174 
177 
181  virtual std::string pageClassName() const;
182 
184  virtual makVrv::DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0);
185  };
186 }
187 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
Definition: selectionGroupWidget.h:150
QTreeWidgetItem * parent
Definition: selectionGroupWidget.h:152
std::map< std::string, SelectionGroup > SelectionGroups
Definition: selectionGroupWidget.h:156
std::map< QTreeWidgetItem *, std::string > GroupListItems
Definition: selectionGroupWidget.h:159
Contains makVrv::DtPage class.
std::set< DtUUID > GroupItems
Definition: selectionGroupManager.h:55
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QVBoxLayout * myMainLayout
Definition: selectionGroupWidget.h:138
Contains makVrv::DtStateView class.
The page creator.
Definition: DtPage.h:114
DtVrfFilteredListView * mySelectionGroupsList
Definition: selectionGroupWidget.h:143
GroupListItems myGroupListItems
Definition: selectionGroupWidget.h:160
std::string myClassName
Definition: selectionGroupWidget.h:148
QPushButton * myRemoveSelectionGroup
Definition: selectionGroupWidget.h:141
boost::unordered_map< DtUUID, std::set< std::string > > WaitingForDiscovery
Definition: selectionGroupWidget.h:162
bool myInitialized
Definition: selectionGroupWidget.h:145
QHBoxLayout * myButtonLayout
Definition: selectionGroupWidget.h:139
makVrv::DtSignalConnectionManager myConnectionManager
Definition: selectionGroupWidget.h:144
QPushButton * myAddSelectionGroup
Definition: selectionGroupWidget.h:140
SelectionGroups mySelectionGroups
Definition: selectionGroupWidget.h:157
A widget class for managing a DtTreeWidget of objects which supports user-defined filters...
Definition: vrfFilteredListView.h:62
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtEntityState class.
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:27
QPushButton * myRemoveFromSelectionGroup
Definition: selectionGroupWidget.h:142
std::map< DtUUID, QTreeWidgetItem * > items
Definition: selectionGroupWidget.h:153
The creator class needed to be used to create a DtSelectionGroupWidget.
Definition: selectionGroupWidget.h:168
Base class to provide boost signal/slot management.
WaitingForDiscovery myWaitingForDiscovery
Definition: selectionGroupWidget.h:163
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
A widget class for allowing manipulation of selection groups.
Definition: selectionGroupWidget.h:39

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)