VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
bhaveNewCrowdItemDialog.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2009 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: bhaveNewCrowdItemDialog.h,v $ $Revision: 1.1 $ $State: Exp $
7 *********************************************************************/
8 
11 
12 #ifndef bhave3DNewCrowdItemDialog_H_
13 #define bhave3DNewCrowdItemDialog_H_
14 
18 #include <vrvUtil/signalslib.h>
19 
21 #include "bhave3DGui/ui_bhaveNewCrowdItemDialogUi.h"
23 
24 class QTreeWidgetItem;
25 
26 namespace makVrf
27 {
28  namespace makVrfQt
29  {
30  class DtVrfTaskSetMenu;
31  }
32 }
33 
34 
35 namespace BHAVE
36 {
37  namespace BHAVE3DGui
38  {
39 
40  class DtBhaveEntityCreatePalette;
41 
45 
47  {
48  public:
49  DtBhaveNewCrowdMenuManager() : makVrv::DtMenuManager()
50  {
51  }
52 
53  void clear()
54  {
55  myMenuItems.clear();
56  myMenus.clear();
57  }
58  };
59 
61  {
62  public:
64 
66  {
68  myMenuManager.clear();
69 
70  myMenuBuilders.clear();
71  myMenuItemBuilders.clear();
72  }
73 
74  virtual void unregisterMenu(const std::string& s)
75  {
76  makVrv::DtMenu* b = menuBuilder(s);
77 
78  if (b)
79  {
80  MenuBuilderMap::iterator iter = myMenuBuilders.begin();
81 
82  while (iter != myMenuBuilders.end())
83  {
84  if (iter->second == b)
85  {
89  MenuBuilderMap::iterator iter2;
90  iter2 = iter;
91  ++iter;
92  myMenuBuilders.erase(iter);
93  }
94  else
95  {
96  ++iter;
97  }
98  }
99  }
100  }
101 
103  QMenuBar* menuBar()
104  {
105  return myMenuBar;
106  }
107 
109  virtual QWidget* menuWindow();
110 
112  virtual makVrv::DtMenuManager& menuManager();
113 
115  QMenu* findMenu(const makVrv::DtMenuPath& path)
116  {
117  return myMenuManager.findMenu(path);
118  }
119 
120  protected:
122  QMenuBar* myMenuBar;
124  };
125 
130  {
131  Q_OBJECT
132 
133  public:
134 
136  DtBhaveNewCrowdItemDialog(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
137 
139  virtual ~DtBhaveNewCrowdItemDialog();
140 
142  virtual bool init(DtCreateItemData* initialData = NULL);
143 
145  virtual void disableMenus();
146 
148  virtual void enableMenus();
149 
151  virtual void enableMenu(QMenu* qtMenu, bool b);
152 
157  virtual void completeCreation(int num, const DtString & placement, const QString & stringType);
158 
160  virtual void setEntity(const makVrf::DtEntityMapperKey& x);
161 
162  virtual void addSetRequest(const DtSetDataRequest&);
163  virtual void addTaskRequest(const DtSimTask&);
164 
166  virtual const DtCreateItemData & crowdCreationData();
167 
168  protected:
170  virtual void slot_onDialogCreated();
171 
173  virtual void slot_onDialogDestroyed();
174 
175  protected slots:
176 
178  virtual void accept();
179 
181  virtual void onCreateObjectName(QTreeWidgetItem* i, int col);
182 
183  virtual void displayEntityPalette();
184 
185  protected:
186 
188  virtual void setupGui();
189 
191  //virtual void setupUi(QWidget* p);
192 
194  virtual void closeEvent(QCloseEvent* e);
195 
197  virtual bool createMenus();
198  virtual void createEntityPalette();
199  virtual void createTaskMenu();
200  virtual void createSetMenu();
201 
202  virtual void finalizeMenus();
203  virtual void finalizeTaskMenu();
204  virtual void finalizeSetMenu();
205 
206  virtual void setupMenuForCrowdDialog(makVrf::DtVrfTaskSetMenu*);
207 
210  virtual void slot_createObjectType(const makVrf::DtEntityMapperKey& x);
211 
213  virtual void slot_addSetRequest(std::vector<std::string> names, const DtSetDataRequest&);
214 
216  virtual void slot_addTaskRequest(std::vector<std::string> names, const DtSimTask&);
217 
220  virtual void keyPressEvent(QKeyEvent *e);
221 
222  signals:
223 
225  void closing();
226 
229  void accepted(const DtCreateItemData&);
230 
231  protected:
232 
233  Ui::NewCrowdItemDialogUi myUiImpl;
234 
236 
238 
243 
245  QString myEntityText;
247  };
248  }
249 }
250 
251 #endif

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)