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 
13 #include <boost/signals2.hpp>
14 
15 #include <map>
16 #include <QtCore/QObject>
17 
18 class QWidget;
19 
20 namespace makVrv
21 {
22  class DtDe;
23 }
24 
25 #define DtEntityControlPanelToken "EntityControlPanel"
26 
27 namespace makVrf
28 {
29  namespace makVrfGuiObjectInformationQt
30  {
31  class DtEntityControlPanelPage;
32 
34  //
38  {
39  public:
42 
44  virtual ~DtEntityControlPanelPageManager() override;
45 
46  virtual void showEntityControlPanel(const makVrv::DtSelectionManager::IdSet&);
47 
49  static DtEntityControlPanelPageManager& instance(makVrv::DtDe& de);
50  static void registerInstance(makVrv::DtDe& de, DtEntityControlPanelPageManager*);
51 
52  virtual QWidget* createOrShowEntityControlPanel(makVrv::DtUniqueID id);
53 
54  boost::signals2::signal<void (makVrv::DtUniqueID, QWidget*, DtEntityControlPanelPage*)> signal_entityControlPanelCreated;
55 
56  protected:
57  virtual void slot_stateRemoved(DtSimObjectReference state);
58  virtual void slot_stateAdded(DtSimObjectReference state);
59  virtual void clear();
60  virtual void scenarioRewinding();
61  virtual void storeControlPanelInformation();
62  virtual void controlPanelClosed(DtEntityControlPanelPage*, bool keepSettings);
63  virtual bool eventFilter(QObject*, QEvent*) override;
64 
65  protected:
67 
69  {
70  EntityControlPanel() : parent(nullptr), panel(nullptr) {};
71  EntityControlPanel(QWidget* p, DtEntityControlPanelPage* pn) : parent(p), panel(pn) {};
72  EntityControlPanel(const EntityControlPanel& orig) : parent(orig.parent), panel(orig.panel) {};
73  QWidget* parent = nullptr;
74  DtEntityControlPanelPage* panel = nullptr;
75  };
76 
77  typedef std::map<makVrv::DtUniqueID, EntityControlPanel> EntityControlPanels;
80  bool mySettingsLocked = false;
81  };
82  }
83 }
EntityControlPanel(const EntityControlPanel &orig)
Definition: entityControlPanelPageManager.h:72
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:66
Contains makVrv:DtSelectionManager class.
makVrv::DtSignalConnectionManager myConnections
Definition: entityControlPanelPageManager.h:79
boost::signals2::signal< void(makVrv::DtUniqueID, QWidget *, DtEntityControlPanelPage *)> signal_entityControlPanelCreated
Definition: entityControlPanelPageManager.h:54
Contains makVrv::DtVirtualBaseClass class.
EntityControlPanels myEntityControlPanels
Definition: entityControlPanelPageManager.h:78
std::map< makVrv::DtUniqueID, EntityControlPanel > EntityControlPanels
Definition: entityControlPanelPageManager.h:77
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
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:76
EntityControlPanel(QWidget *p, DtEntityControlPanelPage *pn)
Definition: entityControlPanelPageManager.h:71
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
class DtEntityControlPanelPageManager:
Definition: entityControlPanelPageManager.h:37

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)