VR-Forces 5.0.3 Developer's Guide
 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 class QToolButton;
34 
35 namespace makVrf
36 {
37  class DtVrfFilteredListView;
38 
41  {
42  Q_OBJECT
43 
44  public:
45 
47  DtSelectionGroupWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
48 
50  virtual ~DtSelectionGroupWidget();
51 
53  virtual QIcon icon();
54 
57  virtual makVrv::DtQIconConfigurations qIconConfigurations() const;
58 
60  virtual QString title();
61 
63  virtual const std::string& pageClassName() const;
64 
65  protected:
66 
68  virtual void activate() override;
69 
71  virtual void deactivate() override;
72 
74  void setupUi();
75 
78  virtual void initialize();
79 
81  virtual void showEvent(QShowEvent*);
82 
84  virtual void onSelectionGroupAdded(std::string);
85 
87  virtual void onSelectionGroupRemoved(std::string);
88 
90  virtual void onSelectionGroupRenamed(std::string, std::string);
91 
93  virtual void setupFromSelectionGroupManager();
94 
96  virtual void onSelectionChanged();
97 
99  virtual void onSelectionGroupSelected(std::string);
100 
102  virtual void onItemsAddedToSelectionGroup(std::string, DtSelectionGroupManager::GroupItems);
103 
105  virtual void onItemsRemovedFromSelectionGroup(std::string, DtSelectionGroupManager::GroupItems);
106 
108  virtual void onSelectionGroupsCleared();
109 
111  virtual void onSelectionGroupCleared(std::string);
112 
114  virtual void slot_rightClickOnItem(QPoint global);
115 
117  virtual std::set<std::string> selectionGroupsSelected() const;
118 
119  protected slots:
120  virtual void onAddSelectionGroup();
121  virtual void onRemoveSelectionGroup();
122  virtual void onItemSelectionChanged();
123  virtual void onGroupRenamed();
124  virtual void onRemoveFromSelectionGroup();
125 
126  protected:
128  virtual QSize sizeHint() const;
129 
131  virtual void validateButtons();
132 
134  virtual QString getGroupName(const QString& initialName) const;
135 
136  virtual void onItemRemovedFromSelectionGroups(DtUUID);
137 
138  virtual void onFilterListItemAboutToBeRemoved(QTreeWidgetItem*);
139 
140  virtual void onStateAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>*);
141 
142  public:
143  QVBoxLayout* myMainLayout;
144  QHBoxLayout* myButtonLayout;
151 
152  protected:
153  std::string myClassName;
154 
156  {
158  std::map<DtUUID, QTreeWidgetItem*> items;
159  };
160 
161  typedef std::map<std::string, SelectionGroup> SelectionGroups;
163 
164  typedef std::map<QTreeWidgetItem*, std::string> GroupListItems;
166 
167  typedef boost::unordered_map<DtUUID, std::set<std::string> > WaitingForDiscovery;
169  };
170 
174  {
175  public:
176 
179 
182 
186  virtual std::string pageClassName() const;
187 
189  virtual makVrv::DtPage* create(QWidget* parent = 0, Qt::WindowFlags f = 0);
190  };
191 }
192 
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
Definition: selectionGroupWidget.h:155
QTreeWidgetItem * parent
Definition: selectionGroupWidget.h:157
std::map< std::string, SelectionGroup > SelectionGroups
Definition: selectionGroupWidget.h:161
std::map< QTreeWidgetItem *, std::string > GroupListItems
Definition: selectionGroupWidget.h:164
Contains makVrv::DtPage class.
std::set< DtUUID > GroupItems
Definition: selectionGroupManager.h:55
QToolButton * myRemoveSelectionGroup
Definition: selectionGroupWidget.h:146
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
QVBoxLayout * myMainLayout
Definition: selectionGroupWidget.h:143
Contains makVrv::DtStateView class.
The page creator. This class should be extended by all page classes.
Definition: DtPage.h:121
QToolButton * myAddSelectionGroup
Definition: selectionGroupWidget.h:145
DtVrfFilteredListView * mySelectionGroupsList
Definition: selectionGroupWidget.h:148
GroupListItems myGroupListItems
Definition: selectionGroupWidget.h:165
QToolButton * myRemoveFromSelectionGroup
Definition: selectionGroupWidget.h:147
std::string myClassName
Definition: selectionGroupWidget.h:153
boost::unordered_map< DtUUID, std::set< std::string > > WaitingForDiscovery
Definition: selectionGroupWidget.h:167
bool myInitialized
Definition: selectionGroupWidget.h:150
QHBoxLayout * myButtonLayout
Definition: selectionGroupWidget.h:144
makVrv::DtSignalConnectionManager myConnectionManager
Definition: selectionGroupWidget.h:149
SelectionGroups mySelectionGroups
Definition: selectionGroupWidget.h:162
A widget class for managing a DtVrfTreeWidget of objects which supports user-defined filters...
Definition: vrfFilteredListView.h:63
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
The page is a single widget component which is viewed in a page collection.
Definition: DtPage.h:30
std::map< DtUUID, QTreeWidgetItem * > items
Definition: selectionGroupWidget.h:158
The creator class needed to be used to create a DtSelectionGroupWidget.
Definition: selectionGroupWidget.h:173
Base class to provide boost signal/slot management.
WaitingForDiscovery myWaitingForDiscovery
Definition: selectionGroupWidget.h:168
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:70
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:75
A widget class for allowing manipulation of selection groups.
Definition: selectionGroupWidget.h:40

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)