VR-Forces 5.0.1 Developer's Guide
 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 #if !defined(Q_MOC_RUN)
14 
19 
21 #endif
22 #include <boost/signals2.hpp>
23 
24 #include <QtWidgets/QMenu>
25 
26 #include <matrix/vlVector.h>
27 
28 class QEvent;
29 class DtSimCommand;
30 class DtSimTask;
31 class DtEntityType;
32 class QDialog;
33 
34 namespace makVrv
35 {
36  class DtSimEntry;
37 }
38 
39 namespace makVrf
40 {
41  class DtVrfSimulationCommandAction;
42  class DtSimCommandObjectWrapper;
43  class DtVrfTaskSetAction;
44  class DtMenu;
45  class DtCommandAssignmentWidgetInterface;
46  class DtEntityMapperKey;
47  class DtEntityCreatePalette;
48 
52  {
53  Q_OBJECT
54 
55  public:
57  virtual ~DtSimulationCreateMenu();
58  virtual QMenu* createMenu( makVrv::DtDe& de, QWidget* parent );
59 
60  protected slots:
61  virtual void showPalette();
62 
63  signals:
64  void showPalette(const std::string&, const QString& title);
65  };
66 
68  {
69  Q_OBJECT
70 
71  public:
72  DtVrfSimulationCommandMenu(makVrv::DtDe&, const QString& title, QWidget* parent);
73 
74  virtual ~DtVrfSimulationCommandMenu();
75 
76  boost::signals2::signal<void (DtSimCommand&)> signal_addCommand;
77 
79  {
80  myEntitySet = i;
81  }
82 
84  {
85  return myEntitySet;
86  }
87 
88  boost::signals2::signal<void (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&)> signal_createObject;
89 
91  virtual void setPartOfGlobalPlanDialog(bool);
92 
94  virtual void setAllowPassThru(bool b);
95 
96  public:
97  virtual void slot_onCommandComplete(const DtSimCommandObjectWrapper&);
98  virtual void slot_onCommandActivated(const std::vector<DtUUID>&, const DtSimTask&);
99  virtual void slot_paletteCreated();
100  virtual void slot_paletteDestroyed();
101 
102  DtCommandAssignmentWidgetInterface* currentDialog() { return myCurrentDialog; };
103 
105  boost::signals2::signal<void (DtCommandAssignmentWidgetInterface*)> signal_dialogCreated;
106 
109  boost::signals2::signal<void ()> signal_dialogDestroyed;
110 
111  boost::signals2::signal<void ()> signal_paletteCreated;
112  boost::signals2::signal<void ()> signal_paletteDestroyed;
113 
114  protected slots:
115  virtual void paletteDialogDestroyed();
116  virtual void showPalette(const std::string&, const QString&);
117 
118  protected:
119  virtual void dialogDestroyed(DtCommandAssignmentWidgetInterface*);
120  virtual bool eventFilter(QObject *, QEvent *);
121  virtual void actionAdded(QEvent*);
122  virtual void actionRemoved(QEvent*);
123  virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
124  virtual void creatingObject();
125 
126  virtual void slot_onCreateObject(DtEntityMapperKey, std::string markingText, DtUUID initialUUID);
127  virtual void slot_onObjectCreated(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
128  virtual void slot_stoppedCreatingObject();
129 
131  virtual void setPartOfGlobalPlanDialog(const QList<QAction*>& acts, bool);
132 
134  virtual void setAllowPassThru(const QList<QAction*>& acts, bool b);
135 
136  virtual void slot_createTaskSetCommandDialog(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
137  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan);
138 
139  virtual void slot_createRadioCommandDialog(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
140  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan);
141 
142  protected:
145  std::vector<DtVrfSimulationCommandAction*> myConnections;
151  QWidget* myPaletteDialog;
152  boost::signals2::scoped_connection myDialogDestroyedConnection;
153  };
154 
156  {
157  public:
158 
161 
163  virtual ~DtSimulationCommandMenu();
164 
166  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent);
167 
168  static DtSimulationCommandMenu& instance(makVrv::DtDe&);
169  static DtSimulationCommandMenu* menuInstance(makVrv::DtDe& de);
170 
171  virtual DtSimulationCommandMenu* newInstance();
172 
174  virtual bool useNewStyleTaskAndSetMenus() const;
175 
176  public:
178  virtual DtSubMenuConfiguration& menuConfiguration();
179 
181  virtual DtConfigurableMenuAssembler& menuAssembler();
182 
183  protected:
185  virtual void createMenuConfiguration(makVrv::DtDe& de);
186 
187  protected:
191  };
192 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
Definition: entityMapperKey.h:23
makVrv::DtSignalConnectionManager myManagedConnections
Definition: simulationCommandMenu.h:149
QWidget * myPaletteDialog
Definition: simulationCommandMenu.h:151
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Contains makVrv:DtSelectionManager class.
static DtConfigurableMenuAssembler * theMenuAssembler
Variables used to store initial menu configuration.
Definition: simulationCommandMenu.h:189
Definition: simulationCommandMenu.h:67
Subclass for additional functionality needed by VRF.
Definition: subMenuConfiguration.h:73
bool myCreatingObject
Definition: simulationCommandMenu.h:148
Menu that is used to show all palettes available, and, when selected, bring up a palette and signal w...
Definition: simulationCommandMenu.h:51
makVrv::DtDe & myDe
Definition: simulationCommandMenu.h:144
boost::signals2::signal< void()> signal_paletteDestroyed
Definition: simulationCommandMenu.h:112
boost::signals2::signal< void()> signal_paletteCreated
Definition: simulationCommandMenu.h:111
Definition: simulationCommandMenu.h:155
boost::signals2::signal< void(DtSimCommand &)> signal_addCommand
Definition: simulationCommandMenu.h:76
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidgetInterface.h:30
makVrv::DtSignalConnectionManager myCreationConnections
Definition: simulationCommandMenu.h:150
makVrv::DtSelectionManager::IdSet myEntitySet
Definition: simulationCommandMenu.h:143
DtCommandAssignmentWidgetInterface * myCurrentDialog
Definition: simulationCommandMenu.h:146
void setEntitySet(const makVrv::DtSelectionManager::IdSet &i)
Definition: simulationCommandMenu.h:78
const makVrv::DtSelectionManager::IdSet & entitySet() const
Definition: simulationCommandMenu.h:83
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSimCommand is an abstract base class from which commands can derive. It manages the read/write capa...
Definition: simCommand.h:32
boost::signals2::signal< void(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData &)> signal_createObject
Definition: simulationCommandMenu.h:88
Definition: simCommandObjectWrapper.h:42
Definition: vrfObjectManipulationHandlerBaseClass.h:492
boost::signals2::scoped_connection myDialogDestroyedConnection
Definition: simulationCommandMenu.h:152
The abstract base menu class.
Definition: DtMenu.h:23
Base class to provide boost signal/slot management.
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
Definition: translator.h:58
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Contains makVrf::DtTaskSetMenu, makVrf::DtVrfTaskSetAction, and makVrf::DtTaskSetMenuItem class...
Definition: vrfTaskSetAction.h:106
Definition: configurableMenu.h:273
bool myConnectedToCreateMenu
Definition: simulationCommandMenu.h:147
std::vector< DtVrfSimulationCommandAction * > myConnections
Definition: simulationCommandMenu.h:145
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
static DtSubMenuConfiguration * theMenuConfiguration
Definition: simulationCommandMenu.h:190
Used by menu classes to modify menu registrations in a menu.
Definition: configurableMenu.h:120
boost::signals2::signal< void()> signal_dialogDestroyed
Signal sent when the current editing dialog is destroyed. Will not be sent if this menu is being dest...
Definition: simulationCommandMenu.h:109

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)