salome.kernel 9.14.0.post6__cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. salome/bin/salome/IDLparser.py +882 -0
  2. salome/bin/salome/KernelHelpersUseCases +0 -0
  3. salome/bin/salome/NSparam.py +51 -0
  4. salome/bin/salome/ORBConfigFile.py +55 -0
  5. salome/bin/salome/SALOMEDS_Client +0 -0
  6. salome/bin/salome/SALOMEDS_Server +0 -0
  7. salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
  8. salome/bin/salome/SALOME_Container +0 -0
  9. salome/bin/salome/SALOME_ContainerPy.py +397 -0
  10. salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
  11. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
  12. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
  13. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
  14. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
  15. salome/bin/salome/SALOME_DataScopeServer +0 -0
  16. salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
  17. salome/bin/salome/SALOME_LauncherServer +0 -0
  18. salome/bin/salome/SALOME_Logger_Server +0 -0
  19. salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
  20. salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
  21. salome/bin/salome/SALOME_Registry_Server +0 -0
  22. salome/bin/salome/TestComponentPy.py +71 -0
  23. salome/bin/salome/TestContainer +0 -0
  24. salome/bin/salome/TestContainerManager +0 -0
  25. salome/bin/salome/TestLauncher +0 -0
  26. salome/bin/salome/TestLifeCycleCORBA.py +89 -0
  27. salome/bin/salome/TestLogger +0 -0
  28. salome/bin/salome/TestLogger.py +27 -0
  29. salome/bin/salome/TestModuleCatalog.py +87 -0
  30. salome/bin/salome/Test_LifeCycleCORBA +0 -0
  31. salome/bin/salome/VERSION +3 -0
  32. salome/bin/salome/addToKillList.py +35 -0
  33. salome/bin/salome/app-quickstart.py +288 -0
  34. salome/bin/salome/appli/.bashrc +50 -0
  35. salome/bin/salome/appli/extra.env.d/001.py +42 -0
  36. salome/bin/salome/appli/python_test_driver.py +148 -0
  37. salome/bin/salome/appli/salome +193 -0
  38. salome/bin/salome/appli/salome_instance.py +31 -0
  39. salome/bin/salome/appli/salome_test_driver.py +150 -0
  40. salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
  41. salome/bin/salome/appli_clean.sh +53 -0
  42. salome/bin/salome/appli_gen.py +606 -0
  43. salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
  44. salome/bin/salome/envSalome.py +59 -0
  45. salome/bin/salome/killSalome.py +48 -0
  46. salome/bin/salome/killSalomeWithPort.py +56 -0
  47. salome/bin/salome/prepare_generating_doc.py +104 -0
  48. salome/bin/salome/pythonpath_reduction.py +184 -0
  49. salome/bin/salome/runConsole.py +39 -0
  50. salome/bin/salome/runIDLparser +58 -0
  51. salome/bin/salome/runRemote.py +101 -0
  52. salome/bin/salome/runSalome.py +30 -0
  53. salome/bin/salome/runSalomeNoServer.py +24 -0
  54. salome/bin/salome/runSalomeOld.py +36 -0
  55. salome/bin/salome/runSalomeOnDemand.py +41 -0
  56. salome/bin/salome/salomeContext.py +36 -0
  57. salome/bin/salome/salome_process_attach +44 -0
  58. salome/bin/salome/salome_process_launcher +58 -0
  59. salome/bin/salome/setenv.py +32 -0
  60. salome/bin/salome/showNS.py +33 -0
  61. salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
  62. salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
  63. salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
  64. salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
  65. salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
  66. salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
  67. salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
  68. salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
  69. salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
  70. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
  71. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
  72. salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
  73. salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
  74. salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
  75. salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
  76. salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
  77. salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
  78. salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
  79. salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
  80. salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
  81. salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
  82. salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
  83. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
  84. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
  85. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
  86. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
  87. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
  88. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
  89. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
  90. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
  91. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
  92. salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
  93. salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
  94. salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
  95. salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
  96. salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
  97. salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
  98. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
  99. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
  100. salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
  101. salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
  102. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
  103. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
  104. salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
  105. salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
  106. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
  107. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
  108. salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
  109. salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
  110. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
  111. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
  112. salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
  113. salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
  114. salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
  115. salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
  116. salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
  117. salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
  118. salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
  119. salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
  120. salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
  121. salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
  122. salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
  123. salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
  124. salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
  125. salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
  126. salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
  127. salome/bin/salome/testDF +0 -0
  128. salome/bin/salome/testDS +0 -0
  129. salome/bin/salome/virtual_salome.py +38 -0
  130. salome/bin/salome/waitContainers.py +82 -0
  131. salome/bin/salome/waitNS.py +31 -0
  132. salome/kernel/ArgvKeeper.py +132 -0
  133. salome/kernel/Calcium_Ports_idl.py +645 -0
  134. salome/kernel/DSC_Engines_idl.py +443 -0
  135. salome/kernel/Engines/__init__.py +24 -0
  136. salome/kernel/Engines__POA/__init__.py +24 -0
  137. salome/kernel/Help.py +141 -0
  138. salome/kernel/KernelBasis.py +463 -0
  139. salome/kernel/KernelContainer.py +81 -0
  140. salome/kernel/KernelDS.py +87 -0
  141. salome/kernel/KernelLauncher.py +117 -0
  142. salome/kernel/KernelLogger.py +75 -0
  143. salome/kernel/KernelModuleCatalog.py +76 -0
  144. salome/kernel/KernelSDS.py +92 -0
  145. salome/kernel/KernelServices.py +105 -0
  146. salome/kernel/LifeCycleCORBA.py +92 -0
  147. salome/kernel/Logger_idl.py +89 -0
  148. salome/kernel/NSTEST/__init__.py +13 -0
  149. salome/kernel/NSTEST__POA/__init__.py +13 -0
  150. salome/kernel/NSparam_impl.py +50 -0
  151. salome/kernel/NamingService.py +365 -0
  152. salome/kernel/ORBConfigFile_impl.py +102 -0
  153. salome/kernel/Palm_Ports_idl.py +162 -0
  154. salome/kernel/PortManager.py +259 -0
  155. salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
  156. salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
  157. salome/kernel/Ports/__init__.py +18 -0
  158. salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
  159. salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
  160. salome/kernel/Ports__POA/__init__.py +18 -0
  161. salome/kernel/PyInterp.py +99 -0
  162. salome/kernel/Registry/__init__.py +13 -0
  163. salome/kernel/Registry__POA/__init__.py +13 -0
  164. salome/kernel/SALOME/__init__.py +19 -0
  165. salome/kernel/SALOMEDS/__init__.py +14 -0
  166. salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
  167. salome/kernel/SALOMEDS__POA/__init__.py +14 -0
  168. salome/kernel/SALOMEDS_idl.py +1590 -0
  169. salome/kernel/SALOMEWrappedStdType.py +383 -0
  170. salome/kernel/SALOME_Comm_idl.py +1045 -0
  171. salome/kernel/SALOME_CommonTypes_idl.py +69 -0
  172. salome/kernel/SALOME_ComponentPy.py +338 -0
  173. salome/kernel/SALOME_Component_idl.py +962 -0
  174. salome/kernel/SALOME_Container.py +242 -0
  175. salome/kernel/SALOME_ContainerHelper.py +840 -0
  176. salome/kernel/SALOME_ContainerManager_idl.py +236 -0
  177. salome/kernel/SALOME_DriverPy.py +86 -0
  178. salome/kernel/SALOME_Embedded_NamingService.py +41 -0
  179. salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
  180. salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
  181. salome/kernel/SALOME_Exception_idl.py +75 -0
  182. salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
  183. salome/kernel/SALOME_GenericObj_idl.py +154 -0
  184. salome/kernel/SALOME_GlobalsImpl.py +38 -0
  185. salome/kernel/SALOME_Launcher_idl.py +327 -0
  186. salome/kernel/SALOME_Locker_idl.py +185 -0
  187. salome/kernel/SALOME_LogManager.py +103 -0
  188. salome/kernel/SALOME_LogManager_idl.py +348 -0
  189. salome/kernel/SALOME_Logger/__init__.py +13 -0
  190. salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
  191. salome/kernel/SALOME_MPIObject_idl.py +100 -0
  192. salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
  193. salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
  194. salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
  195. salome/kernel/SALOME_NamingServicePy.py +313 -0
  196. salome/kernel/SALOME_PACOExtension_idl.py +292 -0
  197. salome/kernel/SALOME_ParamPorts_idl.py +102 -0
  198. salome/kernel/SALOME_Parametric_idl.py +154 -0
  199. salome/kernel/SALOME_Ports_idl.py +347 -0
  200. salome/kernel/SALOME_PyNode.py +1557 -0
  201. salome/kernel/SALOME_PyNode_idl.py +387 -0
  202. salome/kernel/SALOME_Registry_idl.py +155 -0
  203. salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
  204. salome/kernel/SALOME_SDS_idl.py +1181 -0
  205. salome/kernel/SALOME_Session_idl.py +214 -0
  206. salome/kernel/SALOME_TYPES/__init__.py +14 -0
  207. salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
  208. salome/kernel/SALOME_TestComponent_idl.py +121 -0
  209. salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
  210. salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
  211. salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
  212. salome/kernel/SALOME_Trace.py +96 -0
  213. salome/kernel/SALOME_Types_idl.py +81 -0
  214. salome/kernel/SALOME__POA/__init__.py +19 -0
  215. salome/kernel/SALOME_utilities.py +63 -0
  216. salome/kernel/SalomeSDSClt.py +552 -0
  217. salome/kernel/TestKiller.py +76 -0
  218. salome/kernel/Utils_Identity.py +93 -0
  219. salome/kernel/_ArgvKeeper.so +0 -0
  220. salome/kernel/_KernelBasis.so +0 -0
  221. salome/kernel/_KernelContainer.so +0 -0
  222. salome/kernel/_KernelDS.so +0 -0
  223. salome/kernel/_KernelLauncher.so +0 -0
  224. salome/kernel/_KernelLogger.so +0 -0
  225. salome/kernel/_KernelModuleCatalog.so +0 -0
  226. salome/kernel/_KernelSDS.so +0 -0
  227. salome/kernel/_KernelServices.so +0 -0
  228. salome/kernel/_NamingService.so +0 -0
  229. salome/kernel/_calcium.so +0 -0
  230. salome/kernel/_libNOTIFICATION.so +0 -0
  231. salome/kernel/_libSALOME_Comm.so +0 -0
  232. salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
  233. salome/kernel/_pylauncher.so +0 -0
  234. salome/kernel/addToKillList_impl.py +127 -0
  235. salome/kernel/batchmode_salome.py +295 -0
  236. salome/kernel/calcium.py +866 -0
  237. salome/kernel/dsccalcium.py +98 -0
  238. salome/kernel/iparameters.py +255 -0
  239. salome/kernel/kernel_test.py +114 -0
  240. salome/kernel/killSalomeWithPort_impl.py +518 -0
  241. salome/kernel/killSalome_impl.py +94 -0
  242. salome/kernel/launchConfigureParser.py +1234 -0
  243. salome/kernel/launcher_proxy.py +122 -0
  244. salome/kernel/libNOTIFICATION.py +119 -0
  245. salome/kernel/libSALOME_Comm.py +85 -0
  246. salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
  247. salome/kernel/main.py +8 -0
  248. salome/kernel/nameserver.py +134 -0
  249. salome/kernel/nstest_idl.py +129 -0
  250. salome/kernel/omnipatch.py +136 -0
  251. salome/kernel/orbmodule.py +246 -0
  252. salome/kernel/parseConfigFile.py +261 -0
  253. salome/kernel/pylauncher.py +883 -0
  254. salome/kernel/runConsole_impl.py +224 -0
  255. salome/kernel/runSalomeCommon.py +418 -0
  256. salome/kernel/runSalomeNoServer_impl.py +48 -0
  257. salome/kernel/runSalomeOld_impl.py +603 -0
  258. salome/kernel/runSalomeOnDemand_impl.py +72 -0
  259. salome/kernel/runSalome_impl.py +341 -0
  260. salome/kernel/runSession.py +360 -0
  261. salome/kernel/runTests.py +90 -0
  262. salome/kernel/salome/__init__.py +648 -0
  263. salome/kernel/salome/kernel/__init__.py +111 -0
  264. salome/kernel/salome/kernel/datamodeler.py +363 -0
  265. salome/kernel/salome/kernel/deprecation.py +165 -0
  266. salome/kernel/salome/kernel/diclookup.py +137 -0
  267. salome/kernel/salome/kernel/enumerate.py +232 -0
  268. salome/kernel/salome/kernel/logconfig.py +27 -0
  269. salome/kernel/salome/kernel/logger.py +290 -0
  270. salome/kernel/salome/kernel/parametric/__init__.py +26 -0
  271. salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
  272. salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
  273. salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
  274. salome/kernel/salome/kernel/pyunittester.py +184 -0
  275. salome/kernel/salome/kernel/services.py +267 -0
  276. salome/kernel/salome/kernel/studyedit.py +637 -0
  277. salome/kernel/salome/kernel/syshelper.py +116 -0
  278. salome/kernel/salome/kernel/termcolor.py +239 -0
  279. salome/kernel/salome/kernel/testdata.py +159 -0
  280. salome/kernel/salome/kernel/threadhelper.py +385 -0
  281. salome/kernel/salome/kernel/uiexception.py +121 -0
  282. salome/kernel/salome/kernel/unittester.py +89 -0
  283. salome/kernel/salomeContextUtils.py +353 -0
  284. salome/kernel/salomeContext_impl.py +731 -0
  285. salome/kernel/salome_ComponentGUI.py +92 -0
  286. salome/kernel/salome_genericobj.py +44 -0
  287. salome/kernel/salome_iapp.py +206 -0
  288. salome/kernel/salome_instance_impl.py +109 -0
  289. salome/kernel/salome_kernel_utils.py +88 -0
  290. salome/kernel/salome_notebook.py +183 -0
  291. salome/kernel/salome_psutil.py +94 -0
  292. salome/kernel/salome_pynode.py +74 -0
  293. salome/kernel/salome_study.py +347 -0
  294. salome/kernel/salome_test.py +56 -0
  295. salome/kernel/salome_utils.py +563 -0
  296. salome/kernel/salome_version.py +164 -0
  297. salome/kernel/searchFreePort.py +130 -0
  298. salome/kernel/server.py +154 -0
  299. salome/kernel/setenv_impl.py +240 -0
  300. salome/kernel/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  301. salome/kernel/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  302. salome/kernel/share/salome/resources/kernel/CatalogResources.xml +4 -0
  303. salome/kernel/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  304. salome/kernel/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  305. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  306. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  307. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  308. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  309. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  310. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  311. salome/kernel/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  312. salome/kernel/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  313. salome/kernel/share/salome/resources/kernel/app-template/LICENCE +504 -0
  314. salome/kernel/share/salome/resources/kernel/app-template/README +0 -0
  315. salome/kernel/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  316. salome/kernel/share/salome/resources/kernel/app-template/doc/README +1 -0
  317. salome/kernel/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  318. salome/kernel/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  319. salome/kernel/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  320. salome/kernel/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  321. salome/kernel/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  322. salome/kernel/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  323. salome/kernel/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  324. salome/kernel/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  325. salome/kernel/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  326. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  327. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  328. salome/kernel/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  329. salome/kernel/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  330. salome/kernel/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  331. salome/kernel/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  332. salome/kernel/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  333. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  334. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  335. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  336. salome/kernel/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  337. salome/kernel/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  338. salome/kernel/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  339. salome/kernel/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  340. salome/kernel/share/salome/resources/kernel/background.png +0 -0
  341. salome/kernel/share/salome/resources/kernel/channel.cfg +278 -0
  342. salome/kernel/share/salome/resources/kernel/testLauncher.xml +10 -0
  343. salome/kernel/version_and_config.py +24 -0
  344. salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  345. salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  346. salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
  347. salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  348. salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  349. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  350. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  351. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  352. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  353. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  354. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  355. salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  356. salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  357. salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
  358. salome/share/salome/resources/kernel/app-template/README +0 -0
  359. salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  360. salome/share/salome/resources/kernel/app-template/doc/README +1 -0
  361. salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  362. salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  363. salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  364. salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  365. salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  366. salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  367. salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  368. salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  369. salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  370. salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  371. salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  372. salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  373. salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  374. salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  375. salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  376. salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  377. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  378. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  379. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  380. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  381. salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  382. salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  383. salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  384. salome/share/salome/resources/kernel/background.png +0 -0
  385. salome/share/salome/resources/kernel/channel.cfg +278 -0
  386. salome/share/salome/resources/kernel/testLauncher.xml +10 -0
  387. salome_kernel-9.14.0.post6.dist-info/METADATA +25 -0
  388. salome_kernel-9.14.0.post6.dist-info/RECORD +443 -0
  389. salome_kernel-9.14.0.post6.dist-info/WHEEL +6 -0
  390. salome_kernel-9.14.0.post6.dist-info/entry_points.txt +2 -0
  391. salome_kernel-9.14.0.post6.dist-info/sboms/auditwheel.cdx.json +1 -0
  392. salome_kernel.libs/libArgvKeeper-822351d5.so +0 -0
  393. salome_kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
  394. salome_kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
  395. salome_kernel.libs/libCalciumC-f6af782c.so +0 -0
  396. salome_kernel.libs/libDF-281cc999.so +0 -0
  397. salome_kernel.libs/libLauncher-09c39914.so +0 -0
  398. salome_kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
  399. salome_kernel.libs/libOpUtil-8d37ccc8.so +0 -0
  400. salome_kernel.libs/libRegistry-e4a63a9e.so +0 -0
  401. salome_kernel.libs/libResourcesManager-f4ef9548.so +0 -0
  402. salome_kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
  403. salome_kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
  404. salome_kernel.libs/libSALOMELog-55805468.so +0 -0
  405. salome_kernel.libs/libSalomeCalcium-859bd08a.so +0 -0
  406. salome_kernel.libs/libSalomeCatalog-cc0d3e4b.so +0 -0
  407. salome_kernel.libs/libSalomeCommunication-451307b4.so +0 -0
  408. salome_kernel.libs/libSalomeContainer-385f22bc.so +0 -0
  409. salome_kernel.libs/libSalomeContainerServer-22f0534a.so +0 -0
  410. salome_kernel.libs/libSalomeDS-52142005.so +0 -0
  411. salome_kernel.libs/libSalomeDSCContainer-50b97993.so +0 -0
  412. salome_kernel.libs/libSalomeDSCSuperv-c3169f30.so +0 -0
  413. salome_kernel.libs/libSalomeDSCSupervBasic-49dc930a.so +0 -0
  414. salome_kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
  415. salome_kernel.libs/libSalomeDSImpl-7984f375.so +0 -0
  416. salome_kernel.libs/libSalomeDatastream-450015c8.so +0 -0
  417. salome_kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
  418. salome_kernel.libs/libSalomeHDFPersist-5d0aa606.so +0 -0
  419. salome_kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  420. salome_kernel.libs/libSalomeKernelHelpers-1e3c2b19.so +0 -0
  421. salome_kernel.libs/libSalomeLauncher-59553570.so +0 -0
  422. salome_kernel.libs/libSalomeLifeCycleCORBA-d0360629.so +0 -0
  423. salome_kernel.libs/libSalomeLoggerServer-15201cc7.so +0 -0
  424. salome_kernel.libs/libSalomeNS-a03a7eba.so +0 -0
  425. salome_kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
  426. salome_kernel.libs/libSalomeORB-f304f4df.so +0 -0
  427. salome_kernel.libs/libSalomePalm-72fea792.so +0 -0
  428. salome_kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
  429. salome_kernel.libs/libSalomeSDS-543d0459.so +0 -0
  430. salome_kernel.libs/libSalomeTestComponentEngine-317ebef6.so +0 -0
  431. salome_kernel.libs/libTOOLSDS-db8e8629.so +0 -0
  432. salome_kernel.libs/libbatch-779d48ee.so +0 -0
  433. salome_kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
  434. salome_kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
  435. salome_kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
  436. salome_kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
  437. salome_kernel.libs/libhdf5-4696a94b.so.103.0.0 +0 -0
  438. salome_kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
  439. salome_kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
  440. salome_kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
  441. salome_kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
  442. salome_kernel.libs/libwith_loggerTraceCollector-c1de231b.so +0 -0
  443. salome_kernel.libs/libwith_loggerTraceCollector.so +0 -0
  444. salome_kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
