VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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 "newCrowdItemDialogUi.hpp"
21 
22 #include <QDialog>
23 
24 class QTreeWidgetItem;
25 
26 namespace makVrf
27 {
28  class DtRateEntryWidget;
29 
30  namespace makVrfQt
31  {
32  class DtVrfTaskSetMenu;
33  }
34 
38 
40  {
41  public:
42  DtNewCrowdMenuManager() : makVrv::DtMenuManager()
43  {
44  }
45 
46  void clear()
47  {
48  myMenuItems.clear();
49  myMenus.clear();
50  }
51  };
52 
54  {
55  public:
56  DtNewCrowdMenuAssembler(makVrv::DtDe&, QWidget*, QMenuBar*);
57 
59  {
61  myMenuManager.clear();
62 
63  myMenuBuilders.clear();
64  myMenuItemBuilders.clear();
65  }
66 
67  virtual void unregisterMenu(const std::string& s)
68  {
69  makVrv::DtMenu* b = menuBuilder(s);
70 
71  if (b)
72  {
73  MenuBuilderMap::iterator iter = myMenuBuilders.begin();
74 
75  while (iter != myMenuBuilders.end())
76  {
77  if (iter->second == b)
78  {
82  MenuBuilderMap::iterator iter2;
83  iter2 = iter;
84  ++iter;
85  myMenuBuilders.erase(iter);
86  }
87  else
88  {
89  ++iter;
90  }
91  }
92  }
93  }
94 
96  QMenuBar* menuBar()
97  {
98  return myMenuBar;
99  }
100 
102  virtual QWidget* menuWindow();
103 
105  virtual makVrv::DtMenuManager& menuManager();
106 
108  QMenu* findMenu(const makVrv::DtMenuPath& path)
109  {
110  return myMenuManager.findMenu(path);
111  }
112 
113  protected:
114  QWidget* myMainWindow;
115  QMenuBar* myMenuBar;
117  };
118 
123  {
124  Q_OBJECT
125 
126  public:
127 
129  DtNewCrowdItemDialog(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
130 
132  virtual ~DtNewCrowdItemDialog();
133 
135  virtual bool init(DtCreateItemData* initialData = NULL);
136 
138  virtual void disableMenus();
139 
141  virtual void enableMenus();
142 
144  virtual void enableMenu(QMenu* qtMenu, bool b);
145 
152  virtual void completeCreation(int num, const DtString & placement,
153  const QString & stringType, bool useDefaultSpeed,
154  double minSpeed, double maxSpeed);
155 
157  virtual void setEntity(const makVrf::DtEntityMapperKey& x);
158 
159  virtual void addSetRequest(const DtSetDataRequest&);
160  virtual void addTaskRequest(const DtSimTask&);
161 
163  virtual const DtCreateItemData & crowdCreationData();
164 
165  protected:
167  virtual void slot_onDialogCreated();
168 
170  virtual void slot_onDialogDestroyed();
171 
172  protected slots:
173 
175  virtual void accept();
176 
178  virtual void onCreateObjectName(QTreeWidgetItem* i, int col);
179 
180  virtual void displayEntityPalette();
181 
182  protected:
183 
185  virtual void setupGui();
186 
188  //virtual void setupUi(QWidget* p);
189 
191  virtual void closeEvent(QCloseEvent* e);
192 
194  virtual bool createMenus();
195  virtual void createEntityPalette();
196  virtual void createTaskMenu();
197  virtual void createSetMenu();
198 
199  virtual void finalizeMenus();
200  virtual void finalizeTaskMenu();
201  virtual void finalizeSetMenu();
202 
203  virtual void setupMenuForCrowdDialog(makVrf::DtVrfTaskSetMenu*);
204 
207  virtual void slot_createObjectType(const makVrf::DtEntityMapperKey& x);
208 
210  virtual void slot_addSetRequest(std::vector<DtUUID> names, const DtSetDataRequest&);
211 
213  virtual void slot_addTaskRequest(std::vector<DtUUID> names, const DtSimTask&);
214 
217  virtual void keyPressEvent(QKeyEvent *e);
218  virtual void paletteItemsAdded();
219 
220  signals:
221 
223  void closing();
224 
227  void accepted(const DtCreateItemData&);
228 
229  protected:
230 
231  Ui::NewCrowdItemDialogUi myUiImpl;
232 
234 
236 
241 
243  QString myEntityText;
245 
249  };
250 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)