![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2009 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: bhaveLuaScriptsManager.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ******************************************************************************/ 00008 00011 00012 #ifndef bhaveLuaScriptsManager_H_ 00013 #define bhaveLuaScriptsManager_H_ 00014 00015 #include <bhave3DGui/bhave3DGuiDefines.h> 00016 #include <vrvUtil/DtVirtualBaseClass.h> 00017 #include <vrvUtil/signalslib.h> 00018 00019 #include <vrfGuiCore/vrfGuiCore.h> 00020 #include <vrfGuiCore/DtVrfBackendState.h> 00021 00022 #include <vrvCore/DtDe.h> 00023 00024 #include <boost/function.hpp> 00025 #include <boost/signal.hpp> 00026 00027 class DtVrfObjectMessage; 00028 class DtIfLuaScriptList; 00029 class DtSimMessage; 00030 00031 namespace BHAVE 00032 { 00033 namespace BHAVE3DGui 00034 { 00035 typedef std::list<DtString> DtScriptNameList; 00036 typedef std::map<DtSimulationAddress, DtScriptNameList> DtScriptMap; 00037 00041 class DT_DLL_bhave3DGui DtBhaveLuaScriptsManager : public makVrv::DtVirtualBaseClass 00042 { 00043 00044 public: 00045 00047 DtBhaveLuaScriptsManager(makVrv::DtDe&); 00048 00050 virtual ~DtBhaveLuaScriptsManager(); 00051 00053 static DtBhaveLuaScriptsManager& instance(makVrv::DtDe& de); 00054 00056 virtual void requestScriptNameFromCurrentEntity(); 00057 00059 virtual void requestScriptList(const DtSimulationAddress& simEngineAddr=DtSimSendToAll); 00060 00062 virtual void requestScriptText( const DtString& scriptName, 00063 const DtSimulationAddress& simEngineAddr=DtSimSendToAll); 00064 00066 virtual void deleteScript( const DtString& scriptName, 00067 const DtSimulationAddress& simEngineAddr=DtSimSendToAll ); 00068 00070 virtual void saveScript( const DtString& scriptName, const std::list<DtString>& scriptLines, 00071 const DtSimulationAddress& simEngineAddr=DtSimSendToAll ); 00072 00073 public: 00074 00075 boost::signal<void (const std::string&)> signal_scriptNameReceived; 00076 boost::signal<void (const DtString&, const std::list<DtString>&)> signal_scriptTextReceived; 00077 boost::signal<void (const DtSimulationAddress&, const std::vector<DtString>&)> signal_scriptListReceived; 00078 00079 protected: 00080 00082 virtual void processScriptNameMessage(const DtVrfObjectMessage*); 00083 00085 virtual void processLuaScriptListCallback(DtSimMessage*); 00086 00088 virtual void processLuaScriptTextCallback(DtSimMessage*); 00089 00090 protected: 00091 00092 makVrv::DtDe& myDe; 00093 DtScriptMap myScriptMap; 00094 00095 }; 00096 } 00097 } 00098 00099 #endif