]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Merge from BR_PPGP_Dev branch (07/11/2011)
authorvsr <vsr@opencascade.com>
Mon, 7 Nov 2011 14:41:21 +0000 (14:41 +0000)
committervsr <vsr@opencascade.com>
Mon, 7 Nov 2011 14:41:21 +0000 (14:41 +0000)
src/SALOME_PYQT/SalomePyQt/SalomePyQt.cxx
src/SALOME_PYQT/SalomePyQt/SalomePyQt.h
src/SALOME_PYQT/SalomePyQt/SalomePyQt.sip

index 023840207107315319b518036dc66128306013d4..3429ec9b80261d13e1854f1497e2872df0adcaf4 100644 (file)
@@ -519,6 +519,56 @@ const QString SalomePyQt::getActiveComponent()
   return ProcessEvent( new TGetActiveComponentEvent() );
 }
 
+/*!
+  \fn PyObject* SalomePyQt::getActivePythonModule()
+  \brief Access to Python module object currently loaded into SALOME_PYQT_ModuleLight container.
+  \return Python module object currently loaded into SALOME_PYQT_ModuleLight container
+*/
+
+class TGetActivePyModuleEvent: public SALOME_Event
+{
+public:
+  typedef PyObject* TResult;
+  TResult myResult;
+  TGetActivePyModuleEvent() : myResult( 0 ) {}
+  virtual void Execute() 
+  {
+    SALOME_PYQT_ModuleLight* module = getActiveModule();
+    if ( module )
+      myResult = (PyObject*)module->getPythonModule();
+  }
+};
+PyObject* SalomePyQt::getActivePythonModule()
+{
+  return ProcessEvent( new TGetActivePyModuleEvent() );
+}
+
+/*!
+  \fn bool SalomePyQt::activateModule( const QString& modName )
+  \brief Activates SALOME module with the given name
+  \return True if the module has been activated and False otherwise.
+*/
+
+class TActivateModuleEvent: public SALOME_Event
+{
+public:
+  typedef bool TResult;
+  TResult myResult;
+  QString myModuleName;
+  TActivateModuleEvent( const QString& modName ) 
+  : myResult( false ), myModuleName( modName ) {}
+  virtual void Execute() 
+  {
+    if ( LightApp_Application* anApp = getApplication() ) {
+      myResult = anApp->activateModule( myModuleName );
+    }
+  }
+};
+bool SalomePyQt::activateModule( const QString& modName )
+{
+  return ProcessEvent( new TActivateModuleEvent( modName ) );
+}
+
 /*!
   \brief Update an Object Browser of the specified (by identifier) study.
 
index 41ca60456798496b056bdc2c9a3c19f282cc4488..5114bb0244f85fd134b0ec9d89d04061dd3fe0d9 100644 (file)
@@ -26,6 +26,8 @@
 #ifndef SALOME_PYQT_H
 #define SALOME_PYQT_H
 
+#include <Python.h>
+
 #include <QObject>
 #include <QString>
 #include <QColor>
@@ -127,6 +129,8 @@ public:
   static int               getStudyId();
   static void              putInfo( const QString&, const int = 0 );
   static const QString     getActiveComponent();
+  static PyObject*         getActivePythonModule();
+  static bool              activateModule( const QString& );
   static void              updateObjBrowser( const int = 0, bool = true );
 
   static QString           getFileName         ( QWidget*, const QString&, const QStringList&, const QString&, bool );
index ad092f66a192aa332c59d17f7a957f8b2c5d7ec0..9b7c7b1f5a9c9f70f212a8696c43151125a1350f 100644 (file)
@@ -213,6 +213,8 @@ public:
   static int               getStudyId() /ReleaseGIL/ ;
   static void              putInfo( const QString&, const int = 0 ) /ReleaseGIL/ ;
   static const QString     getActiveComponent() /ReleaseGIL/ ;
+  static SIP_PYOBJECT      getActivePythonModule() /ReleaseGIL/ ;
+  static bool              activateModule( const QString& ) /ReleaseGIL/ ;
   static void              updateObjBrowser( const int = 0, bool = true ) /ReleaseGIL/ ;
 
   static QString           getFileName         ( QWidget*, const QString&, const QStringList&, const QString&, bool ) /ReleaseGIL/ ;