VR-Forces 4.0.4 Class Documentation
include/tmqt/tmFactory.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)