VR-Forces 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  ;
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() override;
58  virtual QMenu* createMenu(makVrv::DtDe& de, QWidget* parent) override;
59  };
60 
62  {
63  Q_OBJECT
64 
65  public:
66  DtVrfSimulationCommandMenu(makVrv::DtDe&, const QString& title, QWidget* parent);
67 
68  virtual ~DtVrfSimulationCommandMenu() override;
69 
70  boost::signals2::signal<void (DtSimCommand&)> signal_addCommand;
71 
73  {
74  myEntitySet = i;
75  }
76 
78  {
79  return myEntitySet;
80  }
81 
82  boost::signals2::signal<void (const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&)> signal_createObject;
83 
85  virtual void setPartOfGlobalPlanDialog(bool);
86 
88  virtual void setAllowPassThru(bool b);
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::signals2::signal<void (DtCommandAssignmentWidgetInterface*)> signal_dialogCreated;
100 
103  boost::signals2::signal<void ()> signal_dialogDestroyed;
104 
105  boost::signals2::signal<void ()> signal_paletteCreated;
106  boost::signals2::signal<void ()> signal_paletteDestroyed;
107 
108  protected slots:
109  virtual void paletteDialogDestroyed();
110  virtual void showPalette(const std::string&, const QString&);
111 
112  protected:
113  virtual void dialogDestroyed(DtCommandAssignmentWidgetInterface*);
114  virtual bool eventFilter(QObject*, QEvent*) override;
115  virtual void actionAdded(QEvent*);
116  virtual void actionRemoved(QEvent*);
117  virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
118  virtual void creatingObject();
119 
120  virtual void slot_onCreateObject(DtEntityMapperKey, std::string markingText, std::string label, DtUUID initialUUID);
121  virtual void slot_onObjectCreated(const DtVrfObjectManipulationHandlerBaseClass::ObjectManipulationData&);
122  virtual void slot_stoppedCreatingObject();
123 
125  virtual void setPartOfGlobalPlanDialog(const QList<QAction*>& acts, bool);
126 
128  virtual void setAllowPassThru(const QList<QAction*>& acts, bool b);
129 
130  virtual void slot_createTaskSetCommandDialog(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
131  const std::set<makVrv::DtUniqueID>& data, int partOfPlan);
132 
133  virtual void slot_createRadioCommandDialog(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
134  const std::set<makVrv::DtUniqueID>& data, int partOfPlan);
135 
136  protected:
139  std::vector<DtVrfSimulationCommandAction*> myConnections;
145  QWidget* myPaletteDialog;
146  boost::signals2::scoped_connection myDialogDestroyedConnection;
147  };
148 
150  {
151  public:
152 
155 
157  virtual ~DtSimulationCommandMenu() override;
158 
160  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent) override;
161 
162  static DtSimulationCommandMenu& instance(makVrv::DtDe&);
163  static DtSimulationCommandMenu* menuInstance(makVrv::DtDe& de);
164 
165  virtual DtSimulationCommandMenu* newInstance();
166 
168  virtual bool useNewStyleTaskAndSetMenus() const;
169 
170  public:
172  virtual DtSubMenuConfiguration& menuConfiguration() override;
173 
175  virtual DtConfigurableMenuAssembler& menuAssembler() override;
176 
177  protected:
179  virtual void createMenuConfiguration(makVrv::DtDe& de) override;
180 
181  protected:
185  };
186 
190  {
191  Q_OBJECT
192 
193  public:
196 
197  protected slots:
198  virtual void showPalette();
199 
200  signals:
201  void showPalette(const std::string&, const QString& title);
202  };
203 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Definition: entityMapperKey.h:19
makVrv::DtSignalConnectionManager myManagedConnections
Definition: simulationCommandMenu.h:143
QWidget * myPaletteDialog
Definition: simulationCommandMenu.h:145
#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:183
Definition: simulationCommandMenu.h:61
Subclass for additional functionality needed by VRF.
Definition: subMenuConfiguration.h:73
bool myCreatingObject
Definition: simulationCommandMenu.h:142
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:138
boost::signals2::signal< void()> signal_paletteDestroyed
Definition: simulationCommandMenu.h:106
boost::signals2::signal< void()> signal_paletteCreated
Definition: simulationCommandMenu.h:105
Definition: simulationCommandMenu.h:149
boost::signals2::signal< void(DtSimCommand &)> signal_addCommand
Definition: simulationCommandMenu.h:70
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidgetInterface.h:30
makVrv::DtSignalConnectionManager myCreationConnections
Definition: simulationCommandMenu.h:144
virtual ~DtSimulationCreateMenuPaletteSignaller() override
Definition: simulationCommandMenu.h:195
makVrv::DtSelectionManager::IdSet myEntitySet
Definition: simulationCommandMenu.h:137
DtCommandAssignmentWidgetInterface * myCurrentDialog
Definition: simulationCommandMenu.h:140
void setEntitySet(const makVrv::DtSelectionManager::IdSet &i)
Definition: simulationCommandMenu.h:72
const makVrv::DtSelectionManager::IdSet & entitySet() const
Definition: simulationCommandMenu.h:77
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:82
Definition: simCommandObjectWrapper.h:42
Definition: vrfObjectManipulationHandlerBaseClass.h:503
boost::signals2::scoped_connection myDialogDestroyedConnection
Definition: simulationCommandMenu.h:146
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
DtSimulationCreateMenuPaletteSignaller(QObject *parent)
Definition: simulationCommandMenu.h:194
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:76
Contains makVrf::DtTaskSetMenu, makVrf::DtVrfTaskSetAction, and makVrf::DtTaskSetMenuItem class...
Definition: vrfTaskSetAction.h:108
Definition: configurableMenu.h:275
bool myConnectedToCreateMenu
Definition: simulationCommandMenu.h:141
std::vector< DtVrfSimulationCommandAction * > myConnections
Definition: simulationCommandMenu.h:139
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
static DtSubMenuConfiguration * theMenuConfiguration
Definition: simulationCommandMenu.h:184
This class will be used as a signaler for each menu such that the signals are not sent by a shared re...
Definition: simulationCommandMenu.h:189
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:103

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)