VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtVrvApplicationConfiguration.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2009 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: DtVrvApplicationConfiguration.h,v $ $Revision: 1.45 $ $State: Exp $
00007 *******************************************************************************/
00008 
00012 
00013 #pragma once
00014 
00015 #include <vrvCore/vrvCore.h>
00016 #include <vrvUtil/DtDeConfiguration.h>
00017 #include <vrvUtil/DtDeInitializer.h>
00018 #include <vrvUtil/DtDePathConfiguration.h>
00019 #include <vrvCore/DtMenuConfiguration.h>
00020 #include <vrvCore/DtToolbarConfiguration.h>
00021 #include <vrvCore/DtPageConfiguration.h>
00022 #include <list>
00023 #include <map>
00024 
00025 namespace makVrv
00026 {
00027 
00030    class DT_DLL_VRVCORE DtVrvApplicationConfiguration : public DtConfiguration
00031    {
00032 
00033    public:
00034 
00035       struct UIConfiguration
00036       {
00037          DtToolbarConfiguration myToolbarConfiguration;         
00038          DtPageConfiguration myPageConfiguration;
00039          DtMenuConfiguration myMenuConfiguration;
00040          bool                myShowStartupScreen;
00041 
00042          template<class Archive>
00043          void serialize(Archive & ar, const unsigned int version)
00044          {
00045             ar & DT_SERIALIZE_MEMBER(myToolbarConfiguration);
00046             ar & DT_SERIALIZE_MEMBER(myPageConfiguration);
00047             ar & DT_SERIALIZE_MEMBER(myShowStartupScreen);
00048          }
00049       };
00050 
00051    public:
00052 
00054       DtVrvApplicationConfiguration();
00055 
00057       DtVrvApplicationConfiguration(const DtVrvApplicationConfiguration&);
00058 
00060       DtVrvApplicationConfiguration& operator=(const DtVrvApplicationConfiguration&);
00061 
00063       virtual ~DtVrvApplicationConfiguration();
00064 
00066       bool loadPlugins();
00067 
00069       void setLoadPlugins(bool enable);
00070 
00072       void addPluginFile(const std::string& file);
00073 
00075       const std::list<std::string>& pluginFiles() const;
00076 
00078       void excludePluginFile(const std::string& file);
00079 
00081       const std::list<std::string>& excludedPluginFiles() const;
00082 
00084 
00085 
00086       void setAssembleUserInterfaceComponents(bool flag);
00087       bool assembleUserInterfaceComponents() const;
00089 
00091 
00092       void setApplicationName(const std::string& appName);
00093       const std::string& applicationName() const;
00095 
00097 
00098       void setApplicationVersion(const std::string& v);
00099       const std::string& applicationVersion() const;
00101 
00103 
00104       void setShowQuitDialogOnClose(bool show);
00105       bool showQuitDialogOnClose() const;
00107 
00109 
00110       void setApplicationIcon(const std::string& appIcon);
00111       const std::string& applicationIcon() const;
00113 
00114       const UIConfiguration& masterModeUIConfiguration() const;
00115       UIConfiguration& masterModeUIConfiguration();
00116 
00117       void setMasterModeMenuConfiguration(const DtMenuConfiguration& menuConfig);
00118       const DtMenuConfiguration& masterModeMenuConfiguration() const;
00119       DtMenuConfiguration& masterModeMenuConfiguration();
00120 
00121       void setMasterModeToolbarConfiguration(const DtToolbarConfiguration& toolbarConfig);
00122       const DtToolbarConfiguration& masterModeToolbarConfiguration() const;
00123       DtToolbarConfiguration& masterModeToolbarConfiguration();
00124 
00125       void setMasterModePageConfiguration(const DtPageConfiguration& pageConfig);
00126       const DtPageConfiguration& masterModePageConfiguration() const;
00127       DtPageConfiguration& masterModePageConfiguration();
00128 
00129       const UIConfiguration& slaveModeUIConfiguration() const;
00130       UIConfiguration& slaveModeUIConfiguration();
00131 
00132       void setSlaveModeMenuConfiguration(const DtMenuConfiguration& menuConfig);
00133       const DtMenuConfiguration& slaveModeMenuConfiguration() const;
00134       DtMenuConfiguration& slaveModeMenuConfiguration();
00135 
00136       void setSlaveModeToolbarConfiguration(const DtToolbarConfiguration& toolbarConfig);
00137       const DtToolbarConfiguration& slaveModeToolbarConfiguration() const;
00138       DtToolbarConfiguration& slaveModeToolbarConfiguration();
00139 
00140       void setSlaveModePageConfiguration(const DtPageConfiguration& pageConfig);
00141       const DtPageConfiguration& slaveModePageConfiguration() const;
00142       DtPageConfiguration& slaveModePageConfiguration();
00143 
00145       DtDeInitializer buildInitializer();
00146 
00148 
00149 
00150       const DtDriverConfiguration& driverConfiguration() const;
00151       DtDriverConfiguration& driverConfiguration();
00153 
00155       void setDriverConfiguration(const DtDriverConfiguration&);
00156 
00158 
00159       const DtGuiConfiguration& guiConfiguration() const;
00160       DtGuiConfiguration& guiConfiguration();
00162 
00164       void setGuiConfiguration(const DtGuiConfiguration&);
00165 
00167 
00168       const DtInputDriverConfiguration& inputDriverConfiguration() const;
00169       DtInputDriverConfiguration& inputDriverConfiguration();
00171 
00173       void setInputDriverConfiguration( const DtInputDriverConfiguration& config);
00174 
00176       const std::string& displayName() const;
00177 
00179       void setDisplayEngineName(const std::string& name);
00180 
00182       DtDeInitializer::DeMode deMode() const;
00183 
00185       void setDeMode(DtDeInitializer::DeMode mode);
00186 
00188       void setDeFeatures(DtDeInitializer::DeFeatures features);
00189 
00191       void setDefaultDrivers(const DtDeInitializer::DriverInstanceList& drivers);
00192 
00194       const DtDeInitializer::DriverInstanceList& defaultDrivers() const;
00195 
00197       void setDeConfiguration(const DtDeConfiguration& config);
00198 
00200       DtDeConfiguration& deConfiguration();
00201 
00203       const DtDeConfiguration& deConfiguration() const;
00204 
00206       void setCoordinateSystem(const std::string& coordinateSystem,
00207          const std::string& parameters);
00208 
00210       const std::string& coordinateSystem() const;
00211 
00213       const std::string& coordinateSystemParameters() const;
00214 
00216       void setNotifyLevel(DtDebugLog::PrintLevel level);
00217 
00219       DtDebugLog::PrintLevel notifyLevel() const;
00220 
00222       void setLogFileName(const std::string& filename);
00223 
00225       const std::string& logFileName() const;
00226 
00229       void setAutoLoadDrivers(bool autoLoad);
00230 
00233       bool autoLoadDrivers() const;
00234 
00236       void setAutoStartDrivers(const std::vector<std::string>& names);
00237 
00239       const std::vector<std::string>& autoStartDrivers() const;
00240 
00242       void setAuthorizationCodeMap(const DtDeInitializer::AuthorizationCodeMap& map);
00243 
00245       void addAuthorizationCodeMapping(const std::string& key, 
00246          const std::string& value);
00247 
00249       void removeAuthorizationCodeMapping(const std::string& key);
00250 
00253       const std::string* findAuthorizationCodeValue(const std::string& key) 
00254          const;
00255 
00257       void setObserverStateMap(const DtDeInitializer::ObserverStateMap& osm);
00258 
00260       const DtDeInitializer::ObserverStateMap& observerStateMap() const;
00261 
00263       const std::vector<std::string>& mappingFilesToLoad() const;
00264 
00266       void setMappingFilesToLoad(const std::vector<std::string>& );
00267 
00269       const DtDeInitializer::DisplayConnections& displayConnections() const;
00270       DtDeInitializer::DisplayConnections& displayConnections();
00271 
00272       void setDisplayConnections(const DtDeInitializer::DisplayConnections& displayConnections);
00273 
00275       void setAutoLoadFile(const std::string& file);
00276 
00278       const std::string& autoLoadFile() const;
00279 
00281       void setStartFullScreen(bool);
00282 
00284       bool startFullScreen() const;
00285 
00287       void addDefaultSettingsRecord(const std::string& recordName, 
00288          const DtBaseRecordHolder& record);
00289 
00291       void removeDefaultSettingsRecord(const std::string& record);
00292 
00294       const DtBaseRecordHolder* findDefaultSettingsRecord(const std::string& name) const;
00295 
00297       void setConstrainToTerrain(bool constrain);
00298       bool constrainToTerrain() const;
00299 
00301       void setSpeedScaling(bool scale);
00302       bool speedScaling() const;
00303       
00305       void setVertexSelectsParent( bool selectsParent );
00306       bool vertexSelectsParent() const;
00307 
00309       void setDoubleBuffering(bool buffer);
00310       bool doubleBuffer() const;
00311 
00313       void setNoVSync(bool sync);
00314       bool noVSync() const;
00315 
00317       void setFrameRate(unsigned int framesPerSec);
00318       unsigned int frameRate() const;
00319 
00321       void setPathConfiguration(const DtDePathConfiguration& pathConfig);
00322 
00324       DtDePathConfiguration& pathConfiguration();
00325 
00327       const DtDePathConfiguration& pathConfiguration() const;
00329 
00331       virtual void setSupportEmail(const std::string& supportEmail);
00332       virtual const std::string& supportEmail() const;
00333 
00334       virtual void setSupportPhoneNumber(const std::string& phoneNumber);
00335       virtual const std::string& supportPhoneNumber() const;
00336 
00337       virtual void setSalesEmail(const std::string& email);
00338       virtual const std::string& salesEmail() const;
00339 
00340       virtual void setAddressFirstLine(const std::string& address1);
00341       virtual const std::string& addressFirstLine() const;
00342 
00343       virtual void setAddressSecondLine(const std::string& address2);
00344       virtual const std::string& addressSecondLine() const;
00345 
00346       virtual void setAddressThirdLine(const std::string& address3);
00347       virtual const std::string& addressThirdLine() const;
00348 
00349       virtual void setSlogan(const std::string&);
00350       virtual const std::string& slogan() const;
00351 
00352       virtual void setWeblink(const std::string& link);
00353       virtual const std::string& weblink() const;
00354 
00355       virtual void setSvnRevision(const std::string& rev);
00356       virtual const std::string& svnRevision() const;
00357 
00358       virtual void setBuildDate(const std::string& date);
00359       virtual const std::string& buildDate() const;
00360 
00361       virtual void setAboutBoxImage(const std::string& fname);
00362       virtual const std::string& aboutBoxImage() const;
00363 
00364       virtual void setAdditionalCopyright(const std::string& copyRightString);
00365       virtual const std::string& additionalCopyright() const;
00366 
00367    protected:
00368 
00369       std::string myBuildDate;
00370       std::string myApplicationName;
00371       std::string myApplicationIcon;
00372       bool myLoadPluginsFlag;
00373       bool myLoadingIgUserInterfaceFlag;
00374       std::list<std::string> myPluginFiles;
00375       std::list<std::string> myExcludedPluginFiles;
00376       bool myShowQuitDialogOnClose;
00377       std::string myApplicationVersion;
00378 
00380       DtDriverConfiguration myDriverConfiguration;
00381       DtGuiConfiguration myGuiConfiguration;
00382       DtInputDriverConfiguration myInputDriverConfiguration;
00383       std::string myDisplayEngineName;
00384       DtDePathConfiguration myPathConfiguration;
00385       DtDeConfiguration myDeConfiguration;
00386       DtDeInitializer::DeMode myDeMode;
00387       DtDeInitializer::DriverInstanceList myDriverInstances;
00388       std::string myCoordinateSystem;
00389       std::string myCoordinateSystemParameters;
00390       int myNotifyLevel;
00391       std::string myLogFileName;
00392       bool myAutoLoadDriversFlag;
00393       DtDeInitializer::AuthorizationCodeMap myAuthorizationCodeMap;
00394       std::vector<std::string> myAutoStartDrivers;
00395       DtDeInitializer::ObserverStateMap myObserverStateMap;
00396       std::vector<std::string> myMappingFilesToLoad;
00397       DtDeInitializer::DisplayConnections myDisplayConnections;
00398       std::string myAutoLoadFile;
00399       bool myFullScreenFlag;
00400       bool myConstrainToTerrainFlag;
00401       bool mySpeedScalingFlag;
00402       bool myVertexSelectsParentFlag;
00403       bool myDoubleBufferFlag;
00404       bool myNoVSyncFlag;
00405       unsigned int myFrameRate;
00406       DtDeInitializer::DefaultRecordMap myDefaultRecords;
00407       DtDeInitializer::DeFeatures myFeatures;
00408       UIConfiguration myMasterModeUIConfiguration;
00409       UIConfiguration mySlaveModeUIConfiguration;
00411       std::string mySupportEmail;
00412       std::string mySupportPhoneNumber;
00413       std::string mySalesEmail;
00414       std::string myAddressFirstLine;
00415       std::string myAddressSecondLine;
00416       std::string myAddressThirdLine;
00417       std::string mySlogan;
00418       std::string myWeblink;
00419       std::string mySvnRevision;
00420       std::string myAboutBoxImage;
00421       std::string myAdditionalCopyright;
00422    };
00423 }

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)