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 
27 }
28 
29 
30 namespace makVrf
31 {
32  namespace makVrfQt
33  {
34  class DtVrfTaskSetMenu;
35  }
36 
40 
42  {
43  public:
44  DtNewCrowdMenuManager() : makVrv::DtMenuManager()
45  {
46  }
47 
48  void clear()
49  {
50  myMenuItems.clear();
51  myMenus.clear();
52  }
53  };
54 
56  {
57  public:
59 
61  {
63  myMenuManager.clear();
64 
65  myMenuBuilders.clear();
66  myMenuItemBuilders.clear();
67  }
68 
69  virtual void unregisterMenu(const std::string& s)
70  {
71  makVrv::DtMenu* b = menuBuilder(s);
72 
73  if (b)
74  {
75  MenuBuilderMap::iterator iter = myMenuBuilders.begin();
76 
77  while (iter != myMenuBuilders.end())
78  {
79  if (iter->second == b)
80  {
84  MenuBuilderMap::iterator iter2;
85  iter2 = iter;
86  ++iter;
87  myMenuBuilders.erase(iter);
88  }
89  else
90  {
91  ++iter;
92  }
93  }
94  }
95  }
96 
98  QMenuBar* menuBar()
99  {
100  return myMenuBar;
101  }
102 
104  virtual QWidget* menuWindow();
105 
107  virtual makVrv::DtMenuManager& menuManager();
108 
110  QMenu* findMenu(const makVrv::DtMenuPath& path)
111  {
112  return myMenuManager.findMenu(path);
113  }
114 
115  protected:
117  QMenuBar* myMenuBar;
119  };
120 
125  {
126  Q_OBJECT
127 
128  public:
129 
131  DtNewCrowdItemDialog(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
132 
134  virtual ~DtNewCrowdItemDialog();
135 
137  virtual bool init(DtCreateItemData* initialData = NULL);
138 
140  virtual void disableMenus();
141 
143  virtual void enableMenus();
144 
146  virtual void enableMenu(QMenu* qtMenu, bool b);
147 
152  virtual void completeCreation(int num, const DtString & placement, const QString & stringType);
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  };
244 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)