VR-Forces 4.2 Class Documentation
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 
16 #include <vrvCoreQt/DtMenuManager.h>
17 #include <vrvCoreQt/DtQtMenuAssembler.h>
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 
46  class DT_DLL_bhave3DGui DtBhaveNewCrowdMenuManager : public makVrv::DtMenuManager
47  {
48  public:
50  {
51  }
52  };
53 
54  class DT_DLL_bhave3DGui DtBhaveNewCrowdMenuAssembler : public makVrv::DtQtMenuAssembler
55  {
56  public:
58 
60  {
61  myMenuBuilders.clear();
62  myMenuItemBuilders.clear();
63  }
64 
65  virtual void unregisterMenu(const std::string& s)
66  {
67  makVrv::DtMenu* b = menuBuilder(s);
68 
69  if (b)
70  {
71  MenuBuilderMap::iterator iter = myMenuBuilders.begin();
72 
73  while (iter != myMenuBuilders.end())
74  {
75  if (iter->second == b)
76  {
80  MenuBuilderMap::iterator iter2;
81  iter2 = iter;
82  ++iter;
83  myMenuBuilders.erase(iter);
84  }
85  else
86  {
87  ++iter;
88  }
89  }
90  }
91  }
92 
94  QMenuBar* menuBar()
95  {
96  return myMenuBar;
97  }
98 
100  virtual QWidget* menuWindow();
101 
103  virtual makVrv::DtMenuManager& menuManager();
104 
106  QMenu* findMenu(const makVrv::DtMenuPath& path)
107  {
108  return myMenuManager.findMenu(path);
109  }
110 
111  protected:
115  };
116 
121  {
122  Q_OBJECT
123 
124  public:
125 
127  DtBhaveNewCrowdItemDialog(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
128 
130  virtual ~DtBhaveNewCrowdItemDialog();
131 
133  virtual bool init(DtCreateItemData* initialData = NULL);
134 
136  virtual void disableMenus();
137 
139  virtual void enableMenus();
140 
142  virtual void enableMenu(QMenu* qtMenu, bool b);
143 
148  virtual void completeCreation(int num, const DtString & placement, const QString & stringType);
149 
151  virtual void setEntity(const makVrf::DtEntityMapperKey& x);
152 
153  virtual void addSetRequest(const DtSetDataRequest&);
154  virtual void addTaskRequest(const DtSimTask&);
155 
157  virtual const DtCreateItemData & crowdCreationData();
158 
159  protected:
161  virtual void slot_onDialogCreated();
162 
164  virtual void slot_onDialogDestroyed();
165 
166  protected slots:
167 
169  virtual void accept();
170 
172  virtual void onCreateObjectName(QTreeWidgetItem* i, int col);
173 
174  virtual void displayEntityPalette();
175 
176  protected:
177 
179  virtual void setupGui();
180 
182  //virtual void setupUi(QWidget* p);
183 
185  virtual void closeEvent(QCloseEvent* e);
186 
188  virtual bool createMenus();
189  virtual void createEntityPalette();
190  virtual void createTaskMenu();
191  virtual void createSetMenu();
192 
193  virtual void finalizeMenus();
194  virtual void finalizeTaskMenu();
195  virtual void finalizeSetMenu();
196 
197  virtual void setupMenuForCrowdDialog(makVrf::DtVrfTaskSetMenu*);
198 
201  virtual void slot_createObjectType(const makVrf::DtEntityMapperKey& x);
202 
204  virtual void slot_addSetRequest(std::vector<std::string> names, const DtSetDataRequest&);
205 
207  virtual void slot_addTaskRequest(std::vector<std::string> names, const DtSimTask&);
208 
211  virtual void keyPressEvent(QKeyEvent *e);
212 
213  signals:
214 
216  void closing();
217 
220  void accepted(const DtCreateItemData&);
221 
222  protected:
223 
224  Ui::NewCrowdItemDialogUi myUiImpl;
225 
226  makVrv::DtDe& myDe;
227 
229 
231  makVrv::DtMenu* myTaskMenuBuilder;
233  makVrv::DtMenu* mySetMenuBuilder;
234 
236  QString myEntityText;
238  };
239  }
240 }
241 
242 #endif

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)