From: caremoli Date: Mon, 12 Apr 2010 07:09:08 +0000 (+0000) Subject: CCAR: add python plugins manager to GEOM module (submenu Other in New Entity menu) X-Git-Tag: V5_1_4a1~7 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=8d7e376e8e41f464cece477d506bb5bc15c5fc42;p=modules%2Fgeom.git CCAR: add python plugins manager to GEOM module (submenu Other in New Entity menu) --- diff --git a/src/GEOMGUI/GeometryGUI.cxx b/src/GEOMGUI/GeometryGUI.cxx index d8940c81a..5d9f7c09d 100644 --- a/src/GEOMGUI/GeometryGUI.cxx +++ b/src/GEOMGUI/GeometryGUI.cxx @@ -23,6 +23,7 @@ // File : GeometryGUI.cxx // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com) // +#include "Python.h" #include "GeometryGUI.h" #include "GeometryGUI_Operations.h" #include "GEOMGUI_OCCSelector.h" @@ -1098,6 +1099,21 @@ bool GeometryGUI::activateModule( SUIT_Study* study ) setMenuShown( true ); setToolShown( true ); + // import Python module that manages GEOM plugins (need to be here because SalomePyQt API uses active module) + PyGILState_STATE gstate = PyGILState_Ensure(); + PyObject* pluginsmanager=PyImport_ImportModule((char*)"salome_pluginsmanager"); + if(pluginsmanager==NULL) + PyErr_Print(); + else + { + PyObject* result=PyObject_CallMethod( pluginsmanager, (char*)"initialize", (char*)"isss",1,"geom","New Entity","Other"); + if(result==NULL) + PyErr_Print(); + Py_XDECREF(result); + } + PyGILState_Release(gstate); + // end of GEOM plugins loading + connect( application()->desktop(), SIGNAL( windowActivated( SUIT_ViewWindow* ) ), this, SLOT( onWindowActivated( SUIT_ViewWindow* ) ) );