VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
terrainProfileDialogManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
9 #pragma once
10 
11 
14 #include <vrvCore/DtUniqueID.h>
15 
17 
18 namespace makVrv
19 {
20  class DtDe;
21  class DtStateListener;
22  class DtIntervisibilityElement;
23 }
24 
25 class QWidget;
26 namespace makVrf
27 {
28  class DtVrfObjectFacadeInterface;
29  class DtTerrainProfileDialog;
30  class DtTerrainProfileDataProvider;
31  class DtGuiSimObject;
32 
41  {
42  public:
44  virtual ~DtTerrainProfileDialogManager() override;
45 
47  static DtTerrainProfileDialogManager& instance(makVrv::DtDe& de);
48  static void registerInstance(makVrv::DtDe&, DtTerrainProfileDialogManager*);
49 
51  virtual DtTerrainProfileDialog* createProfileDialogFor(makVrv::DtElementID, QWidget* parent = 0);
52 
55  virtual DtTerrainProfileDialog* showTerrainProfileForFacade(DtVrfObjectFacadeInterface*);
56 
58  virtual DtTerrainProfileDialog* terrainProfileDialogFor(makVrv::DtElementID) const;
59 
61  virtual void setBlockTerrainProfileCreation(bool);
62  virtual bool blockTerrainProfileCreation() const;
63 
64  protected:
65 
68  virtual void onObjectFacadeAboutToBeRemoved(DtVrfObjectFacadeInterface*);
69 
71  virtual void onLocalObjectCreated(DtVrfObjectFacadeInterface*, const DtGuiSimObject&);
72 
74  virtual void onDialogAboutToBeDeleted(DtTerrainProfileDialog*);
75 
77  virtual DtTerrainProfileDialog* onIntervisibilityElementCreated(makVrv::DtIntervisibilityElement*, bool forceDialog = false);
78 
80  virtual void onIntervisibilityElementAboutToBeDestroyed(makVrv::DtIntervisibilityElement*);
81 
84  virtual DtTerrainProfileDialog* showTerrainProfileForFacade(DtVrfObjectFacadeInterface*, bool editing);
85 
87  virtual void onIntervisibilityElementFinished(makVrv::DtUniqueID);
88 
90  virtual void onIntervisibilityElementStartedEditing(makVrv::DtUniqueID);
91 
92  protected:
94 
95  typedef std::map<makVrv::DtStateListener*, DtTerrainProfileDialog*> FacadeDialogs;
97 
99  {
100  ElementDialog() : dlg(0), currentDataProvider(0) {};
102  ElementDialog(const ElementDialog& orig) : dlg(orig.dlg), currentDataProvider(orig.currentDataProvider) {};
103 
106  };
107 
108  typedef std::map<makVrv::DtElementID, ElementDialog> ElementDialogs;
110 
113  };
114 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
The DtIntervisibilityElement class implements the common behavior of shape elements that are added to...
Definition: DtIntervisibilityElement.h:37
ElementDialog(const ElementDialog &orig)
Definition: terrainProfileDialogManager.h:102
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
This class is a container of the DtTerrainProfileWidget. It also adds the additional slider to scale ...
Definition: terrainProfileDialog.h:35
bool myBlockTerrainProfileCreation
Definition: terrainProfileDialogManager.h:111
ElementDialogs myElementDialogs
Definition: terrainProfileDialogManager.h:109
Definition: guiSimObject.h:28
std::map< makVrv::DtElementID, ElementDialog > ElementDialogs
Definition: terrainProfileDialogManager.h:108
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
std::map< makVrv::DtStateListener *, DtTerrainProfileDialog * > FacadeDialogs
Definition: terrainProfileDialogManager.h:95
Contains makVrf::DtTerrainProfileDialogManager class.
Definition: terrainProfileDialogManager.h:40
makVrv::DtSignalConnectionManager myConnections
Definition: terrainProfileDialogManager.h:112
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtDe & myDe
Definition: terrainProfileDialogManager.h:93
Definition: vrfObjectFacadeInterface.h:53
FacadeDialogs myFacadeDialogs
Definition: terrainProfileDialogManager.h:96
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: terrainProfileDialogManager.h:98
Base class to provide boost signal/slot management.
Contains makVrv::DtUniqueID type.
DtTerrainProfileDataProvider * currentDataProvider
Definition: terrainProfileDialogManager.h:105
ElementDialog(DtTerrainProfileDialog *d)
Definition: terrainProfileDialogManager.h:101
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 the makVrf::DtTerrainProfileDataProvider class. This class is a common base class for all ob...
Definition: terrainProfileDataProvider.h:41
ElementDialog()
Definition: terrainProfileDialogManager.h:100

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)