VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
newCrowdItemDialog.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2015 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
8 
9 #pragma once
10 
12 #include <vrfGuiCore/menu.h>
16 #include <vrvUtil/signalslib.h>
17 
19 #include <vrfGuiCoreQt/newCrowdItemDialogUi.hpp>
21 
22 class QTreeWidgetItem;
23 
24 namespace makVrf
25 {
26  class DtRateEntryWidget;
27 
28  namespace makVrfQt
29  {
30  class DtVrfTaskSetMenu;
31  }
32 
36 
38  {
39  public:
40  DtNewCrowdMenuManager() : makVrv::DtMenuManager()
41  {
42  }
43 
44  void clear()
45  {
46  myMenuItems.clear();
47  myMenus.clear();
48  }
49  };
50 
52  {
53  public:
55 
57  {
59  myMenuManager.clear();
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:
113  QMenuBar* myMenuBar;
115  };
116 
121  {
122  Q_OBJECT
123 
124  public:
125 
127  DtNewCrowdItemDialog(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
128 
130  virtual ~DtNewCrowdItemDialog();
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 
150  virtual void completeCreation(int num, const DtString & placement,
151  const QString & stringType, bool useDefaultSpeed,
152  double minSpeed, double maxSpeed);
153 
155  virtual void setEntity(const makVrf::DtEntityMapperKey& x);
156 
157  virtual void addSetRequest(const DtSetDataRequest&);
158  virtual void addTaskRequest(const DtSimTask&);
159 
161  virtual const DtCreateItemData & crowdCreationData();
162 
163  protected:
165  virtual void slot_onDialogCreated();
166 
168  virtual void slot_onDialogDestroyed();
169 
170  protected slots:
171 
173  virtual void accept();
174 
176  virtual void onCreateObjectName(QTreeWidgetItem* i, int col);
177 
178  virtual void displayEntityPalette();
179 
180  protected:
181 
183  virtual void setupGui();
184 
186  //virtual void setupUi(QWidget* p);
187 
189  virtual void closeEvent(QCloseEvent* e);
190 
192  virtual bool createMenus();
193  virtual void createEntityPalette();
194  virtual void createTaskMenu();
195  virtual void createSetMenu();
196 
197  virtual void finalizeMenus();
198  virtual void finalizeTaskMenu();
199  virtual void finalizeSetMenu();
200 
201  virtual void setupMenuForCrowdDialog(makVrf::DtVrfTaskSetMenu*);
202 
205  virtual void slot_createObjectType(const makVrf::DtEntityMapperKey& x);
206 
208  virtual void slot_addSetRequest(std::vector<DtUUID> names, const DtSetDataRequest&);
209 
211  virtual void slot_addTaskRequest(std::vector<DtUUID> names, const DtSimTask&);
212 
215  virtual void keyPressEvent(QKeyEvent *e);
216  virtual void paletteItemsAdded();
217 
218  signals:
219 
221  void closing();
222 
225  void accepted(const DtCreateItemData&);
226 
227  protected:
228 
229  Ui::NewCrowdItemDialogUi myUiImpl;
230 
232 
234 
239 
241  QString myEntityText;
243 
247  };
248 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)