@@ -0,0 +1,637 @@
1
+ # Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
+ #
17
+ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18
+ #
19
+
20
+ ## \defgroup studyedit studyedit
21
+ # \{
22
+ # \details
23
+ # This module provides a new class \bStudyEditor to complement \bStudy
24
+ # and \bStudyBuilder classes.
25
+ # \}
26
+
27
+ """
28
+ This module provides a new class :class:`StudyEditor` to complement
29
+ :class:`Study` and :class:`StudyBuilder` classes.
30
+ """
31
+
32
+ import re
33
+
34
+ from salome.kernel import termcolor
35
+ from salome.kernel.logger import Logger
36
+
37
+
38
+ logger = Logger("salome.kernel.studyedit", color=termcolor.PURPLE)
39
+
40
+ _DEFAULT_CONTAINER = "FactoryServer"
41
+
42
+
43
+ ## This class provides utility methods to complement \b Study and
44
+ # \b StudyBuilder classes. Those methods may be moved in those classes
45
+ # in the future.
46
+ # The preferred way to get a StudyEditor object is through the method
47
+ # \b getStudyEditor which allows to reuse existing instance or through
48
+ # the global module attribute \b EDITOR.
49
+ #
50
+ # \param lcc This instance attribute provides access to the SALOME life cycle
51
+ # CORBA service.
52
+ #
53
+ # \param study This instance attribute provides access to the \b Study object.
54
+ # It can be used to access the study but the attribute itself cannot
55
+ # be modified.
56
+ #
57
+ # \param builder This instance attribute provides access to the \b StudyBuilder
58
+ # object. It can be used to edit the study but the attribute itself
59
+ # cannot be modified.
60
+ # \ingroup studyedit
61
+ class StudyEditor:
62
+ """
63
+ This class provides utility methods to complement :class:`Study` and
64
+ :class:`StudyBuilder` classes. Those methods may be moved in those classes
65
+ in the future.
66
+ The preferred way to get a StudyEditor object is through the method
67
+ :meth:`getStudyEditor` which allows to reuse existing instances.
68
+
69
+ .. attribute:: lcc
70
+
71
+ This instance attribute provides access to the SALOME life cycle
72
+ CORBA service.
73
+
74
+ .. attribute:: study
75
+
76
+ This instance attribute provides access to the :class:`Study` object.
77
+ It can be used to access the study but the attribute itself cannot
78
+ be modified.
79
+
80
+ .. attribute:: builder
81
+
82
+ This instance attribute provides access to the :class:`StudyBuilder`
83
+ object. It can be used to edit the study but the attribute itself
84
+ cannot be modified.
85
+
86
+ """
87
+
88
+ @property
89
+ def study(self):
90
+ """Attribute that provides access to the study."""
91
+ import salome
92
+ salome.salome_init()
93
+ if salome.myStudy is None:
94
+ raise Exception("Study doesn't exist")
95
+ return salome.myStudy
96
+
97
+ @property
98
+ def builder(self):
99
+ """Attribute that provides access to the study builder."""
100
+ import salome
101
+ salome.salome_init()
102
+ if salome.myStudy is None:
103
+ raise Exception("Study doesn't exist")
104
+ return salome.myStudy.NewBuilder()
105
+
106
+ @property
107
+ def lcc(self):
108
+ """Attribute that providess access to the SALOME life cycle CORBA service."""
109
+ import salome
110
+ salome.salome_init()
111
+ return salome.lcc
112
+
113
+ ## Find a component corresponding to the Salome module \b moduleName in
114
+ # the study. If none is found, create a new component and associate it
115
+ # with the corresponding engine (i.e. the engine named \b moduleName).
116
+ # Note that in Salome 5, the module name and engine name must be
117
+ # identical (every module must provide an engine with the same name).
118
+ # In Salome 6 it will be possible to define a different name for the
119
+ # engine.
120
+ #
121
+ # \param moduleName (string) name of the module corresponding to the component
122
+ # (the module name is the string value in the
123
+ # attribute "AttributeComment" of the component)
124
+ #
125
+ # \param componentName (string) name of the new component if created.
126
+ # If \b None, use \b moduleName instead.
127
+ #
128
+ # \param icon (string) icon for the new component (attribute "AttributePixMap").
129
+ #
130
+ # \param containerName (string) name of the container in which the engine should be
131
+ # loaded.
132
+ #
133
+ # \return the SComponent found or created.
134
+ def findOrCreateComponent(self, moduleName, componentName = None,
135
+ icon = None, containerName = _DEFAULT_CONTAINER):
136
+ """
137
+ Find a component corresponding to the Salome module `moduleName` in
138
+ the study. If none is found, create a new component and associate it
139
+ with the corresponding engine (i.e. the engine named `moduleName`).
140
+ Note that in Salome 5, the module name and engine name must be
141
+ identical (every module must provide an engine with the same name).
142
+ In Salome 6 it will be possible to define a different name for the
143
+ engine.
144
+
145
+ :type moduleName: string
146
+ :param moduleName: name of the module corresponding to the component
147
+ (the module name is the string value in the
148
+ attribute "AttributeComment" of the component)
149
+
150
+ :type componentName: string
151
+ :param componentName: name of the new component if created. If
152
+ :const:`None`, use `moduleName` instead.
153
+
154
+ :type icon: string
155
+ :param icon: icon for the new component (attribute "AttributePixMap").
156
+
157
+ :type containerName: string
158
+ :param containerName: name of the container in which the engine should be
159
+ loaded.
160
+
161
+ :return: the SComponent found or created.
162
+
163
+ """
164
+ sComponent = self.study.FindComponent(moduleName)
165
+ if sComponent is None:
166
+ sComponent = self.builder.NewComponent(moduleName)
167
+ # Note that the NewComponent method set the "comment" attribute to the
168
+ # value of its argument (moduleName here)
169
+ if componentName is None:
170
+ componentName = moduleName
171
+ self.builder.SetName(sComponent, componentName)
172
+ if icon is not None:
173
+ # _MEM_ : This will be effective if and only if "moduleName"
174
+ # really corresponds to the module name (as specified in the
175
+ # SalomeApp.xml)
176
+ self.setIcon(sComponent, icon)
177
+
178
+ # This part will stay inactive until Salome 6. In Salome 6, the
179
+ # engine name will be stored separately from the module name.
180
+ # An internal convention (in this class) is to store the name of the
181
+ # associated engine in the parameter attribute of the scomponent (so that
182
+ # it could be retrieved in a future usage of this scomponent, for example,
183
+ # for the need of the function loadComponentEngine). The comment attribute
184
+ # SHOULD NOT be used for this purpose because it's used by the SALOME
185
+ # resources manager to identify the SALOME module and then localized
186
+ # the resource files
187
+ #attr = self.builder.FindOrCreateAttribute( sComponent, "AttributeParameter" )
188
+ #attr.SetString( "ENGINE_NAME", engineName )
189
+
190
+ engine = self.lcc.FindOrLoadComponent(containerName, moduleName)
191
+ if engine is None:
192
+ raise Exception("Cannot load engine %s in container %s. See "
193
+ "logs of container %s for more details." %
194
+ (moduleName, containerName, containerName))
195
+ self.builder.DefineComponentInstance(sComponent, engine)
196
+
197
+ return sComponent
198
+
199
+ ## Load the engine corresponding to \b sComponent in the container
200
+ # \b containerName, associate the engine with the component and load the
201
+ # CORBA objects of this component in the study.
202
+ def loadComponentEngine(self, sComponent,
203
+ containerName = _DEFAULT_CONTAINER):
204
+ """
205
+ Load the engine corresponding to `sComponent` in the container
206
+ `containerName`, associate the engine with the component and load the
207
+ CORBA objects of this component in the study.
208
+ """
209
+ # This part will stay inactive until Salome 6. In Salome 6, the
210
+ # engine name will be stored separately from the module name.
211
+ #attr = self.builder.FindOrCreateAttribute( sComponent, "AttributeParameter" )
212
+ #engineName = attr.GetString( "ENGINE_NAME" )
213
+ engine = self.lcc.FindOrLoadComponent(containerName,
214
+ sComponent.GetComment())
215
+ if engine is None:
216
+ raise Exception("Cannot load component %s in container %s. See "
217
+ "logs of container %s for more details." %
218
+ (sComponent.GetComment(), containerName,
219
+ containerName))
220
+ self.builder.LoadWith(sComponent, engine)
221
+
222
+ ## Get the CORBA object associated with the SObject \b item, eventually by
223
+ # first loading it with the corresponding engine.
224
+ def getOrLoadObject(self, item):
225
+ """
226
+ Get the CORBA object associated with the SObject `item`, eventually by
227
+ first loading it with the corresponding engine.
228
+ """
229
+ object = item.GetObject()
230
+ if object is None: # the engine has not been loaded yet
231
+ sComponent = item.GetFatherComponent()
232
+ self.loadComponentEngine(sComponent)
233
+ object = item.GetObject()
234
+ return object
235
+
236
+ ## Find an object under \b fatherItem in the study with the given
237
+ # attributes. Return the first one found if at least one exists,
238
+ # otherwise create a new one with the given attributes and return it.
239
+ #
240
+ # See \b setItem() for the description of the parameters.
241
+ def findOrCreateItem(self, fatherItem, name, fileType = None,
242
+ fileName = None, comment = None, icon = None,
243
+ IOR = None, typeId = None):
244
+ """
245
+ Find an object under `fatherItem` in the study with the given
246
+ attributes. Return the first one found if at least one exists,
247
+ otherwise create a new one with the given attributes and return it.
248
+
249
+ See :meth:`setItem` for the description of the parameters.
250
+ """
251
+ sObject = self.findItem(fatherItem, name, fileType, fileName, comment,
252
+ icon, IOR, typeId)
253
+ if sObject is None:
254
+ sObject = self.createItem(fatherItem, name, fileType, fileName,
255
+ comment, icon, IOR, typeId)
256
+ return sObject
257
+
258
+ ## Find an item with given attributes under \b fatherItem in the study. If
259
+ # none is found, return \b None. If several items correspond to
260
+ # the parameters, only the first one is returned. The search is made
261
+ # only on given parameters (i.e. not \b None). To look explicitly
262
+ # for an empty attribute, use an empty string in the corresponding
263
+ # parameter.
264
+ #
265
+ # See \b setItem() for the description of the parameters.
266
+ def findItem(self, fatherItem, name = None, fileType = None,
267
+ fileName = None, comment = None, icon = None, IOR = None,
268
+ typeId = None):
269
+ """
270
+ Find an item with given attributes under `fatherItem` in the study. If
271
+ none is found, return :const:`None`. If several items correspond to
272
+ the parameters, only the first one is returned. The search is made
273
+ only on given parameters (i.e. not :const:`None`). To look explicitly
274
+ for an empty attribute, use an empty string in the corresponding
275
+ parameter.
276
+
277
+ See :meth:`setItem` for the description of the parameters.
278
+ """
279
+ foundItem = None;
280
+ childIterator = self.study.NewChildIterator(fatherItem)
281
+ while childIterator.More() and foundItem is None:
282
+ childItem = childIterator.Value()
283
+ if childItem and \
284
+ (name is None or self.getName(childItem) == name) and \
285
+ (fileType is None or \
286
+ self.getFileType(childItem) == fileType) and \
287
+ (fileName is None or \
288
+ self.getFileName(childItem) == fileName) and \
289
+ (comment is None or self.getComment(childItem) == comment) and \
290
+ (icon is None or \
291
+ self.getIcon(childItem) == icon) and \
292
+ (IOR is None or childItem.GetIOR() == IOR) and \
293
+ (typeId is None or \
294
+ self.getTypeId(childItem) == typeId):
295
+ foundItem = childItem
296
+ childIterator.Next()
297
+ return foundItem
298
+
299
+ ## Create a new object named \b name under \b fatherItem in the study, with
300
+ # the given attributes. If an object named \b name already exists under
301
+ # the father object, the new object is created with a new name \b name_X
302
+ # where X is the first available index.
303
+ #
304
+ # param fatherItem (SObject) item under which the new item will be added.
305
+ # \return new SObject created in the study.
306
+ #
307
+ # See \b setItem() for the description of the other parameters.
308
+ def createItem(self, fatherItem, name, fileType=None, fileName=None,
309
+ comment=None, icon=None, IOR=None, typeId=None):
310
+ """
311
+ Create a new object named `name` under `fatherItem` in the study, with
312
+ the given attributes. If an object named `name` already exists under
313
+ the father object, the new object is created with a new name `name_X`
314
+ where X is the first available index.
315
+
316
+ :type fatherItem: SObject
317
+ :param fatherItem: item under which the new item will be added.
318
+
319
+ :return: new SObject created in the study
320
+
321
+ See :meth:`setItem` for the description of the other parameters.
322
+ """
323
+ aSObject = self.builder.NewObject(fatherItem)
324
+
325
+ aChildIterator = self.study.NewChildIterator(fatherItem)
326
+ aMaxId = -1
327
+ aLength = len(name)
328
+ aDelim = "_"
329
+ anIdRE = re.compile("^" + aDelim + "[0-9]+")
330
+ aNameRE = re.compile("^" + name)
331
+ while aChildIterator.More():
332
+ aSObj = aChildIterator.Value()
333
+ aChildIterator.Next()
334
+ aName = aSObj.GetName()
335
+ if re.match(aNameRE, aName):
336
+ aTmp = aName[aLength:]
337
+ if re.match(anIdRE, aTmp):
338
+ anId = int(aTmp[1:])
339
+ if aMaxId < anId:
340
+ aMaxId = anId
341
+ pass
342
+ pass
343
+ elif aMaxId < 0:
344
+ aMaxId = 0
345
+ pass
346
+ pass
347
+ pass
348
+
349
+ aMaxId = aMaxId + 1
350
+ aName = name
351
+ if aMaxId > 0:
352
+ aName = aName + aDelim + str(aMaxId)
353
+ pass
354
+
355
+ self.setItem(aSObject, aName, fileType, fileName, comment, icon,
356
+ IOR, typeId)
357
+
358
+ return aSObject
359
+
360
+ ## Modify the attributes of an item in the study. Unspecified attributes
361
+ # (i.e. those set to \b None) are left unchanged.
362
+ #
363
+ # \param item (SObject) item to modify.
364
+ #
365
+ # \param name (string or unicode) item name (attribute \b AttributeName).
366
+ #
367
+ # \param fileType (string or unicode) item file type (attribute \b AttributeFileType).
368
+ #
369
+ # \param fileName (string or unicode) item file name (attribute \b AttributeExternalFileDef).
370
+ #
371
+ # \param comment (string or unicode) item comment (attribute \b AttributeComment). Note that
372
+ # this attribute will appear in the \b Value column in the object browser.
373
+ #
374
+ # \param icon (string or unicode) item icon name (attribute \b AttributePixMap).
375
+ #
376
+ # \param IOR (string) IOR of a CORBA object associated with the item
377
+ # (attribute \b AttributeIOR).
378
+ #
379
+ # \param typeId (integer) item type (attribute \b AttributeLocalID).
380
+ def setItem(self, item, name = None, fileType = None, fileName = None,
381
+ comment = None, icon = None, IOR = None, typeId = None):
382
+ """
383
+ Modify the attributes of an item in the study. Unspecified attributes
384
+ (i.e. those set to :const:`None`) are left unchanged.
385
+
386
+ :type item: SObject
387
+ :param item: item to modify.
388
+
389
+ :type name: string or unicode
390
+ :param name: item name (attribute 'AttributeName').
391
+
392
+ :type fileType: string or unicode
393
+ :param fileType: item file type (attribute 'AttributeFileType').
394
+
395
+ :type fileName: string or unicode
396
+ :param fileName: item file name (attribute
397
+ 'AttributeExternalFileDef').
398
+
399
+ :type comment: string or unicode
400
+ :param comment: item comment (attribute 'AttributeComment'). Note that
401
+ this attribute will appear in the 'Value' column in
402
+ the object browser.
403
+
404
+ :type icon: string or unicode
405
+ :param icon: item icon name (attribute 'AttributePixMap').
406
+
407
+ :type IOR: string
408
+ :param IOR: IOR of a CORBA object associated with the item
409
+ (attribute 'AttributeIOR').
410
+
411
+ :type typeId: integer
412
+ :param typeId: item type (attribute 'AttributeLocalID').
413
+ """
414
+ logger.debug("setItem (ID=%s): name=%s, fileType=%s, fileName=%s, "
415
+ "comment=%s, icon=%s, IOR=%s" %
416
+ (item.GetID(), name, fileType, fileName, comment,
417
+ icon, IOR))
418
+ if name is not None:
419
+ self.setName(item, name)
420
+ if fileType is not None:
421
+ self.setFileType(item, fileType)
422
+ if fileName is not None:
423
+ self.setFileName(item, fileName)
424
+ if comment is not None:
425
+ self.setComment(item, comment)
426
+ if icon is not None:
427
+ self.setIcon(item, icon)
428
+ if IOR is not None:
429
+ self.builder.SetIOR(item, IOR)
430
+ if typeId is not None:
431
+ self.setTypeId(item, typeId)
432
+
433
+ ## Remove the given item from the study. Note that the items are never
434
+ # really deleted. They just don't appear in the study anymore.
435
+ #
436
+ # \param item (SObject) the item to be removed
437
+ #
438
+ # \param withChildren (boolean) if \b True, also remove the children of item
439
+ #
440
+ # \return \b True if the item was removed successfully, or
441
+ # \b False if an error happened.
442
+ def removeItem(self, item, withChildren = False ):
443
+ """
444
+ Remove the given item from the study. Note that the items are never
445
+ really deleted. They just don't appear in the study anymore.
446
+
447
+ :type item: SObject
448
+ :param item: the item to be removed
449
+
450
+ :type withChildren: boolean
451
+ :param withChildren: if :const:`True`, also remove the children of
452
+ `item`
453
+
454
+ :return: :const:`True` if the item was removed successfully, or
455
+ :const:`False` if an error happened.
456
+ """
457
+ ok = False
458
+ try:
459
+ if withChildren:
460
+ self.builder.RemoveObjectWithChildren(item)
461
+ else:
462
+ self.builder.RemoveObject(item)
463
+ ok = True
464
+ except Exception:
465
+ ok = False
466
+ return ok
467
+
468
+ ## Find an item tagged \b tag under \b fatherItem in the study tree or
469
+ # create it if there is none, then set its attributes.
470
+ #
471
+ # \param fatherItem (SObject) item under which the tagged item will be looked for
472
+ # and eventually created.
473
+ #
474
+ # \param tag integer) tag of the item to look for.
475
+ #
476
+ # \return the SObject at \b tag if found or created successfully, or
477
+ # \b None if an error happened.
478
+ #
479
+ # See \b setItem() for the description of the other parameters.
480
+ def setItemAtTag(self, fatherItem, tag, name = None, fileType = None,
481
+ fileName = None, comment = None, icon = None, IOR = None,
482
+ typeId = None):
483
+ """
484
+ Find an item tagged `tag` under `fatherItem` in the study tree or
485
+ create it if there is none, then set its attributes.
486
+
487
+ :type fatherItem: SObject
488
+ :param fatherItem: item under which the tagged item will be looked for
489
+ and eventually created.
490
+
491
+ :type tag: integer
492
+ :param tag: tag of the item to look for.
493
+
494
+ :return: the SObject at `tag` if found or created successfully, or
495
+ :const:`None` if an error happened.
496
+
497
+ See :meth:`setItem` for the description of the other parameters.
498
+ """
499
+ found, sObj = fatherItem.FindSubObject(tag)
500
+ if not found:
501
+ sObj = self.builder.NewObjectToTag(fatherItem, tag)
502
+ self.setItem(sObj, name, fileType, fileName, comment, icon,
503
+ IOR, typeId)
504
+ return sObj
505
+
506
+ ## Return the name of the object sObject
507
+ def getName(self, sObject):
508
+ return sObject.GetName()
509
+
510
+ ## Set the name of the object sObject
511
+ def setName(self, sObject, name):
512
+ self.builder.SetName(sObject, name)
513
+
514
+ ## Return the comment of the object sObject
515
+ def getComment(self, sObject):
516
+ return sObject.GetComment()
517
+
518
+ ## Set the comment of the object sObject
519
+ def setComment(self, sObject, comment):
520
+ self.builder.SetComment(sObject, comment)
521
+
522
+ ## Return the value of the attribute named \b attributeName on the object
523
+ # sObject, or \b default if the attribute doesn't exist.
524
+ def getAttributeValue(self, sObject, attributeName, default = None):
525
+ """
526
+ Return the value of the attribute named `attributeName` on the object
527
+ `sObject`, or `default` if the attribute doesn't exist.
528
+ """
529
+ value = default
530
+ found, attr = self.builder.FindAttribute(sObject, attributeName)
531
+ if found:
532
+ value = attr.Value()
533
+ return value
534
+
535
+ ## Set the value of the attribute named \b attributeName on the object
536
+ # sObject to the value \b attributeValue.
537
+ def setAttributeValue(self, sObject, attributeName, attributeValue):
538
+ """
539
+ Set the value of the attribute named `attributeName` on the object
540
+ `sObject` to the value `attributeValue`.
541
+ """
542
+ attr = self.builder.FindOrCreateAttribute(sObject, attributeName)
543
+ attr.SetValue(attributeValue)
544
+
545
+ ## Return the value of the attribute "AttributeLocalID" of the object
546
+ # sObject, or \b None if it is not set.
547
+ def getTypeId(self, sObject):
548
+ """
549
+ Return the value of the attribute "AttributeLocalID" of the object
550
+ `sObject`, or :const:`None` if it is not set.
551
+ """
552
+ return self.getAttributeValue(sObject, "AttributeLocalID")
553
+
554
+ ## Set the attribute "AttributeLocalID" of the object \b sObject to the
555
+ # value \b value.
556
+ def setTypeId(self, sObject, value):
557
+ """
558
+ Set the attribute "AttributeLocalID" of the object `sObject` to the
559
+ value `value`.
560
+ """
561
+ self.setAttributeValue(sObject, "AttributeLocalID", value)
562
+
563
+ ## Return the value of the attribute "AttributeFileType" of the object
564
+ # sObject, or an empty string if it is not set.
565
+ def getFileType(self, sObject):
566
+ """
567
+ Return the value of the attribute "AttributeFileType" of the object
568
+ `sObject`, or an empty string if it is not set.
569
+ """
570
+ return self.getAttributeValue(sObject, "AttributeFileType", "")
571
+
572
+ ## Set the attribute "AttributeFileType" of the object sObject to the
573
+ # value value.
574
+ def setFileType(self, sObject, value):
575
+ """
576
+ Set the attribute "AttributeFileType" of the object `sObject` to the
577
+ value `value`.
578
+ """
579
+ self.setAttributeValue(sObject, "AttributeFileType",
580
+ value)
581
+
582
+ ## Return the value of the attribute "AttributeExternalFileDef" of the
583
+ # object sObject, or an empty string if it is not set.
584
+ def getFileName(self, sObject):
585
+ """
586
+ Return the value of the attribute "AttributeExternalFileDef" of the
587
+ object `sObject`, or an empty string if it is not set.
588
+ """
589
+ return self.getAttributeValue(sObject, "AttributeExternalFileDef", "")
590
+
591
+ ## Set the attribute "AttributeExternalFileDef" of the object sObject
592
+ # to the value value.
593
+ def setFileName(self, sObject, value):
594
+ """
595
+ Set the attribute "AttributeExternalFileDef" of the object `sObject`
596
+ to the value `value`.
597
+ """
598
+ self.setAttributeValue(sObject, "AttributeExternalFileDef",
599
+ value)
600
+
601
+ ## Return the value of the attribute "AttributePixMap" of the object
602
+ # sObject, or an empty string if it is not set.
603
+ def getIcon(self, sObject):
604
+ """
605
+ Return the value of the attribute "AttributePixMap" of the object
606
+ `sObject`, or an empty string if it is not set.
607
+ """
608
+ value = ""
609
+ found, attr = self.builder.FindAttribute(sObject, "AttributePixMap")
610
+ if found and attr.HasPixMap():
611
+ value = attr.GetPixMap()
612
+ return value
613
+
614
+ ## Set the attribute "AttributePixMap" of the object sObject to the
615
+ # value value.
616
+ def setIcon(self, sObject, value):
617
+ """
618
+ Set the attribute "AttributePixMap" of the object `sObject` to the
619
+ value `value`.
620
+ """
621
+ attr = self.builder.FindOrCreateAttribute(sObject, "AttributePixMap")
622
+ attr.SetPixMap(value)
623
+
624
+ ## Singleton study editor instance.
625
+ # \ingroup studyedit
626
+ EDITOR = StudyEditor()
627
+ """Singleton study editor instance."""
628
+
629
+ ## Return a \b StudyEditor instance to edit the study.
630
+ # \deprecated This function is kept for backward compatibility. Use \a EDITOR instead.
631
+ # \ingroup studyedit
632
+ def getStudyEditor():
633
+ """
634
+ Return a :class:`StudyEditor` instance to edit the study.
635
+ """
636
+ global EDITOR
637
+ return EDITOR