![]() |
VR-Forces 4.0.4 Class Documentation
|
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 }