From 2e35941efced4f5c02960e364925e449a60221ba Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 9 Aug 2018 18:41:40 +0200 Subject: [PATCH] add some convenience methods for initialization process --- src/Gui/Application.cpp | 19 +++++++++++++++---- src/Gui/Application.h | 2 ++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/Gui/Application.cpp b/src/Gui/Application.cpp index 7af9fc1f9c..e157626c69 100644 --- a/src/Gui/Application.cpp +++ b/src/Gui/Application.cpp @@ -1577,6 +1577,19 @@ void Application::initTypes(void) (ViewProviderDocumentObject::getClassTypeId()); } +void Application::initOpenInventor(void) +{ + // init the Inventor subsystem + SoDB::init(); + SIM::Coin3D::Quarter::Quarter::init(); + SoFCDB::init(); +} + +void Application::runInitGuiScript(void) +{ + Base::Interpreter().runString(Base::ScriptFactory().ProduceScript("FreeCADGuiInit")); +} + void Application::runApplication(void) { const std::map& cfg = App::Application::Config(); @@ -1780,9 +1793,7 @@ void Application::runApplication(void) #endif // init the Inventor subsystem - SoDB::init(); - SIM::Coin3D::Quarter::Quarter::init(); - SoFCDB::init(); + initOpenInventor(); QString home = QString::fromUtf8(App::GetApplication().getHomePath()); @@ -1826,7 +1837,7 @@ void Application::runApplication(void) // running the GUI init script try { Base::Console().Log("Run Gui init script\n"); - Base::Interpreter().runString(Base::ScriptFactory().ProduceScript("FreeCADGuiInit")); + runInitGuiScript(); } catch (const Base::Exception& e) { Base::Console().Error("Error in FreeCADGuiInit.py: %s\n", e.what()); diff --git a/src/Gui/Application.h b/src/Gui/Application.h index de39492f63..8345ad1ac0 100644 --- a/src/Gui/Application.h +++ b/src/Gui/Application.h @@ -188,6 +188,8 @@ public: static Application* Instance; static void initApplication(void); static void initTypes(void); + static void initOpenInventor(void); + static void runInitGuiScript(void); static void runApplication(void); void tryClose( QCloseEvent * e ); //@}