![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /********************************************************************* 00002 ** Copyright (c) 2000 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: terrainFactory.h,v $ $Revision: 1.30 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef TERRAINFACTORY_H 00013 #define TERRAINFACTORY_H 00014 00015 #include "tmqt/tmFactory.h" 00016 00017 class DtInfoWidget; 00018 class DtTerrainSelectionModeWidget; 00019 class DtTerrainViewOptionsWidget; 00020 class DtTerrainPaperMapWidget; 00021 class DtTerrainFeaturesWidget; 00022 class DtTerrainDrawerColl; 00023 class DtTerrainSelector; 00024 class DtTerrainInfoDialog; 00025 class DtTerrainDatabaseInformationDialog; 00026 class DtBoundingVolumesManager; 00027 class DtTacticalGdbDrawer; 00028 class DtQtDrawer; 00029 class DtTerrainDbFactory; 00030 class DtTdbManager; 00031 class DtTerrainDbFactory; 00032 00035 00036 typedef DtTerrainViewOptionsWidget * (*DtTerrainViewOptionsWidgetCreatorFcn)( 00037 QWidget* parent, const Qt::WindowFlags& flags); 00038 00039 typedef DtTdbManager * (*DtTdbManagerCreatorFcn)(DtTerrainDbFactory*); 00040 00041 typedef DtTerrainDbFactory * (*DtTerrainDbFactoryCreatorFcn)(); 00042 00043 typedef DtInfoWidget * (*DtInfoWidgetCreatorFcn)(QWidget* parent, const Qt::WindowFlags& f); 00044 00045 typedef DtTerrainSelectionModeWidget * (*DtTerrainSelectionModeWidgetCreatorFcn)(QWidget* parent, 00046 const Qt::WindowFlags& flags); 00047 00048 typedef DtTerrainPaperMapWidget * (*DtTerrainPaperMapWidgetCreatorFcn)( 00049 QWidget* parent, const Qt::WindowFlags& flags); 00050 00051 typedef DtTerrainInfoDialog * (*DtTerrainInfoDialogCreatorFcn)( 00052 QWidget* parent, const Qt::WindowFlags& flags); 00053 00054 typedef DtTerrainDatabaseInformationDialog * (*DtTerrainDatabaseInformationDialogCreatorFcn)( 00055 QWidget* parent, const Qt::WindowFlags& flags); 00056 00057 typedef DtTerrainFeaturesWidget * (*DtTerrainFeaturesWidgetCreatorFcn)( 00058 QWidget* parent, const Qt::WindowFlags& flags); 00059 00060 typedef DtTerrainDrawerColl * (*DtTerrainDrawerCollCreatorFcn)(); 00061 00062 typedef DtTerrainSelector* (*DtTerrainSelectorCreatorFcn)(); 00063 00064 typedef DtBoundingVolumesManager* (*DtBoundingVolumesManagerCreatorFcn)(); 00065 00066 typedef DtTacticalGdbDrawer* (*DtTacticalGdbDrawerCreatorFcn)(); 00067 typedef DtQtDrawer* (*DtQtDrawerCreatorFcn)(); 00068 00082 00083 #include "terrainqt/terrainqtDefines.h" 00084 class DT_DLL_terrainqt DtTerrainFactory : public DtTMFactory 00085 { 00086 00087 public: 00088 00090 DtTerrainFactory(); 00091 00093 virtual ~DtTerrainFactory(); 00094 00096 virtual DtTerrainViewOptionsWidget* createTerrainViewOptionsWidget( 00097 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00098 00100 virtual DtInfoWidget* createInfoWidget( 00101 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00102 00104 virtual DtTerrainSelectionModeWidget* createTerrainSelectionModeWidget( 00105 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00106 00108 virtual DtTerrainPaperMapWidget* createTerrainPaperMapWidget( 00109 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00110 00112 virtual DtTerrainFeaturesWidget* createTerrainFeaturesWidget( 00113 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00114 00116 virtual DtTdbManager* createTdbManager(DtTerrainDbFactory*) const; 00117 virtual void setTdbManagerCreatorFcn(DtTdbManagerCreatorFcn); 00118 00120 virtual DtTerrainDbFactory* createTerrainDbFactory() const; 00121 virtual void setTerrainDbFactoryCreatorFcn(DtTerrainDbFactoryCreatorFcn); 00122 00124 virtual DtTerrainDrawerColl *createTerrainDrawerColl() const; 00125 00127 virtual DtTerrainSelector* createTerrainSelector() const; 00128 00130 virtual DtTacticalGdbDrawer* createTacticalGdbDrawer() const; 00131 00133 virtual DtQtDrawer* createQtDrawer() const; 00134 00136 virtual DtTerrainInfoDialog* createTerrainInfoDialog( 00137 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00138 00141 virtual DtTerrainDatabaseInformationDialog* createTerrainDatabaseInformationDialog( 00142 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00143 00145 virtual void setTerrainViewOptionsWidgetCreatorFcn( 00146 DtTerrainViewOptionsWidgetCreatorFcn fcn); 00147 00149 virtual void setInfoWidgetCreatorFcn(DtInfoWidgetCreatorFcn fcn); 00150 00152 virtual void setTerrainSelectionModeWidgetCreatorFcn(DtTerrainSelectionModeWidgetCreatorFcn fcn); 00153 00155 virtual void setTerrainPaperMapWidgetCreatorFcn( 00156 DtTerrainPaperMapWidgetCreatorFcn fcn); 00157 00159 virtual void setTerrainFeaturesWidgetCreatorFcn( 00160 DtTerrainFeaturesWidgetCreatorFcn fcn); 00161 00163 virtual void setTerrainDrawerCollCreatorFcn( 00164 DtTerrainDrawerCollCreatorFcn fcn); 00165 00168 virtual void setTerrainSelectorCreatorFcn(DtTerrainSelectorCreatorFcn fcn); 00169 00172 virtual void setTacticalGdbDrawerCreatorFcn(DtTacticalGdbDrawerCreatorFcn fcn); 00173 00176 virtual void setQtDrawerCreatorFcn(DtQtDrawerCreatorFcn fcn); 00177 00179 virtual void setTerrainInfoDialogCreatorFcn(DtTerrainInfoDialogCreatorFcn fcn); 00180 00182 virtual void setTerrainDatabaseInformationDialogCreatorFcn(DtTerrainDatabaseInformationDialogCreatorFcn fcn); 00183 00185 virtual DtBoundingVolumesManager* createBoundingVolumesManager() const; 00186 00188 virtual void setBoundingVolumesManagerCreatorFcn(DtBoundingVolumesManagerCreatorFcn fcn); 00189 protected: 00190 00192 DtTerrainFactory(const DtTerrainFactory& orig); 00193 00195 DtTerrainFactory& operator=(const DtTerrainFactory& rhs); 00196 00197 protected: 00198 00199 DtTerrainViewOptionsWidgetCreatorFcn myTerrainViewOptionsWidgetCreatorFcn; 00200 DtInfoWidgetCreatorFcn myInfoWidgetCreatorFcn; 00201 DtTerrainSelectionModeWidgetCreatorFcn myTerrainSelectionModeWidgetCreatorFcn; 00202 DtTerrainPaperMapWidgetCreatorFcn myTerrainPaperMapWidgetCreatorFcn; 00203 DtTerrainFeaturesWidgetCreatorFcn myTerrainFeaturesWidgetCreatorFcn; 00204 DtTerrainDrawerCollCreatorFcn myTerrainDrawerCollCreatorFcn; 00205 DtTerrainSelectorCreatorFcn myTerrainSelectorCreatorFcn; 00206 DtTacticalGdbDrawerCreatorFcn myTacticalGdbDrawerCreatorFcn; 00207 DtQtDrawerCreatorFcn myQtDrawerCreatorFcn; 00208 DtTerrainInfoDialogCreatorFcn myTerrainInfoDialogCreatorFcn; 00209 DtTerrainDatabaseInformationDialogCreatorFcn myTerrainDatabaseInformationDialogCreatorFcn; 00210 DtBoundingVolumesManagerCreatorFcn myBoundingVolumesManagerCreatorFcn; 00211 DtTdbManagerCreatorFcn myTdbManagerCreatorFcn; 00212 DtTerrainDbFactoryCreatorFcn myTerrainDbFactoryCreatorFcn; 00213 }; 00214 00215 #endif