![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00009 #pragma once 00010 00011 #include <vrvUtil/signalslib.h> 00012 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00013 #include <vrvUtil/DtVirtualBaseClass.h> 00014 #include <vrvCore/DtUniqueID.h> 00015 #include <vrvCore/DtEntityState.h> 00016 00017 namespace makVrv 00018 { 00019 class DtDe; 00020 class DtStateListener; 00021 class DtIntervisibilityElement; 00022 } 00023 00024 class QWidget; 00025 namespace makVrf 00026 { 00027 class DtVrfObjectFacadeInterface; 00028 class DtTerrainProfileDialog; 00029 00037 class DT_DLL_VRFGUICOREQT DtTerrainProfileDialogManager : public makVrv::DtVirtualBaseClass 00038 { 00039 public: 00040 DtTerrainProfileDialogManager(makVrv::DtDe&); 00041 virtual ~DtTerrainProfileDialogManager(); 00042 00044 static DtTerrainProfileDialogManager& instance(makVrv::DtDe& de); 00045 static void registerInstance(makVrv::DtDe&, DtTerrainProfileDialogManager*); 00046 00048 virtual void createProfileDialogFor(makVrv::DtElementID, QWidget* parent = 0); 00049 00052 virtual void showTerrainProfileForFacade(DtVrfObjectFacadeInterface*); 00053 00055 virtual DtTerrainProfileDialog* terrainProfileDialogFor(makVrv::DtElementID) const; 00056 00057 protected: 00058 00061 virtual void onObjectFacadeAboutToBeRemoved(DtVrfObjectFacadeInterface*); 00062 00064 virtual void onLocalObjectCreated(DtVrfObjectFacadeInterface*, makVrv::DtVrlinkSimulatedBaseState*); 00065 00067 virtual void onDialogAboutToBeDeleted(DtTerrainProfileDialog*); 00068 00070 virtual void onIntervisibilityElementCreated(makVrv::DtIntervisibilityElement*); 00071 00073 virtual void onIntervisibilityElementAboutToBeDestroyd(makVrv::DtIntervisibilityElement*); 00074 00077 virtual void showTerrainProfileForFacade(DtVrfObjectFacadeInterface*, bool editing); 00078 00079 protected: 00080 makVrv::DtDe& myDe; 00081 00082 typedef std::map<makVrv::DtStateListener*, DtTerrainProfileDialog*> FacadeDialogs; 00083 FacadeDialogs myFacadeDialogs; 00084 00085 typedef std::map<makVrv::DtElementID, DtTerrainProfileDialog*> ElementDialogs; 00086 ElementDialogs myElementDialogs; 00087 }; 00088 }