VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
entityControlPanelPageManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
10 #include <vrvCore/DtStateView.h>
11 #include <vrvCore/DtEntityState.h>
14 #include <boost/signals2.hpp>
15 
16 #include <map>
17 #include <QtCore/QObject>
18 
19 class QWidget;
20 
21 namespace makVrv
22 {
23  class DtDe;
24 }
25 
26 #define DtEntityControlPanelToken "EntityControlPanel"
27 
28 namespace makVrf
29 {
30  namespace makVrfGuiObjectInformationQt
31  {
32  class DtEntityControlPanelPage;
33 
35  //
39  {
40  public:
43 
46 
47  virtual void showEntityControlPanel(const makVrv::DtSelectionManager::IdSet&);
48 
50  static DtEntityControlPanelPageManager& instance(makVrv::DtDe& de);
51  static void registerInstance(makVrv::DtDe& de, DtEntityControlPanelPageManager*);
52 
53  virtual QWidget* createOrShowEntityControlPanel(makVrv::DtUniqueID id);
54 
55  boost::signals2::signal<void (makVrv::DtUniqueID, QWidget*, DtEntityControlPanelPage*)> signal_entityControlPanelCreated;
56 
57  protected:
58  virtual void slot_stateRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
59  virtual void slot_stateAdded(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* state);
60  virtual void clear();
61  virtual void scenarioRewinding();
62  virtual void storeControlPanelInformation();
63  virtual void controlPanelClosed(DtEntityControlPanelPage*, bool keepSettings);
64  virtual bool eventFilter(QObject*, QEvent*) override;
65 
66  protected:
68 
70  {
71  EntityControlPanel() : parent(nullptr), panel(nullptr) {};
72  EntityControlPanel(QWidget* p, DtEntityControlPanelPage* pn) : parent(p), panel(pn) {};
73  EntityControlPanel(const EntityControlPanel& orig) : parent(orig.parent), panel(orig.panel) {};
74  QWidget* parent = nullptr;
75  DtEntityControlPanelPage* panel = nullptr;
76  };
77 
78  typedef std::map<makVrv::DtUniqueID, EntityControlPanel> EntityControlPanels;
81  bool mySettingsLocked = false;
82  };
83  }
84 }
EntityControlPanel(const EntityControlPanel &orig)
Definition: entityControlPanelPageManager.h:73
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
makVrv::DtDe & myDe
Definition: entityControlPanelPageManager.h:67
Contains makVrv:DtSelectionManager class.
Contains makVrv::DtStateView class.
makVrv::DtSignalConnectionManager myConnections
Definition: entityControlPanelPageManager.h:80
boost::signals2::signal< void(makVrv::DtUniqueID, QWidget *, DtEntityControlPanelPage *)> signal_entityControlPanelCreated
Definition: entityControlPanelPageManager.h:55
Contains makVrv::DtVirtualBaseClass class.
EntityControlPanels myEntityControlPanels
Definition: entityControlPanelPageManager.h:79
std::map< makVrv::DtUniqueID, EntityControlPanel > EntityControlPanels
Definition: entityControlPanelPageManager.h:78
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base class to provide boost signal/slot management.
#define DT_DLL_VRFGUIOBJECTINFORMATIONQT
Contains DLL export macros.
Definition: vrfGuiObjectInformationQt.h:24
class DtEntityControlPanelPage:
Definition: entityControlPanelPage.h:44
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
EntityControlPanel(QWidget *p, DtEntityControlPanelPage *pn)
Definition: entityControlPanelPageManager.h:72
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
class DtEntityControlPanelPageManager:
Definition: entityControlPanelPageManager.h:38

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)