VR-Forces 4.1.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  bool signalDialogCreation() const
174  {
175  return mySignalDialogCreation;
176  }
177 
180  virtual void setSignalTaskSetRequests(bool b);
181 
182  bool signalTaskSetRequests() const
183  {
184  return mySignalTaskSetRequests;
185  }
186 
187  bool partOfPlanDialog() const
188  {
189  return myPartOfPlanDialog;
190  }
191 
192  const makVrv::DtSelectionManager::IdSet& entitySet() const
193  {
194  return myEntitySet;
195  }
196 
197  void setParentMenu(DtVrfTaskSetMenu* p)
198  {
199  myParentMenu = p;
200  }
201 
202  DtVrfTaskSetMenu* parentMenu()
203  {
204  return myParentMenu;
205  }
206 
208  virtual void clearMenu();
209 
210  public:
211  boost::signal<void (std::vector<std::string> names, const DtSetDataRequest&)> signal_sendSetRequest;
212  boost::signal<void (std::vector<std::string> names, const DtSimTask&)> signal_sendTaskRequest;
213  boost::signal<void (QAction*)> signal_validateMenuItem;
214 
215  virtual void slot_sendSetRequest(std::vector<std::string> names, const DtSetDataRequest& s);
216  virtual void slot_sendTaskRequest(std::vector<std::string> names, const DtSimTask& s);
217 
219  virtual void slot_createTaskSetDialog(int menuItemType, QWidget*, DtVrfTaskSetAction*,
220  const std::vector<makVrv::DtSimEntry*>&, bool);
221  boost::signal<void (int menuItemType, QWidget*, DtVrfTaskSetAction*,
222  const std::vector<makVrv::DtSimEntry*>&, bool, DtVrfTaskSetMenu*)> signal_createTaskSetDialog;
223 
224 
226  virtual void signalCommandDialogCreation(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
227  const std::vector<makVrv::DtSimEntry*>& data, bool partOfPlan);
228  boost::signal<void (int menuItemType, QWidget*, DtVrfTaskSetAction*,
229  const std::vector<makVrv::DtSimEntry*>&, bool, DtVrfTaskSetMenu*)> signal_createCommandDialog;
230 
233  virtual void mergeChangesFrom(const std::string& menu, const DtSubMenuConfiguration&, DtSubMenuConfiguration&,
234  bool maintainOriginalOrder = false);
235 
236  public slots:
237  virtual void validate();
238 
239  protected:
242  virtual void revalidate(makVrv::DtUniqueID);
243 
244  virtual bool eventFilter(QObject *, QEvent *);
245  virtual void actionAdded(QEvent*);
246  virtual void addTaskAction(QAction*);
247  virtual void rebuildToolbar(const std::string&);
248 
249  virtual void validateMenuItems(int terrainPatchOffset);
250  virtual void slot_backendUpdated(const DtVrfBackendState&, int);
251  virtual bool available(int menu, std::vector<int>& l) const;
252  virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
253 
256  virtual std::vector<std::string> whoShouldITask(const std::vector<std::string>& name, const DtSimTask& newTask);
257 
258  virtual void destroyActions(const QList<QAction*>& actions);
259 
263  virtual bool updateSubMenuVisibilityState(QMenu*);
264 
265  protected:
266  typedef std::map<int, std::vector<QAction*> > TaskActions;
274  std::vector<DtVrfTaskSetMenu*> myRadioMenus;
276  std::string myClassName;
279  };
280 }

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)