![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2012 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 #pragma once 00007 00008 #include <vrvUtil/signalslib.h> 00009 #include <vrfGuiCoreQt/vrfGuiCoreQt.h> 00010 00011 #include <vrvUtil/DtVirtualBaseClass.h> 00012 #include <vrvCore/DtUniqueID.h> 00013 00014 #include <QDialog> 00015 00016 class QSlider; 00017 class QLabel; 00018 class QHBoxLayout; 00019 00020 namespace makVrv 00021 { 00022 class DtDe; 00023 } 00024 00025 namespace makVrf 00026 { 00027 class DtTerrainProfileWidget; 00028 class DtTerrainProfileDataProvider; 00029 00034 class DT_DLL_VRFGUICOREQT DtTerrainProfileDialog : public QDialog 00035 { 00036 Q_OBJECT 00037 00038 public: 00039 00042 DtTerrainProfileDialog(makVrv::DtDe& de, QWidget* parent = 0, const Qt::WindowFlags& flags = 0); 00043 00045 virtual ~DtTerrainProfileDialog(); 00046 00049 virtual void setDataProvider(DtTerrainProfileDataProvider*); 00050 00052 DtTerrainProfileDataProvider* dataProvider() const; 00053 00055 virtual void suspend(); 00056 00058 virtual void resume(); 00059 00061 virtual bool isSuspended() const; 00062 00064 boost::signal<void (DtTerrainProfileDialog*)> signal_dialogAboutToBeDeleted; 00065 00066 protected: 00068 virtual void slot_dataRemoved(); 00069 00071 virtual void closeEvent(QCloseEvent*); 00072 00074 virtual void profileGraphReady(); 00075 00076 protected slots: 00078 virtual void graphScaleChanged(int); 00079 00080 public: 00081 DtTerrainProfileWidget* myProfile; 00082 QSlider* myGraphScale; 00083 QLabel* myGraphScaleLabel; 00084 QHBoxLayout* mySliderLayout; 00085 00086 protected: 00087 makVrv::DtDe& myDe; 00088 DtTerrainProfileDataProvider* myDataProvider; 00089 }; 00090 00093 class DT_DLL_VRFGUICOREQT DtTerrainProfileDialogCreator : public makVrv::DtVirtualBaseClass 00094 { 00095 public: 00096 DtTerrainProfileDialogCreator(makVrv::DtDe&); 00097 virtual ~DtTerrainProfileDialogCreator(); 00098 00099 static DtTerrainProfileDialogCreator& instance(makVrv::DtDe&); 00100 static void registerInstance(makVrv::DtDe&, DtTerrainProfileDialogCreator*); 00101 00102 virtual DtTerrainProfileDialog* create(QWidget* parent); 00103 00104 protected: 00105 makVrv::DtDe& myDe; 00106 }; 00107 }