VR-Forces 4.2 Class Documentation
terrainAppEventController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2003 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: terrainAppEventController.h,v $ $Revision: 1.21 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef TERRAINAPPEVENTCONTROLLER_H_
13 #define TERRAINAPPEVENTCONTROLLER_H_
14 
16 
17 class DtTerrainDatabase;
18 class DtTdbManager;
19 class DtTerrainFactory;
20 class DtTerrainWindow;
21 class DtTerrainDbFactory;
22 class DtTerrainReaderFactory;
23 class DtTdbMetafileFactory;
24 class DtPaperMapFactory;
25 class DtVectorDataFactory;
26 class DtPaperMapDatabase;
27 class DtTerrainWriterFactory;
28 class DtFilename;
29 class DtPaperMapDatabase;
30 class DtExtent;
31 
34 {
35  Q_OBJECT
36 
37 public:
38 
41 
43  virtual ~DtTerrainAppEventController();
44 
46  virtual DtTdbManager* tdbManager() const;
47 
48  virtual const DtTerrainDatabase* terrainDatabase() const;
49  virtual DtTerrainDatabase* terrainDatabase();
50 
51  virtual const DtPaperMapDatabase* paperMapDatabase() const;
52  virtual DtPaperMapDatabase* paperMapDatabase();
53 
54  virtual void setDatabaseDirty(bool b);
55  virtual bool databaseDirty() const;
56 
58  virtual void closeDatabase();
59 
61  virtual void databaseSaved(const QString& name);
62 
65  static void terrainModified(DtTerrainDatabase* terrain,
66  const DtExtent& changedVolume, void* usrData);
67  virtual void processTerrainModified(DtTerrainDatabase* terrain,
68  const DtExtent& changedVolume);
69 
72  virtual void preloadDatabase(DtFilename& name);
73 
76  virtual void createDatabaseFromExtent(const DtExtent& extent);
79  DtTerrainDbFactory* terrainDatabaseFactory();
80 
81 signals:
82 
83  void terrainDatabaseSet(const DtTerrainDatabase* t);
84  void paperMapLoaded(const DtPaperMapDatabase* p);
85  void terrainDatabaseModified(DtTerrainDatabase* t,
86  const DtExtent& extent);
87 
89  void databaseDirty(bool);
90  void databaseWasSaved(const QString&);
91 
92 public slots:
93 
97  virtual bool processFileOpenDatabase();
98  virtual void processFileCloseDatabase(bool askConvert = true);
99  virtual void processFileSaveDatabase();
100  virtual void processFileSaveAsDatabase();
101 
102  virtual int processDirtyDatabase();
103  virtual void processTerrainDatabaseInformation();
104 
106  virtual bool openDatabase(QString database);
107 
109  virtual void processToggleViewPolygons(bool toggle);
110 
112  virtual void processToggleViewFeatures(bool);
113 
115  virtual void processToggleViewWireframe(bool toggle);
116 
118  virtual void processToggleViewContourLines(bool toggle);
119 
121  virtual void processToggleViewTerrainShading(bool toggle);
122 
124  virtual void processToggleViewPaperMaps(bool toggle);
125 
127  virtual void processToggleColorPolygonsUsingSoilType(bool toggle);
128 
129 public:
130  static DtEventController* create();
131 
132 protected:
134  virtual void initFactories();
135 
139  virtual void completeDatabaseOpen();
140 
141  virtual void aboutToQuit();
142 
150  virtual void checkConvertDatabase();
151 
154  virtual bool shouldAskDatabaseSave() const;
155 
156 protected:
157 
159  DtTerrainDbFactory * myTerrainDbFactory;
160  DtTerrainReaderFactory * myTerrainReaderFactory;
161  DtTerrainWriterFactory * myTerrainWriterFactory;
162  DtTdbMetafileFactory * myMetafileFactory;
164  DtVectorDataFactory * myVectorDataFactory;
165 
166  DtTdbManager * myTdbManager;
167 
169 
172 
175 };
176 
177 #endif //TERRAINAPPEVENTCONTROLLER_H_
178 

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)