VR-Forces 4.1.1 Class Documentation
baseWindow.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2000 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: baseWindow.h,v $ $Revision: 1.63 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef BASEWINDOW_H_
13 #define BASEWINDOW_H_
14 
16 #include "tmqt/tmMapArea.h"
17 #include "tmqt/tmRubberBand.h"
18 #include "archiver/archiver.h"
19 #include "vrfGuiCore/menuItems.h"
20 #include "tmqt/tmApplication.h"
21 
23 #include <QtGui/QMainWindow>
24 #include <QtCore/QList>
25 #include <QtCore/QDateTime>
26 #include <QtCore/QHash>
27 
28 class DtTMMiniMap;
29 class DtTMFactory;
31 class DtEventController;
32 class DtMenuWidget;
33 class DtContextMenu;
34 class DtStdContextMenu;
35 class QToolBar;
36 class DtSymbol;
37 class QAction;
38 class DtPopupMenu;
39 
47 #include "tmqt/tmqtDefines.h"
49 {
50 Q_OBJECT
51 
52 public:
53  DtBaseWindow (QWidget* parent = NULL, const Qt::WindowFlags& flags = 0);
54  virtual ~DtBaseWindow();
55 
60  virtual bool init(const DtTMFactory* f, DtTMMiniMap* m = 0, int mode = DtWindow_NoAction);
61 
63  virtual bool createMiniMap(const DtTMFactory* f);
64 
66  virtual bool initMiniMap(const DtTMFactory* f, QDockWidget* parent = 0);
67 
71  virtual DtTMMapArea* areaMap(unsigned value = 0) const;
72 
75  virtual DtTMMapArea* activeMap() const;
76 
77 
80  virtual DtTMRubberBand* rubberBand(unsigned value = 0) const;
81 
84  virtual DtTMRubberBand* rubberBand(DtTMMapArea*) const;
85 
87  virtual unsigned numberOfMapAreas();
88 
90  virtual DtTMMiniMap* miniMap() const;
91 
95  virtual void loadDatabaseFile(const QString& f);
96 
98  virtual bool initMapArea(DtTMMapArea* area, const DtTMFactory* f);
99 
101  virtual bool initAllMapAreas(const DtTMFactory* f);
102 
103 
106  virtual void toggleMinimap(bool b);
107 
109  virtual void closeEvent(QCloseEvent* e);
110 
111  //------------------
113  virtual bool shouldTick();
114 
116  virtual void markForUpdate(const DtModelData& data);
117  virtual void markForUpdate(DtModelDataIter* iter);
118 
120  virtual void removeFromUpdate(const DtModelData& data);
121 
123  virtual void markAllForUpdate();
124 
126  virtual void removeAllForUpdate();
127 
129  virtual void setDisplayFrameRate(int);
130 
132  virtual int displayFrameRate() const;
133 
134  //------------------
135 
136  virtual DtEventController& eventController();
137  virtual const DtEventController& eventController() const;
138 
139  virtual double elapsedRunTime() const;
140  virtual double numberOfFrames() const;
141 
142  virtual DtMenuWidget* menuWidget();
143  virtual DtStdContextMenu* contextMenus();
144 
149  virtual void setFullScreenMode(bool b);
150 
153  virtual bool hasViewToolbar(int type) const;
154  virtual QWidget* toolbarFor(int type);
155  virtual bool hasViewToolbar(QWidget*) const;
156  virtual int toolbarMenuId(QWidget*) const;
157 
159  virtual QTextStream& write(QTextStream& ts);
160  virtual QTextStream& read(QTextStream& ts);
161 
164  virtual void initFromAppSettings();
165 
168  virtual void clear();
169 
172  virtual void symbolMapChanged();
173 
175  virtual void setUpdateOnTick(bool b, bool updateMini = false);
176 
179  virtual void recreateMenu(DtMainMenuType menu);
180 
182  virtual void activateRubberBand();
183 
188  virtual void attachEventController(DtEventController*);
189 
191  QList<DtEventController*>& attachedEventControllers();
192 
194  virtual DtPopupMenu* menuFromAction(QAction*);
195 
197  virtual DtPopupMenu* menuForType(DtMainMenuType type);
198 
200  virtual void postProcessOptions();
201 
202  bool hasRubberBands() const;
203 
205  virtual void addToolbarMapping(int id, QWidget* w);
206 
208  virtual void removeToolbarMapping(int id);
209 
211  virtual DtTMMapArea* mapContainsData(const DtModelData* data) const;
212 
214  virtual void bringToFront();
215 
217  virtual void clearFrameRates();
218 
219 public slots:
220  virtual void removeAttachedEventController(QObject*);
221 
224  virtual unsigned createMapArea(const DtTMFactory* f);
225 
227  virtual void removeMapArea(unsigned ii);
228 
230  virtual void removeMapArea(DtTMMapArea* area);
231 
233  virtual void changeActiveMap(DtTMMapArea*);
234 
237  virtual void changeActiveRubberBand(const DtTMRubberBand*);
238 
240  virtual void addSymbol(const DtModelData&, bool);
241  virtual void addSymbol(const DtModelData&, DtSymbol*);
242 
244  virtual void removeDictionaryEntry(const DtModelKey& key);
245 
247  virtual void removeSymbol(const DtModelData&, bool);
248 
250  virtual void modifySymbol(const DtModelData& d, int changedFlags);
251 
253  virtual void tick();
254 
256  virtual void preTick();
257 
259  virtual void postTick();
260 
265  virtual void toggleToolbar(bool b);
266 
268  virtual void updateViewMenu();
269 
271  virtual void hideAllToolbars();
272  virtual void showAllToolbars();
273  virtual void displayToolbars(bool hide);
274 
278  virtual void updateValidActions();
279 
282  virtual void processSelectionChanged(const QVector<DtModelKey>&);
283 
285  virtual void changeSelection(const QVector<DtModelKey>& keys);
286 
287  virtual void modelDataAdded(const DtModelKey& key);
288 
291  virtual void setupMenuConnection(DtMainMenuType);
292 
293  DtFeatureActionManager* featureActionManager() const;
294  DtFeatureActionManager* backupFeatureActionManager() const;
295 
297  virtual void revertFeatureActionManager();
298 
300  virtual void mergeFeatureActionManager(const DtFeatureActionManager&);
301 
302 signals:
303 
305  void menuItemsValidated();
306 
308  void changedActiveMap(DtTMMapArea*);
309 
311  void closing(const DtBaseWindow*);
312 
314  void mapAreaCreated(DtTMArea*);
315  void miniMapAreaCreated(DtTMArea*);
316 
317  void selectionChanged(const QVector<DtModelKey>&);
318 
319  void menuRecreated(DtMainMenuType);
320 
321  void modelDataMarkedForUpdated(const DtModelData&);
322  void modelDataRemovedFromUpdate(const DtModelData&);
323 
324  void preTickSignal();
325  void postTickSignal();
326 
327 public:
328 
330  static DtBaseWindow* create(QWidget* parent, const Qt::WindowFlags& flags);
331 
332 protected:
334  virtual void tickEventControllers();
335 
336  virtual bool initContextMenus(const DtTMFactory* f);
337 
340  virtual bool initMenuWidget(const DtTMFactory* f);
341 
343  virtual bool createFeatureActionManager(const DtTMFactory* f);
344 
346  virtual void addDefaultShortcutsAndIcons(const DtTMFactory* f);
347 
349  virtual void createMenuWidget(const DtTMFactory* f);
350 
353  virtual void initViewMenuToolbarMap();
354 
356  virtual bool initMapConnections(DtTMMapArea* area);
357 
358  virtual bool initMenuConnections();
359 
362  virtual bool initFromApplicationtoLatin1();
363 
365  virtual Qt::ToolBarArea dockToolbarPosition() const;
366  virtual Qt::DockWidgetArea dockWidgetPosition() const;
367 
369  virtual void moveDockWindow(QToolBar*, Qt::ToolBarArea);
370  virtual void moveDockWindow(QDockWidget*, Qt::DockWidgetArea);
371 
372  virtual QMenu* createPopupMenu();
373 
375  virtual QWidget* centerWidget(QWidget* itemToCenter);
376 
377 protected:
378 
384 
387  static const int theDefaultDisplayFrameRate;
390 
392 
393  QHash<int, QWidget*> myViewMenuToolbarMap;
395 
400 
402 
404 
409 };
410 
411 QTextStream& operator<<(QTextStream& ts, DtBaseWindow& w);
412 QTextStream& operator>>(QTextStream& ts, DtBaseWindow& w);
413 
415 {
417 }
418 
420 {
421  return myContextMenus;
422 }
423 
424 inline bool DtBaseWindow::hasRubberBands() const
425 {
426  return (myRubberBandList.count() != 0);
427 }
428 
430 {
431  return myFeatureActionManager;
432 }
433 
435 {
437 }
438 
439 #endif //BASEWINDOW_H_

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)