VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEntityPlanManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
19 #endif
20 
21 #include <boost/signals2.hpp>
22 
23 #include <QtCore/QString>
24 #include <QtCore/QHash>
25 #include <QtCore/QObject>
26 #include <QtWidgets/QWidget>
27 
28 namespace makVrv
29 {
30  class DtDe;
31 }
32 
33 #define DtPlanDialogToken "DtPlanDialogToken"
34 
35 namespace makVrf
36 {
37  class DtEditEntityPlanWidget;
38 
41  {
42  Q_OBJECT
43 
44  public:
46 
47  virtual ~DtVrfEntityPlanManagerMessager() override;
48 
49  public:
50  virtual void connectSignals(DtEditEntityPlanWidget*);
51  boost::signals2::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetDestroyed;
52 
53  protected slots:
54  virtual void onEditPlanWidgetDestroyed();
55 
56  protected:
58  };
59 
64  {
65  public:
67  virtual ~DtVrfEntityPlanManager() override;
68 
70  static DtVrfEntityPlanManager& instance(makVrv::DtDe& de);
71 
72  public:
74  virtual DtEditEntityPlanWidget* editPlansFor(const makVrv::DtSelectionManager::IdSet&, QWidget* parent);
75 
77  virtual void editGlobalPlans(QWidget* parent);
78 
80  virtual QList<QString> hasModifiedPlans();
81 
83  virtual void saveModifiedPlans(QList<QString> plans);
84 
88  virtual bool askAndSavePlans(QWidget* mainWindow);
89  virtual bool askAndSavePlans(QWidget* mainWindow, bool& dirty);
90 
91  protected:
92  virtual DtEditEntityPlanWidget* createEditEntityPlanWidget(QWidget*, const Qt::WindowFlags& f = 0) const;
93 
94  virtual void slot_editEntityPlanWidgetDestroyed(DtEditEntityPlanWidget*);
95 
97  virtual void cleanup(makVrv::DtDe&);
98 
99  virtual void slot_stateAdded(DtSimObjectReference state);
100 
101  public:
102  boost::signals2::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetCreated;
103  boost::signals2::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetDestroyed;
104  boost::signals2::signal<void(makVrv::DtUniqueID, std::string)> signal_showGlobalPlan;
105 
106  protected:
108  QHash<QString, DtEditEntityPlanWidget*> myEditPlanDialogs;
111  };
112 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
boost::signals2::signal< void(DtEditEntityPlanWidget *)> signal_editEntityPlanWidgetDestroyed
Definition: vrfEntityPlanManager.h:51
Contains makVrv:DtSelectionManager class.
boost::signals2::signal< void(makVrv::DtUniqueID, std::string)> signal_showGlobalPlan
Definition: vrfEntityPlanManager.h:104
boost::signals2::signal< void(DtEditEntityPlanWidget *)> signal_editEntityPlanWidgetDestroyed
Definition: vrfEntityPlanManager.h:103
This class will contain all plan dialogs currently open for entities and manage their removal when an...
Definition: vrfEntityPlanManager.h:63
QHash< QString, DtEditEntityPlanWidget * > myEditPlanDialogs
Definition: vrfEntityPlanManager.h:108
DtVrfEntityPlanManagerMessager myMessager
Definition: vrfEntityPlanManager.h:109
Contains makVrv::DtVirtualBaseClass class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtDe & myDe
Definition: vrfEntityPlanManager.h:107
makVrv::DtDe & myDe
Definition: vrfEntityPlanManager.h:57
makVrv::DtSignalConnectionManager myConnections
Definition: vrfEntityPlanManager.h:110
Definition: editEntityPlanWidget.h:26
Base class to provide boost signal/slot management.
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
Interface class from non-qt based DtVrfEntityPlanManager class and Qt signals/slots.
Definition: vrfEntityPlanManager.h:40
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
boost::signals2::signal< void(DtEditEntityPlanWidget *)> signal_editEntityPlanWidgetCreated
Definition: vrfEntityPlanManager.h:102

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)