VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtVrvApplication.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtVrvApplication.h,v $ $Revision: 1.56 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #ifndef DtVrvApplication_H_
00014 #define DtVrvApplication_H_
00015 
00016 #include <vrvCore/DtVrvApplicationConfiguration.h>
00017 #include <vrvUtil/DtVirtualBaseClass.h>
00018 #include <vrvCore/DtVrvCommandLineProcessor.h>
00019 
00020 #include <string>
00021 #include <map>
00022 
00023 #include <boost/function.hpp>
00024 
00025 namespace makArchives { class DtObserverStateRecordsList; }
00026 
00027 namespace makVrv
00028 {
00029 
00030    class DtDe;
00031    class DtEventLoop;
00032    class DtPluginManager;
00033 
00054    class DT_DLL_VRVCORE DtVrvApplication
00055    {
00056 
00057    public:
00058 
00061       DtVrvApplication();
00062 
00063       DtVrvApplication(const DtVrvApplicationConfiguration& appConfig);
00064 
00066       virtual ~DtVrvApplication();
00067 
00070       static void ShowSplashScreen(const std::string& imageName);
00071 
00076       static void ShowErrorMessage(const std::string& message, DtException* ex = 0);
00077 
00079       DtVrvApplicationConfiguration& configuration();
00080 
00082       DtPageConfiguration& masterModePageConfiguration();
00083       DtPageConfiguration& slaveModePageConfiguration();
00084 
00086       DtMenuConfiguration& masterModeMenuConfiguration();
00087       DtMenuConfiguration& slaveModeMenuConfiguration();
00088 
00090       DtToolbarConfiguration& masterModeToolbarConfiguration();
00091       DtToolbarConfiguration& slaveModeToolbarConfiguration();
00092 
00094       DtDe& de();
00095 
00100       virtual void initialize(int argc,char** argv);
00101 
00106       virtual void run();
00107 
00111       static DtVrvApplication* findFromDe(DtDe&);
00112 
00116       static bool parseDisplayEngineParameter(const std::string& argument,
00117          int& port,std::string& address, std::string& displayConfig);
00118 
00120       static std::string displayEngineParameterFormatting();
00121 
00123 
00125       typedef boost::function<void (DtVrvApplicationConfiguration&, int argc, char** argv)> ConfigurationTransform;
00126 
00128       virtual void installCommandLineProcessor(DtVrvCommandLineProcessor* commandLineProcessor);
00129 
00132       typedef boost::function<void (DtDeInitializer&, DtDe&, DtVrvApplicationConfiguration&)> ApplicationTransform;
00133 
00135       virtual void installPrePluginTransform(const ApplicationTransform& transform, const std::string& id);
00136 
00138       virtual void installPostPluginTransform(const ApplicationTransform& transform, const std::string& id);
00139 
00141       virtual void installPostAssembleTransform(const ApplicationTransform& transform, const std::string& id);
00142 
00144 
00146 
00148       static void handleFileError( const std::string& filename, const std::string fileType );
00149 
00151       static void bindViews(const std::vector<std::string>& filenames,
00152          makVrv::DtDeInitializer::ObserverStateMap& aMap);
00153 
00155       static bool loadObserverStateRecords(const std::string& file,
00156          makArchives::DtObserverStateRecordsList& list);
00157 
00159       static void loadViews(const std::vector<std::string>& filenames,
00160          makVrv::DtDeInitializer::ObserverStateMap& aMap);
00161 
00163 
00166       virtual void writeGuiConfiguration();
00167 
00169       virtual bool updateCurrentGuiConfiguration();
00170 
00171    protected:
00172 
00175       virtual void loadPluginModules();
00176 
00178       virtual void assemble();
00179 
00181       virtual void createDefaultDisplayEngineConfiguration();
00182 
00184       virtual DtDisplayConfiguration embeddedMasterDisplayConfig();
00185 
00187       virtual void createDefaultObserverConfiguration();
00188 
00190       virtual void loadSavedGuiState();
00191 
00192    protected:
00193 
00194       DtVrvApplicationConfiguration myConfiguration;
00195       DtDeInitializer myInitializer;
00196       DtVrvCommandLineProcessor* myCommandLineProcessor;
00197       DtDe* myDe;
00198       DtPluginManager* myPluginManager;
00199       DtEventLoop* myEventLoop;
00200 
00201       typedef std::map<std::string, ApplicationTransform> InitializerTransformMap;
00202       InitializerTransformMap myPrePluginTransforms;
00203       InitializerTransformMap myPostPluginTransforms;
00204       InitializerTransformMap myPostAssembleTransforms;
00205 
00206    };
00207 
00208 }
00209 
00210 #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)