VR-Forces 4.0.4 Class Documentation
include/tmqt/tmAppOptions.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: tmAppOptions.h,v $ $Revision: 1.54 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef TMAPPOPTIONS_H
00013 #define TMAPPOPTIONS_H
00014 
00015 #include <vlutil/vlConfig.h>
00016 #include <vlutil/vlFilename.h>
00017 #include <mtl/configVar.h>
00018 #include <mtl/multiVar.h>
00019 #include <mtl/appSettings.h>
00020 #include <QtCore/QObject>
00021 #include <QtCore/QString>
00022 #include <QtCore/QStringList>
00023 
00024 #include "archiver/archiver.h"
00025 #include <QtCore/QVector>
00026 
00027 #include <QtCore/QHash>
00028 
00029 class DtTMFactory;
00030 class DtTMDisplayOptions;
00031 
00032 typedef void (*DtPrintFunc)(const char* s, ...);
00033 
00037 
00038 #include "tmqt/tmqtDefines.h"
00039 
00040 class DT_DLL_tmqt DtMenuLink
00041 {
00042 public:
00043    DtMenuLink() {};
00044 
00045    DtMenuLink(const QString& m, const QString& l) :
00046       myMenu(m), myLink(l) {};
00047    DtMenuLink(const DtMenuLink& orig) :
00048       myMenu(orig.myMenu), myLink(orig.myLink) {};
00049 
00050    QString  myMenu;
00051    QString  myLink;
00052 };
00053 
00054 class DT_DLL_tmqt DtTMAppOptions : public DtArchivableObject
00055 {
00056 
00057    Q_OBJECT
00058 
00059 public:
00060 
00062    DtTMAppOptions(int argc, char** argv);
00063 
00065    virtual ~DtTMAppOptions();
00066 
00068    virtual bool init(const DtTMFactory* f);
00069 
00072    virtual void parseCommandLine();
00073 
00074    virtual QString language() const;
00075    virtual void setLanguage(const QString& s);
00076    
00078    virtual void processConfigFile(const QString&);
00079 
00082    virtual void readConfigurationFiles();
00083    
00085    virtual void clearFiles();
00086 
00088    virtual bool usingGlobalMiniMap();
00089    virtual void setUsingGlobalMiniMap(bool);
00090 
00092    virtual QString defaultConfigFile() const;
00093    virtual void setDefaultConfigFile(const QString&);
00094 
00096    virtual DtTMDisplayOptions* displayOptions() const;
00097 
00099    virtual void setSettingsFile(const QString& file);
00100    virtual QString settingsFile() const;
00101 
00103    virtual void setDoNotUseSettingsFile(bool b);
00104    virtual bool doNotUseSettingsFile() const;
00105 
00107    virtual void setDoNotUsePluginsDirectory(bool b);
00108    virtual bool doNotUsePluginsDirectory() const;
00109 
00111    virtual void setQtAssistantLocation(const QString& loc);
00112    virtual QString qtAssistantLocation() const;
00113 
00114    virtual void setQtHelpFile(const QString& loc);
00115    virtual QString qtHelpFile() const;
00116 
00118    virtual void setShowMaximized(bool b);
00119    virtual bool showMaximized() const;
00120 
00121    virtual void setWindowGeometry(const QRect& r);
00122    virtual const QRect& windowGeometry() const;
00123 
00124    virtual void initCommandOptions();
00125    virtual void initMtlData();
00126 
00127    virtual const std::vector<DtString>& symbolMapFiles() const;
00128    virtual std::vector<DtString>& symbolMapFiles();
00129 
00130    virtual const std::vector<DtString>& translationFiles() const;
00131    virtual std::vector<DtString>& translationFiles();
00132    virtual void addTranslationFile(const DtString&);
00133 
00134    virtual QString defaultSymbolMapFile() const;
00135    virtual void setDefaultSymbolMapFile(const QString& s);
00136 
00137    virtual QString overlayMenu() const;
00138    virtual void setOverlayMenu(const QString& s);
00139 
00140    virtual int printMargin() const;
00141    virtual void setPrintMargin(int iMargin);
00142 
00145    virtual void setDefaultFreehandSamplingRate(int);
00146    virtual int defaultFreehandSamplingRate() const;
00147 
00156    virtual void setStoreLineValuesMode(int);
00157    virtual int storeLineValuesMode() const;
00158 
00162    virtual void setHideOffScreenSymbols(bool);
00163    virtual bool hideOffScreenSymbols() const;
00164 
00167    virtual void preparse();
00168 
00169    virtual const DtString& defaultTerrainDatabasePath() const;
00170    virtual void setDefaultTerrainDatabasePath(const DtString& path);
00171 
00173    virtual void setShowSplashScreen(bool);
00174    virtual bool showSplashScreen() const;
00175 
00178    virtual void setSplashScreenImage(const DtString&);
00179    virtual const DtString& splashScreenImage() const;   
00181 
00184    virtual void setEnableOverlayLogo(bool);
00185    virtual bool enableOverlayLogo() const;
00186 
00188    virtual void setPluginsDirectory(const DtFilename&);
00189    virtual const DtFilename& pluginsDirectory() const;
00190 
00191    virtual void setOverlayLogoFile(const DtFilename&);
00192    virtual const DtFilename& overlayLogoFile() const;
00193 
00196    virtual void setOverlayLogoPosition(int);
00197    virtual int overlayLogoPosition() const;
00198 
00199    virtual void setOverlayLogoScaleFactor(double);
00200    virtual double overlayLogoScaleFactor() const;
00201 
00202    virtual void setOverlayLogoPositionOverride(int x, int y);
00203    virtual void setOverlayLogoPositionOverride(const QPoint&);
00204    virtual QPoint overlayLogoPositionOverride() const;
00205 
00206    virtual void setPreserveEmptyOverlayLayers(bool);
00207    virtual bool preserveEmptyOverlayLayers() const;
00208 
00209    virtual void setUseGLWidget(bool);
00210    virtual bool useGLWidget() const;
00211 
00212    virtual void setLoadPluginsIfVersionMismatch(bool);
00213    virtual bool loadIfVersionMismatch() const;
00214 
00215    const QVector<DtMenuLink>& helpWebLinks() const;
00216    virtual void addHelpWebLink(const QString& helpTitle, const QString& webLink);
00217    virtual void insertHelpWebLink(int iIndex, const QString& helpTitle, const QString& webLink);
00218    virtual void removeHelpWebLink(int iIndex);
00219 
00220    virtual void setDisplayStyle(const QString&);
00221    virtual const QString& displayStyle() const;
00222 
00223    virtual void setAllowRasterMapOptimization(bool);
00224    virtual bool allowRasterMapOptimization() const;
00225 
00228    virtual void setHideSymbolsWhenMapShifted(bool);
00229    virtual bool hideSymbolsWhenMapShifted() const;
00230 
00232    virtual void postSettingsFileRead();
00233 
00235    virtual int addFont(const QString&);
00236 
00238    virtual void addDefaultFonts();
00239 
00241    virtual void setFileDialogPriority(int);
00242    virtual int fileDialogPriority() const;
00243 
00244    virtual DtApplicationSettings* appSettings();
00245 
00246    virtual char** argv() const;
00247    virtual int argc() const;
00248 
00249 protected:
00250    virtual void setupOptionsFromCommandLine();
00251    virtual void addHelpWebLinks();
00252 
00253 public:
00254 
00256    static DtTMAppOptions* create(int argc, char** argv);
00257 
00258 signals:
00259 
00261 
00262    void displayOptionsChanged(const DtTMDisplayOptions* o);
00263 
00264 public slots:
00265 
00267 
00268    virtual void setDisplayOptions(const DtTMDisplayOptions* o);
00269 
00270 private:
00271 
00273    DtTMAppOptions(const DtTMAppOptions& orig);
00274 
00276    DtTMAppOptions& operator=(const DtTMAppOptions& rhs);
00277 
00278 protected:
00280    DtApplicationSettings            myApplicationSettings;
00281 
00283    DtConfigVariable<bool>           myUsingGlobalMiniMap;
00284    DtConfigVariable<bool>           myDoNotUseSettingsFile;
00285    DtConfigVariable<bool>           myDoNotUsePluginsDirectory;
00286 
00287    DtConfigVariable<DtString>       myDefaultConfigFile;
00288    DtConfigVariable<DtString>       myPluginFile;
00289    DtMultiConfigVariable<DtString>  myConfigFiles;
00290    DtMultiConfigVariable<DtString>  myPluginFiles;
00291    DtConfigVariable<DtString>       myOverlayMenu;
00292    DtConfigVariable<DtString>       mySettingsFile;
00293    DtMultiConfigVariable<DtString>  mySymbolMapFiles;
00294    DtMultiConfigVariable<DtString>  myTranslationFiles;
00295    DtConfigVariable<DtString>       myDefaultSymbolMapFile;
00296    DtConfigVariable<DtString>       myLanguage;
00297 
00298    int myArgc;
00299    char** myArgv;
00300 
00301    DtTMDisplayOptions* myDisplayOptions;
00302    bool myHideOffScreenSymbols;
00303    int  myShowSplashScreen;
00304    DtString mySplashScreenImage;
00305 
00306    DtString myQtAssistantLocation;
00307    DtString myQtHelpFile;
00308 
00309    QRect myWindowGeometry;
00310    bool myShowMaximized;
00311 
00312    int myPrintMargin;
00313 
00314    int myDefaultFreehandSamplingRate;
00315    int myHideSymbolsWhenMapShifted;
00316    int myStoreLineValuesMode;
00317 
00318    DtString myDefaultTerrainDatabasePath;
00319 
00321    int myEnableLogoOverlay;
00322    DtFilename myOverlayLogoFile;
00323 
00325    int myOverlayLogoPosition;
00326 
00328    double myOverlayLogoScaleFactor;
00329 
00331    int myOverlayLogoPositionX;
00332    int myOverlayLogoPositionY;
00333 
00337    int myPreserveEmptyOverlayLayers;
00338 
00340    DtFilename myPluginsDirectory;
00341 
00342    short myLoadIfVersionMismatch;
00343 
00345    QString myDisplayStyle;
00346 
00348    int myAllowRasterMapOptimization;
00349 
00351    QHash<int, QString>  myFontMap;
00352 
00353    QVector<DtMenuLink>  myHelpWebLinks;
00354 
00358    int myFileDialogPriority;
00359 
00360    int myUseGLWidget;
00361 };
00362 
00363 inline const QVector<DtMenuLink>& DtTMAppOptions::helpWebLinks() const
00364 {
00365    return myHelpWebLinks;
00366 }
00367 
00368 inline char** DtTMAppOptions::argv() const
00369 {
00370    return myArgv;
00371 }
00372 
00373 inline int DtTMAppOptions::argc() const
00374 {
00375    return myArgc;
00376 }
00377 
00378 #endif

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)