12 #ifndef TACTICALMAPAPPLICATION_H
13 #define TACTICALMAPAPPLICATION_H
20 #include <QtCore/QList>
59 #include <QtGui/QApplication>
60 #include <QtCore/QDateTime>
61 #include <QtCore/QTextStream>
98 virtual void initializeQApplicationObject();
109 const Qt::WindowFlags& flags = 0);
113 virtual QVector<DtModelKey> selectedModelKeys()
const;
124 virtual bool initConnections();
138 const Qt::WindowFlags& f = 0);
148 virtual const QString& filenameInUse();
149 virtual void setFilenameInUse(
const QString& filename);
165 virtual void addManagedArea(
DtTMArea*);
168 virtual bool hasWindows()
const;
175 virtual int fastestFrameRate();
185 virtual void startTickTimer(
int mSec,
bool allowFutureOverride =
true);
186 virtual void setAllowTickTimerOverride(
bool b);
187 virtual bool allowTickTimerOverride();
191 virtual void adjustTickTimerToMeet(
int mSec);
194 virtual int tickTimerRate();
197 virtual void setSuspendTicking(
bool b);
198 virtual bool suspendTicking();
201 virtual void setInTick(
bool b);
206 virtual DtModelData* dataWithName(
const QString& name,
const QVector<int>* except = NULL);
232 virtual void modelDataChanged(
const DtModelData& data,
int iChangedFlags);
237 virtual DtModelData* checkForDuplicateName(
const DtModelData* checker, QString name,
const QVector<int>* except = NULL);
240 virtual void setDuplicateNameCheck(
bool b);
241 virtual bool duplicateNameCheck()
const;
260 virtual bool fullScreenMode()
const;
263 virtual bool isConcave(QVector<DtPoint>* pointList);
266 virtual void addSymbol(
const DtModelData&,
bool force =
true);
271 virtual void removeSymbol(
const DtModelData&,
bool removeFromDict =
false);
275 virtual void clear();
278 virtual void symbolMapChanged();
282 virtual bool needsTerrainDatabase()
const;
285 virtual bool terrainLoaded()
const;
292 virtual bool allowTerrainProfileTracking()
const;
295 virtual void setUpdateOnTick(
bool b,
bool updateMini =
false);
298 virtual void setPrintMode(
bool b);
299 virtual bool printMode()
const;
303 virtual QString dataFolder();
307 virtual QString makeRelativeTo(QString filename, QString path);
310 virtual QString relativePath();
312 int settingsVersion()
const;
314 virtual QString appName()
const;
315 virtual QString appVersion()
const;
316 virtual QString pluginVersion()
const;
317 virtual QString buildDate()
const;
320 virtual DtString pluginName()
const;
323 virtual void setSplashScreenMessage(
const QString&);
326 virtual bool startSplashScreenProgress(
const QString& title,
int iTotalSteps);
327 virtual void updateSplashScreenProgress(
int);
328 virtual void endSplashScreenProgress();
331 virtual bool splashScreenIsActive()
const;
334 bool applicationInitialized()
const;
344 virtual void tickEventControllers();
345 virtual void clearCurrentEvents();
348 virtual void setSplashScreenImage(
const QString&);
354 virtual bool eventFilter(
QObject *o, QEvent* e);
355 virtual bool event(QEvent* e);
358 virtual QString resolveFile(
const QString&)
const;
369 virtual void revertToolbars();
382 const QString& name = QString::null);
386 virtual bool canPaste()
const;
387 virtual void setPasteData(
const QByteArray&);
388 virtual void clearPasteData();
389 const QByteArray& pasteData()
const;
392 virtual void startPerformanceCounter(
const std::string&);
393 virtual void endPerformanceCounter(
const std::string&);
394 virtual void outputPerformanceCounters();
395 bool markTime()
const;
404 void filenameInUseChanged(
const QString& s);
405 void symbolMapChangedSignal();
407 void pasteAvailable();
408 void pasteUnavailable();
411 virtual void removeAttachedEventController(
QObject*);
417 virtual void fileExit();
421 virtual void windowDestroyed(
QObject* w);
424 virtual void modelDataAdded(
const DtModelKey& key);
427 virtual void modelDataRemoved(
const DtModelKey& key);
431 virtual void setDisplayFrameRate(
int iFramesPerSecond);
434 virtual int displayFrameRate()
const;
438 virtual void tickInternal();
445 virtual void setFullScreenMode(
bool b);
448 virtual void saveSettingsFile();
449 virtual void saveSettings(QTextStream& stream);
452 virtual void readSettingsFile(
DtBaseWindow* w,
bool windowOnly =
false);
453 virtual void readSettings(
DtBaseWindow* w, QTextStream& stream,
bool windowOnly =
false);
455 virtual void splashScreenDestroyed();
458 virtual void removeManagedArea(
QObject*);
461 virtual void removeFromUpdate(
const DtModelData& data);
464 virtual void markForUpdate(
const DtModelKey&);
467 virtual void showSplashScreen();
470 virtual void closeSplashScreen();
471 virtual void showSplashScreen(
bool show);
473 virtual void processMsgItem(
const DtMsgItem& item);
476 virtual bool shouldTick();
484 virtual void addToRemoval(
const DtModelData& data);
487 virtual void postAppInit();
496 virtual bool setupOptions();
501 virtual bool initGlobalMiniMap();
505 virtual bool initUnitConverterFactory(
DtTMFactory* f);
508 virtual bool initUnitDisplayManager(
DtTMFactory* f);
511 virtual bool initMenuSystem();
515 virtual void setupApplicationFromSettings();
517 virtual bool setupFromOptions();
520 virtual bool setupMapReaders();
524 virtual void setupWindowFromSettings(
DtBaseWindow* w,
bool show);
528 virtual bool createCoordinateSystemCollection(
const DtTMFactory* f);
536 virtual void initGlobalMiniMapConnections();
539 virtual const QString& splashScreenImage()
const;
542 virtual DtTMPlugin* loadPlugin(
const QString&);
547 virtual void applicationReady();
550 virtual bool loadTranslationFiles(
const QString& lang);
552 virtual bool loadSymbolMapFilesAtStartup()
const;
556 virtual DtString initialLogFile()
const;
557 virtual bool useConsole()
const;
561 virtual void setEnableGuiPrinter(
bool enable,
int level);
563 virtual void timerEvent(QTimerEvent *e);
565 virtual void initUserData();
570 virtual void setupLanguage();
658 std::map<std::string, __int64> myPerformanceCounters;
699 inline bool DtTMApplication::markTime()
const