![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: tmFactory.h,v $ $Revision: 1.72 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef TMFACTORY_H 00013 #define TMFACTORY_H 00014 00015 #include <QtGui/QWidget> 00016 00017 class QMainWindow; 00018 class DtBaseWindow; 00019 class DtTMMapArea; 00020 class DtTMMiniMap; 00021 class DtTMRubberBand; 00022 class DtFeatureActionManager; 00023 class DtToolbarFactoryManager; 00024 class DtTMViewportExtents; 00025 class DtTMSymbolUpdater; 00026 class DtTMAppOptions; 00027 class DtTMDisplayOptions; 00028 class DtTMDisplayOptionsWidget; 00029 class DtTMBackground; 00030 class DtViewDriver; 00031 class DtSymbolLensArea; 00032 class DtEditToolbarsDialog; 00033 class DtBaseSymbolMapper; 00034 class DtDrawerColl; 00035 class DtObjectSelector; 00036 class DtEventController; 00037 class DtEventSignaller; 00038 class DtMenuWidget; 00039 class DtContextMenu; 00040 class DtLocationEntryWidget; 00041 class DtCoordinateSystemCollection; 00042 class DtFilteredListView; 00043 class DtNavigationWidget; 00044 class DtAboutBox; 00045 class DtPluginDialog; 00046 class DtTMPluginManager; 00047 class DtUtilityBar; 00048 class DtUnitDisplayManager; 00049 class DtUnitConverterFactory; 00050 00051 typedef uint WFlags; 00052 00055 00056 typedef DtUnitDisplayManager* (*DtUnitDisplayManagerCreatorFcn)(const DtUnitConverterFactory*); 00057 typedef DtUnitConverterFactory* (*DtUnitConverterFactoryCreatorFcn)(); 00058 typedef DtTMPluginManager* (*DtPluginManagerCreatorFcn)(); 00059 typedef DtUtilityBar* (*DtUtilityBarCreatorFcn)(QMainWindow*); 00060 typedef DtBaseWindow * (*DtBaseWindowCreatorFcn)(QWidget* parent, const Qt::WindowFlags& flags); 00061 typedef DtFilteredListView* (*DtFilteredListViewCreatorFcn)(QWidget* parent, const Qt::WindowFlags& flags); 00062 typedef QWidget* (*DtAboutBoxDialogCreatorFcn)(QWidget * parent, const Qt::WindowFlags& flags); 00063 typedef QWidget* (*DtPluginDialogCreatorFcn)(QWidget * parent, const Qt::WindowFlags& flags); 00064 typedef DtLocationEntryWidget * (*DtLocationEntryWidgetCreatorFcn)(QWidget* parent, const Qt::WindowFlags& flags); 00065 typedef DtTMMapArea * (*DtTMMapAreaCreatorFcn)(QWidget * parent, const Qt::WindowFlags& flags); 00066 typedef DtNavigationWidget * (*DtNavigationWidgetCreatorFcn)(QWidget * parent, const Qt::WindowFlags& flags); 00067 typedef DtTMMiniMap* (*DtTMMiniMapCreatorFcn)(QWidget* parent, const Qt::WindowFlags& flags); 00068 typedef DtEditToolbarsDialog* (*DtEditToolbarsDialogCreatorFcn)(QWidget* parent, const Qt::WindowFlags& flags); 00069 typedef DtTMDisplayOptionsWidget* (*DtTMDisplayOptionsWidgetCreatorFcn)(QWidget* parent, const Qt::WindowFlags& flags); 00070 typedef DtSymbolLensArea* (*DtSymbolLensAreaCreatorFcn)(QWidget* parent, const Qt::WindowFlags& flags, bool useGL); 00071 typedef DtTMRubberBand* (*DtTMRubberBandCreatorFcn)(); 00072 typedef DtTMViewportExtents* (*DtTMViewportExtentsCreatorFcn)(); 00073 typedef DtViewDriver* (*DtViewDriverCreatorFcn)(); 00074 typedef DtTMBackground* (*DtTMBackgroundCreatorFcn)(); 00075 typedef DtTMSymbolUpdater* (*DtTMSymbolUpdaterCreatorFcn)(); 00076 typedef DtObjectSelector* (*DtObjectSelectorCreatorFcn)(); 00077 typedef DtBaseSymbolMapper* (*DtTMSymbolMapperCreatorFcn)(); 00078 typedef DtDrawerColl* (*DtTMDrawerCollectionCreatorFcn)(); 00079 typedef DtTMAppOptions* (*DtTMAppOptionsCreatorFcn)(int argc, char** argv); 00080 typedef DtTMDisplayOptions* (*DtTMDisplayOptionsCreatorFcn)(); 00081 typedef DtEventController* (*DtEventControllerCreatorFcn)(); 00082 typedef DtEventSignaller* (*DtEventSignallerCreatorFcn)(); 00083 typedef DtMenuWidget* (*DtMenuWidgetCreatorFcn)(QWidget*); 00084 typedef DtContextMenu* (*DtContextMenuCreatorFcn)(QWidget*); 00085 typedef DtCoordinateSystemCollection* (*DtCoordinateSystemCollectionCreatorFcn)(const DtUnitDisplayManager*); 00086 typedef DtFeatureActionManager* (*DtFeatureActionManagerCreatorFcn)(); 00087 typedef DtToolbarFactoryManager* (*DtToolbarFactoryManagerCreatorFcn)(); 00088 00098 00099 #include "tmqt/tmqtDefines.h" 00100 class DT_DLL_tmqt DtTMFactory 00101 { 00102 00103 public: 00104 00106 DtTMFactory(); 00107 00109 virtual ~DtTMFactory(); 00110 00115 00117 virtual DtCoordinateSystemCollection *createCoordinateSystemCollection(const DtUnitDisplayManager*) const; 00118 00120 virtual DtTMPluginManager* createPluginManager(); 00121 virtual void setPluginManagerCreatorFcn(DtPluginManagerCreatorFcn fcn); 00122 00124 virtual DtUnitDisplayManager* createUnitDisplayManager(const DtUnitConverterFactory*) const; 00125 virtual void setUnitDisplayManagerCreatorFcn(DtUnitDisplayManagerCreatorFcn fcn); 00126 00128 virtual DtUnitConverterFactory* createUnitConverterFactory() const; 00129 virtual void setUnitConverterFactoryCreatorFcn(DtUnitConverterFactoryCreatorFcn fcn); 00130 00132 virtual DtUtilityBar* createUtilityBar(QMainWindow*); 00133 virtual void setUtilityBarCreatorFcn(DtUtilityBarCreatorFcn fcn); 00134 00136 virtual DtBaseWindow* createMainWindow(QWidget* parent = NULL, 00137 const Qt::WindowFlags& flags = 0) const; 00138 00140 virtual DtTMMapArea* createMapArea( 00141 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00142 00144 virtual DtNavigationWidget* createNavigationWidget( 00145 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00146 00148 virtual DtTMMiniMap* createMiniMap( 00149 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00150 00152 virtual DtTMDisplayOptionsWidget* createDisplayOptionsWidget( 00153 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00154 00156 virtual DtEditToolbarsDialog* createEditToolbarsDialog( 00157 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00158 00160 virtual DtFilteredListView* createFilteredListView( 00161 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00162 00164 virtual QWidget* createAboutBoxDialog( 00165 QWidget * parent = 0, const Qt::WindowFlags& flags = 0) const; 00166 00168 virtual QWidget* createPluginDialog( 00169 QWidget * parent = 0, const Qt::WindowFlags& flags = 0) const; 00170 00172 virtual DtLocationEntryWidget* createLocationEntryWidget( 00173 QWidget* parent = 0, const Qt::WindowFlags& flags = 0) const; 00174 00176 virtual DtSymbolLensArea* createLensArea(QWidget * parent = 0, 00177 const Qt::WindowFlags& flags = 0, bool useGL = false) const; 00178 00180 virtual DtTMRubberBand* createRubberBand() const; 00181 00183 virtual DtTMViewportExtents* createViewportExtents() const; 00184 00186 virtual DtViewDriver* createViewDriver() const; 00187 00189 virtual DtTMBackground* createBackground() const; 00190 00192 virtual DtTMSymbolUpdater* createSymbolUpdater() const; 00193 00195 virtual DtObjectSelector* createObjectSelector() const; 00196 00198 virtual DtBaseSymbolMapper* createSymbolMapper() const; 00199 00201 virtual DtFeatureActionManager* createFeatureActionManager() const; 00202 00204 virtual DtToolbarFactoryManager* createToolbarFactoryManager() const; 00205 00207 virtual DtDrawerColl* createDrawerCollection() const; 00208 00210 virtual DtTMAppOptions* createAppOptions(int argc, char** argv) const; 00211 00213 virtual DtTMDisplayOptions* createDisplayOptions() const; 00214 00216 virtual DtEventController* createEventController() const; 00217 00219 virtual DtEventSignaller* createEventSignaller() const; 00220 00222 virtual DtEventController* createAppEventController() const; 00223 00225 virtual DtMenuWidget* createMenuWidget(QWidget* parent) const; 00226 00228 virtual DtContextMenu* createMiddleClickContextMenu(QWidget* parent) const; 00229 00231 virtual DtContextMenu* createRightClickContextMenu(QWidget* parent) const; 00232 00237 00240 virtual void setMainWindowCreatorFcn(DtBaseWindowCreatorFcn fcn); 00241 00244 virtual void setNavigationWidgetCreatorFcn(DtNavigationWidgetCreatorFcn fcn); 00245 00248 virtual void setMapAreaCreatorFcn(DtTMMapAreaCreatorFcn fcn); 00249 00251 virtual void setAboutBoxDialogCreatorFcn(DtAboutBoxDialogCreatorFcn fcn); 00252 00254 virtual void setPluginDialogCreatorFcn(DtPluginDialogCreatorFcn fcn); 00255 00258 virtual void setMiniMapCreatorFcn(DtTMMiniMapCreatorFcn fcn); 00259 00261 virtual void setFeatureActionManagerCreatorFcn(DtFeatureActionManagerCreatorFcn fcn); 00262 00264 virtual void setToolbarFactoryManagerCreatorFcn(DtToolbarFactoryManagerCreatorFcn fcn); 00265 00268 virtual void setDisplayOptionsWidgetCreatorFcn( 00269 DtTMDisplayOptionsWidgetCreatorFcn fcn); 00270 00273 virtual void setEditToolbarsDialogCreatorFcn( 00274 DtEditToolbarsDialogCreatorFcn fcn); 00275 00278 virtual void setFilteredListViewCreatorFcn( 00279 DtFilteredListViewCreatorFcn fcn); 00280 00282 virtual void setLocationEntryWidgetCreatorFcn( 00283 DtLocationEntryWidgetCreatorFcn fcn); 00284 00287 virtual void setLensAreaCreatorFcn(DtSymbolLensAreaCreatorFcn fcn); 00288 00291 virtual void setRubberBandCreatorFcn(DtTMRubberBandCreatorFcn fcn); 00292 00295 virtual void setViewportExtentsCreatorFcn(DtTMViewportExtentsCreatorFcn fcn); 00296 00299 virtual void setViewDriverCreatorFcn(DtViewDriverCreatorFcn fcn); 00300 00303 virtual void setTMBackgroundCreatorFcn(DtTMBackgroundCreatorFcn fcn); 00304 00307 virtual void setSymbolUpdaterCreatorFcn(DtTMSymbolUpdaterCreatorFcn fcn); 00308 00311 virtual void setObjectSelectorCreatorFcn(DtObjectSelectorCreatorFcn fcn); 00312 00315 virtual void setSymbolMapperCreatorFcn(DtTMSymbolMapperCreatorFcn fcn); 00316 00320 virtual void setDrawerCollectionCreatorFcn(DtTMDrawerCollectionCreatorFcn fcn); 00321 00324 virtual void setAppOptionsCreatorFcn(DtTMAppOptionsCreatorFcn fcn); 00325 00328 virtual void setDisplayOptionsCreatorFcn(DtTMDisplayOptionsCreatorFcn fcn); 00329 00332 virtual void setEventControllerCreatorFcn(DtEventControllerCreatorFcn fcn); 00333 00336 virtual void setEventSignallerCreatorFcn(DtEventSignallerCreatorFcn fcn); 00337 00340 virtual void setAppEventControllerCreatorFcn(DtEventControllerCreatorFcn fcn); 00341 00344 virtual void setMenuWidgetCreatorFcn(DtMenuWidgetCreatorFcn fcn); 00345 00348 virtual void setCreateMiddleClickContextMenuCreatorFcn(DtContextMenuCreatorFcn fcn); 00349 00352 virtual void setCreateRightClickContextMenuCreatorFcn(DtContextMenuCreatorFcn fcn); 00353 00355 virtual void setCoordinateSystemCollectionCreatorFcn(DtCoordinateSystemCollectionCreatorFcn fcn); 00356 00359 static DtDrawerColl* createMainDrawerCollection(); 00360 00361 protected: 00362 00364 DtTMFactory(const DtTMFactory& orig); 00365 00367 DtTMFactory& operator=(const DtTMFactory& rhs); 00368 00369 protected: 00370 00371 DtBaseWindowCreatorFcn myMainWindowCreatorFcn; 00372 DtTMMapAreaCreatorFcn myMapAreaCreatorFcn; 00373 DtNavigationWidgetCreatorFcn myNavigationWidgetCreatorFcn; 00374 DtTMMiniMapCreatorFcn myMiniMapCreatorFcn; 00375 DtTMDisplayOptionsWidgetCreatorFcn myDisplayOptionsWidgetCreatorFcn; 00376 DtEditToolbarsDialogCreatorFcn myEditToolbarsDialogCreatorFcn; 00377 DtFilteredListViewCreatorFcn myFilteredListViewCreatorFcn; 00378 DtSymbolLensAreaCreatorFcn myLensAreaCreatorFcn; 00379 DtTMRubberBandCreatorFcn myRubberBandCreatorFcn; 00380 DtTMViewportExtentsCreatorFcn myViewportExtentsCreatorFcn; 00381 DtViewDriverCreatorFcn myViewDriverCreatorFcn; 00382 DtTMBackgroundCreatorFcn myBackgroundCreatorFcn; 00383 DtTMSymbolUpdaterCreatorFcn mySymbolUpdaterCreatorFcn; 00384 DtObjectSelectorCreatorFcn myObjectSelectorCreatorFcn; 00385 DtTMAppOptionsCreatorFcn myAppOptionsCreatorFcn; 00386 DtTMDisplayOptionsCreatorFcn myDisplayOptionsCreatorFcn; 00387 DtTMSymbolMapperCreatorFcn mySymbolMapperCreatorFcn; 00388 DtTMDrawerCollectionCreatorFcn myDrawerCollectionCreatorFcn; 00389 DtEventControllerCreatorFcn myEventControllerCreatorFcn; 00390 DtEventSignallerCreatorFcn myEventSignallerCreatorFcn; 00391 DtEventControllerCreatorFcn myAppEventControllerCreatorFcn; 00392 DtMenuWidgetCreatorFcn myMenuWidgetCreatorFcn; 00393 DtContextMenuCreatorFcn myMiddleClickCreatorFcn; 00394 DtContextMenuCreatorFcn myRightClickCreatorFcn; 00395 DtLocationEntryWidgetCreatorFcn myLocationEntryWidgetCreatorFcn; 00396 DtCoordinateSystemCollectionCreatorFcn myCoordinateSystemCollectionCreatorFcn; 00397 DtAboutBoxDialogCreatorFcn myAboutBoxDialogCreatorFcn; 00398 DtPluginDialogCreatorFcn myPluginDialogCreatorFcn; 00399 DtPluginManagerCreatorFcn myPluginManagerCreatorFcn; 00400 DtUtilityBarCreatorFcn myUtilityBarCreatorFcn; 00401 DtFeatureActionManagerCreatorFcn myFeatureActionManagerCreatorFcn; 00402 DtToolbarFactoryManagerCreatorFcn myToolbarFactoryManagerCreatorFcn; 00403 DtUnitConverterFactoryCreatorFcn myUnitConverterFactoryCreatorFcn; 00404 DtUnitDisplayManagerCreatorFcn myUnitDisplayManagerCreatorFcn; 00405 }; 00406 00407 #endif 00408