VR-Forces 4.1 Class Documentation
DtVrfTaskSetMenu.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
6 #pragma once
7 
11 
12 #include <vrvCoreQt/DtMenuItem.h>
14 
15 #include <QtGui/QAction>
16 
17 class QEvent;
18 class DtSetDataRequest;
19 class DtSimTask;
20 
21 namespace makVrv
22 {
23  class DtSimEntry;
24 }
25 
26 namespace makVrf
27 {
28  class DtVrfBackendState;
29  class DtVrfTaskSetMenu;
30 
38  {
39  Q_OBJECT
40 
41  public:
45  DtVrfTaskSetMenuItem(const std::string&, makVrv::DtDe&);
46 
48  virtual ~DtVrfTaskSetMenuItem();
49 
50  protected:
61  virtual QAction* registerMenuItem(const QString& title, QWidget* parent, int iAction, const QString& iconBaseName);
62 
64  virtual void on_triggered();
65 
66  protected:
68  };
69 
75  {
76  Q_OBJECT
77 
78  public:
82 
84  virtual ~DtVrfTaskSetAction();
85 
88  void setParentMenu(DtVrfTaskSetMenu* p)
89  {
90  myParentMenu = p;
91  }
92 
95  DtVrfTaskSetMenu* parentMenu()
96  {
97  return myParentMenu;
98  }
99 
100  public:
104  virtual void slot_onSendSetRequest(std::vector<std::string> names, const DtSetDataRequest&);
105 
110  boost::signal<void (std::vector<std::string> names, const DtSetDataRequest&)> signal_sendSetRequest;
111 
115  virtual void slot_onSendTaskRequest(std::vector<std::string> names, const DtSimTask&);
116 
121  boost::signal<void (std::vector<std::string> names, const DtSimTask&)> signal_sendTaskRequest;
122 
130  boost::signal<void (int menuItemType, QWidget*, DtVrfTaskSetAction*,
131  const std::vector<makVrv::DtSimEntry*>&, bool)> signal_createTaskSetDialog;
132 
133  public:
136  virtual void on_triggered();
137 
138  protected:
141  };
142 
150  {
151  Q_OBJECT
152 
153  public:
154 
156  DtVrfTaskSetMenu(const std::string& className, const QString& title, QWidget* parent, makVrv::DtDe&);
157 
159  virtual ~DtVrfTaskSetMenu();
160 
161  virtual void setValidate(bool b);
162  virtual void setPartOfPlanDialog(bool b);
163  virtual void setEntitySet(const makVrv::DtSelectionManager::IdSet& set);
164  virtual void setMenuItemValidation(bool b);
165 
168  virtual void setHideDisabledItem(bool yesNo);
169 
171  virtual void setSignalDialogCreation(bool b);
172 
173  const DtConfigurableMenuAssembler& assembler() const
174  {
175  return myAssembler;
176  }
177 
178  bool signalDialogCreation() const
179  {
180  return mySignalDialogCreation;
181  }
182 
185  virtual void setSignalTaskSetRequests(bool b);
186 
187  bool signalTaskSetRequests() const
188  {
189  return mySignalTaskSetRequests;
190  }
191 
192  bool partOfPlanDialog() const
193  {
194  return myPartOfPlanDialog;
195  }
196 
197  const makVrv::DtSelectionManager::IdSet& entitySet() const
198  {
199  return myEntitySet;
200  }
201 
202  void setParentMenu(DtVrfTaskSetMenu* p)
203  {
204  myParentMenu = p;
205  }
206 
207  DtVrfTaskSetMenu* parentMenu()
208  {
209  return myParentMenu;
210  }
211 
213  virtual void clearMenu();
214 
215  public:
216  boost::signal<void (std::vector<std::string> names, const DtSetDataRequest&)> signal_sendSetRequest;
217  boost::signal<void (std::vector<std::string> names, const DtSimTask&)> signal_sendTaskRequest;
218  boost::signal<void (QAction*)> signal_validateMenuItem;
219 
220  virtual void slot_sendSetRequest(std::vector<std::string> names, const DtSetDataRequest& s);
221  virtual void slot_sendTaskRequest(std::vector<std::string> names, const DtSimTask& s);
222 
224  virtual void slot_createTaskSetDialog(int menuItemType, QWidget*, DtVrfTaskSetAction*,
225  const std::vector<makVrv::DtSimEntry*>&, bool);
226  boost::signal<void (int menuItemType, QWidget*, DtVrfTaskSetAction*,
227  const std::vector<makVrv::DtSimEntry*>&, bool, DtVrfTaskSetMenu*)> signal_createTaskSetDialog;
228 
229 
231  virtual void signalCommandDialogCreation(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
232  const std::vector<makVrv::DtSimEntry*>& data, bool partOfPlan);
233  boost::signal<void (int menuItemType, QWidget*, DtVrfTaskSetAction*,
234  const std::vector<makVrv::DtSimEntry*>&, bool, DtVrfTaskSetMenu*)> signal_createCommandDialog;
235 
238  virtual void mergeChangesFrom(const std::string& menu, const DtSubMenuConfiguration&, DtSubMenuConfiguration&,
239  bool maintainOriginalOrder = false);
240 
241  public slots:
242  virtual void validate();
243 
244  protected:
247  virtual void revalidate(makVrv::DtUniqueID);
248 
249  virtual bool eventFilter(QObject *, QEvent *);
250  virtual void actionAdded(QEvent*);
251  virtual void addTaskAction(QAction*);
252  virtual void rebuildToolbar(const std::string&);
253 
254  virtual void validateMenuItems(int terrainPatchOffset);
255  virtual void slot_backendUpdated(const DtVrfBackendState&, int);
256  virtual bool available(int menu, std::vector<int>& l) const;
257  virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
258 
261  virtual std::vector<std::string> whoShouldITask(const std::vector<std::string>& name, const DtSimTask& newTask);
262 
263  virtual void destroyActions(const QList<QAction*>& actions);
264 
268  virtual bool updateSubMenuVisibilityState(QMenu*);
269 
270  protected:
271  typedef std::map<int, std::vector<QAction*> > TaskActions;
279  std::vector<DtVrfTaskSetMenu*> myRadioMenus;
281  std::string myClassName;
284 
286  };
287 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)