Salome HOME
From the community forum: none -> None
[modules/kernel.git] / src / KERNEL_PY / salome_iapp.py
old mode 100755 (executable)
new mode 100644 (file)
index c3aa0cb..dda9b81
@@ -1,5 +1,5 @@
 #  -*- coding: iso-8859-1 -*-
-# Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
+# Copyright (C) 2007-2020  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -26,7 +26,7 @@
 #  Module : SALOME
 #  $Header$
 ## @package salome_iapp
-# Module salome gives access to Salome GUI ressources (if GUI has been launched).
+# Module salome gives access to Salome GUI resources (if GUI has been launched).
 #
 import salome_ComponentGUI
 
@@ -34,12 +34,14 @@ import salome_ComponentGUI
 
 IN_SALOME_GUI=None
 
-def ImportComponentGUI(ComponentName):
+def ImportComponentGUI(ComponentName, updateOB=True):
     if IN_SALOME_GUI:
         libName = "lib" + ComponentName + "_Swig"
         command = "from " + libName + " import *"
         exec (command, globals())
         constructor = ComponentName + "_Swig()"
+        if not updateOB :
+          constructor = ComponentName + "_Swig( False )"
         command = "gui = " + constructor
         exec (command, globals())
         return gui  # @UndefinedVariable
@@ -89,12 +91,12 @@ class SalomeOutsideGUI(object):
     
     def SelectedCount(self):
         """Get the number of active selections"""
-        print("SalomeOutsideGUI: no selection mecanism available outside GUI")
+        print("SalomeOutsideGUI: no selection mechanism available outside GUI")
         return 0
     
     def getSelected(self, i):
         """Get the selection number i """
-        print("SalomeOutsideGUI: no selection mecanism available outside GUI")
+        print("SalomeOutsideGUI: no selection mechanism available outside GUI")
         return None
     
     def AddIObject(self, Entry):
@@ -139,7 +141,7 @@ class SalomeOutsideGUI(object):
 
     def IsInCurrentView(self, Entry):
         """Indicate if an entry is in current view"""
-        print("SalomeOutsideGUI.IsIncurentView: not available outside GUI")
+        print("SalomeOutsideGUI.IsIncurrentView: not available outside GUI")
         return False
         
     def getComponentName(self, ComponentUserName ):
@@ -184,3 +186,16 @@ def salome_iapp_close():
     pass
 
 
+def register_module_in_study(name, syncCall=True):
+    try:
+        import salome
+        salome.salome_init()
+        session_server = salome.naming_service.Resolve("/Kernel/Session")
+        if session_server:
+            message = "register_module_in_study/"+name
+            if syncCall:
+                session_server.emitMessage(message)
+            else:
+                session_server.emitMessageOneWay(message)
+    except:
+         pass