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)
18 #include <vrvCore/DtStateView.h>
19 #include <vrvCore/DtEntityState.h>
20 #endif
21 
22 #include <boost/signals2.hpp>
23 
24 #include <QtCore/QString>
25 #include <QtCore/QHash>
26 #include <QtCore/QObject>
27 #include <QtWidgets/QWidget>
28 
29 namespace makVrv
30 {
31  class DtDe;
32 }
33 
34 #define DtPlanDialogToken "DtPlanDialogToken"
35 
36 namespace makVrf
37 {
38  class DtEditEntityPlanWidget;
39 
42  {
43  Q_OBJECT
44 
45  public:
47 
49 
50  public:
51  virtual void connectSignals(DtEditEntityPlanWidget*);
52  boost::signals2::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetDestroyed;
53 
54  protected slots:
55  virtual void onEditPlanWidgetDestroyed();
56 
57  protected:
59  };
60 
65  {
66  public:
68  virtual ~DtVrfEntityPlanManager();
69 
71  static DtVrfEntityPlanManager& instance(makVrv::DtDe& de);
72 
73  public:
75  virtual DtEditEntityPlanWidget* editPlansFor(const makVrv::DtSelectionManager::IdSet&, QWidget* parent);
76 
78  virtual void editGlobalPlans(QWidget* parent);
79 
81  virtual QList<QString> hasModifiedPlans();
82 
84  virtual void saveModifiedPlans(QList<QString> plans);
85 
89  virtual bool askAndSavePlans(QWidget* mainWindow);
90  virtual bool askAndSavePlans(QWidget* mainWindow, bool& dirty);
91 
92  protected:
93  virtual DtEditEntityPlanWidget* createEditEntityPlanWidget(QWidget*, const Qt::WindowFlags& f = 0) const;
94 
95  virtual void slot_editEntityPlanWidgetDestroyed(DtEditEntityPlanWidget*);
96 
98  virtual void cleanup(makVrv::DtDe&);
99 
100  virtual void slot_stateAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
101 
102  public:
103  boost::signals2::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetCreated;
104  boost::signals2::signal<void (DtEditEntityPlanWidget*)> signal_editEntityPlanWidgetDestroyed;
105  boost::signals2::signal<void(makVrv::DtUniqueID, std::string)> signal_showGlobalPlan;
106 
107  protected:
109  QHash<QString, DtEditEntityPlanWidget*> myEditPlanDialogs;
112  };
113 }
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:52
Contains makVrv:DtSelectionManager class.
Contains makVrv::DtStateView class.
boost::signals2::signal< void(makVrv::DtUniqueID, std::string)> signal_showGlobalPlan
Definition: vrfEntityPlanManager.h:105
boost::signals2::signal< void(DtEditEntityPlanWidget *)> signal_editEntityPlanWidgetDestroyed
Definition: vrfEntityPlanManager.h:104
This class will contain all plan dialogs currently open for entities and manage their removal when an...
Definition: vrfEntityPlanManager.h:64
QHash< QString, DtEditEntityPlanWidget * > myEditPlanDialogs
Definition: vrfEntityPlanManager.h:109
DtVrfEntityPlanManagerMessager myMessager
Definition: vrfEntityPlanManager.h:110
Contains makVrv::DtVirtualBaseClass class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
makVrv::DtDe & myDe
Definition: vrfEntityPlanManager.h:108
Contains makVrv::DtVrlinkSimulatedEntityState class.
makVrv::DtDe & myDe
Definition: vrfEntityPlanManager.h:58
makVrv::DtSignalConnectionManager myConnections
Definition: vrfEntityPlanManager.h:111
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:72
Interface class from non-qt based DtVrfEntityPlanManager class and Qt signals/slots.
Definition: vrfEntityPlanManager.h:41
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
boost::signals2::signal< void(DtEditEntityPlanWidget *)> signal_editEntityPlanWidgetCreated
Definition: vrfEntityPlanManager.h:103

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)