VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simulationCommandMenu.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
18 
20 
21 #include <QtWidgets/QMenu>
22 
23 #include <matrix/vlVector.h>
24 
25 class QEvent;
26 class DtSimCommand;
27 class DtSimTask;
28 class DtEntityType;
29 class QDialog;
30 
31 namespace makVrv
32 {
33  class DtSimEntry;
34 }
35 
36 namespace makVrf
37 {
38  class DtVrfSimulationCommandAction;
39  class DtSimCommandObjectWrapper;
40  class DtVrfTaskSetAction;
41  class DtMenu;
42  class DtCommandAssignmentWidgetInterface;
43  class DtEntityMapperKey;
44  class DtEntityCreatePalette;
45 
49  {
50  Q_OBJECT
51 
52  public:
54  virtual ~DtSimulationCreateMenu();
55  virtual QMenu* createMenu( makVrv::DtDe& de, QWidget* parent );
56 
57  protected slots:
58  virtual void showPalette();
59 
60  signals:
61  void showPalette(const std::string&, const QString& title);
62  };
63 
65  {
66  Q_OBJECT
67 
68  public:
69  DtVrfSimulationCommandMenu(makVrv::DtDe&, const QString& title, QWidget* parent);
70 
71  virtual ~DtVrfSimulationCommandMenu();
72 
73  boost::signal<void (DtSimCommand&)> signal_addCommand;
74 
75  void setEntitySet(const makVrv::DtSelectionManager::IdSet& i)
76  {
77  myEntitySet = i;
78  }
79 
80  const makVrv::DtSelectionManager::IdSet& entitySet() const
81  {
82  return myEntitySet;
83  }
84 
85  boost::signal<void (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&)> signal_createObject;
86 
88  virtual void setPartOfGlobalPlanDialog(bool);
89 
90  public:
91  virtual void slot_onCommandComplete(const DtSimCommandObjectWrapper&);
92  virtual void slot_onCommandActivated(const std::vector<DtUUID>&, const DtSimTask&);
93  virtual void slot_paletteCreated();
94  virtual void slot_paletteDestroyed();
95 
96  DtCommandAssignmentWidgetInterface* currentDialog() { return myCurrentDialog; };
97 
99  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_dialogCreated;
100 
103  boost::signal<void ()> signal_dialogDestroyed;
104 
105  boost::signal<void ()> signal_paletteCreated;
106  boost::signal<void ()> signal_paletteDestroyed;
107 
108  protected slots:
109  virtual void dialogDestroyed();
110  virtual void paletteDialogDestroyed();
111  virtual void showPalette(const std::string&, const QString&);
112 
113  protected:
114  virtual bool eventFilter(QObject *, QEvent *);
115  virtual void actionAdded(QEvent*);
116  virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
117  virtual void creatingObject();
118 
119  virtual void slot_onCreateObject(DtEntityMapperKey, std::string markingText, DtUUID initialUUID);
120  virtual void slot_onObjectCreated(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
121  virtual void slot_stoppedCreatingObject();
122 
124  virtual void setPartOfGlobalPlanDialog(const QList<QAction*>& acts, bool);
125 
126  virtual void slot_createTaskSetCommandDialog(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
127  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan);
128 
129  virtual void slot_createRadioCommandDialog(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
130  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan);
131 
132  protected:
135  std::vector<DtVrfSimulationCommandAction*> myConnections;
141  QWidget* myPaletteDialog;
142  };
143 
145  {
146  public:
147 
150 
152  virtual ~DtSimulationCommandMenu();
153 
155  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent);
156 
157  static DtSimulationCommandMenu& instance(makVrv::DtDe&);
158  static DtSimulationCommandMenu* menuInstance(makVrv::DtDe& de);
159 
160  virtual DtSimulationCommandMenu* newInstance();
161 
163  virtual bool useNewStyleTaskAndSetMenus() const;
164 
165  public:
167  virtual DtSubMenuConfiguration& menuConfiguration();
168 
170  virtual DtConfigurableMenuAssembler& menuAssembler();
171 
172  protected:
174  virtual void createMenuConfiguration(makVrv::DtDe& de);
175 
176  protected:
180  };
181 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)