VR-Forces 5.0.1 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 #include <vrvCore/DtEntityState.h>
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 
40  {
41  public:
44 
46  static DtTerrainProfileDialogManager& instance(makVrv::DtDe& de);
47  static void registerInstance(makVrv::DtDe&, DtTerrainProfileDialogManager*);
48 
50  virtual DtTerrainProfileDialog* createProfileDialogFor(makVrv::DtElementID, QWidget* parent = 0);
51 
54  virtual DtTerrainProfileDialog* showTerrainProfileForFacade(DtVrfObjectFacadeInterface*);
55 
57  virtual DtTerrainProfileDialog* terrainProfileDialogFor(makVrv::DtElementID) const;
58 
60  virtual void setBlockTerrainProfileCreation(bool);
61  virtual bool blockTerrainProfileCreation() const;
62 
63  protected:
64 
67  virtual void onObjectFacadeAboutToBeRemoved(DtVrfObjectFacadeInterface*);
68 
70  virtual void onLocalObjectCreated(DtVrfObjectFacadeInterface*, makVrv::DtVrlinkSimulatedBaseState*);
71 
73  virtual void onDialogAboutToBeDeleted(DtTerrainProfileDialog*);
74 
76  virtual DtTerrainProfileDialog* onIntervisibilityElementCreated(makVrv::DtIntervisibilityElement*, bool forceDialog = false);
77 
79  virtual void onIntervisibilityElementAboutToBeDestroyed(makVrv::DtIntervisibilityElement*);
80 
83  virtual DtTerrainProfileDialog* showTerrainProfileForFacade(DtVrfObjectFacadeInterface*, bool editing);
84 
86  virtual void onIntervisibilityElementFinished(makVrv::DtUniqueID);
87 
89  virtual void onIntervisibilityElementStartedEditing(makVrv::DtUniqueID);
90 
91  protected:
93 
94  typedef std::map<makVrv::DtStateListener*, DtTerrainProfileDialog*> FacadeDialogs;
96 
98  {
99  ElementDialog() : dlg(0), currentDataProvider(0) {};
101  ElementDialog(const ElementDialog& orig) : dlg(orig.dlg), currentDataProvider(orig.currentDataProvider) {};
102 
105  };
106 
107  typedef std::map<makVrv::DtElementID, ElementDialog> ElementDialogs;
109 
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
The DtIntervisibilityElement class implements the common behavior of shape elements that are added to...
Definition: DtIntervisibilityElement.h:34
ElementDialog(const ElementDialog &orig)
Definition: terrainProfileDialogManager.h:101
#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:110
ElementDialogs myElementDialogs
Definition: terrainProfileDialogManager.h:108
std::map< makVrv::DtElementID, ElementDialog > ElementDialogs
Definition: terrainProfileDialogManager.h:107
std::map< makVrv::DtStateListener *, DtTerrainProfileDialog * > FacadeDialogs
Definition: terrainProfileDialogManager.h:94
Contains makVrf::DtTerrainProfileDialogManager class.
Definition: terrainProfileDialogManager.h:39
makVrv::DtSignalConnectionManager myConnections
Definition: terrainProfileDialogManager.h:111
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtDe & myDe
Definition: terrainProfileDialogManager.h:92
Definition: vrfObjectFacadeInterface.h:53
FacadeDialogs myFacadeDialogs
Definition: terrainProfileDialogManager.h:95
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
Definition: terrainProfileDialogManager.h:97
Base class to provide boost signal/slot management.
Contains makVrv::DtUniqueID type.
DtTerrainProfileDataProvider * currentDataProvider
Definition: terrainProfileDialogManager.h:104
ElementDialog(DtTerrainProfileDialog *d)
Definition: terrainProfileDialogManager.h:100
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:70
Contains the makVrf::DtTerrainProfileDataProvider class. This class is a common base class for all ob...
Definition: terrainProfileDataProvider.h:41
ElementDialog()
Definition: terrainProfileDialogManager.h:99

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)