]> SALOME platform Git repositories - modules/yacs.git/blob - src/KERNEL_PY/salome_iapp.py
Salome HOME
e6ebcaf160733ff34107b4f2aa90d6c86598ec57
[modules/yacs.git] / src / KERNEL_PY / salome_iapp.py
1 #  Copyright (C) 2003  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS 
3
4 #  This library is free software; you can redistribute it and/or 
5 #  modify it under the terms of the GNU Lesser General Public 
6 #  License as published by the Free Software Foundation; either 
7 #  version 2.1 of the License. 
8
9 #  This library is distributed in the hope that it will be useful, 
10 #  but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 #  Lesser General Public License for more details. 
13
14 #  You should have received a copy of the GNU Lesser General Public 
15 #  License along with this library; if not, write to the Free Software 
16 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
17
18 #  See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org 
19 #
20 #
21 #
22 #  File   : salome_iapp.py
23 #  Author : Paul RASCLE, EDF
24 #  Module : SALOME
25 #  $Header$
26
27 import salome_ComponentGUI
28
29     #--------------------------------------------------------------------------
30
31 IN_SALOME_GUI=0
32
33 def ImportComponentGUI(ComponentName):
34     if IN_SALOME_GUI:
35         libName = "lib" + ComponentName + "_Swig"
36         command = "from " + libName + " import *"
37         exec ( command )
38         constructor = ComponentName + "_Swig()"
39         command = "gui = " + constructor
40         exec ( command )
41         return gui
42     else:
43         print "Warning: ImportComponentGUI(",ComponentName,") outside GUI !"
44         print "calls to GUI methods may crash..."
45         return salome_ComponentGUI
46
47     #--------------------------------------------------------------------------
48
49 def SalomeGUIgetAllSelected(self):
50     selNumber = self.SelectedCount()
51     listSelected = []
52     for i in range(selNumber):
53         listSelected.append(self.getSelected(i))
54     return listSelected
55
56     #--------------------------------------------------------------------------
57
58 salome_iapp_initial = 1
59
60 def salome_iapp_init():
61     global salome_iapp_initial
62     global sg,IN_SALOME_GUI
63
64     if salome_iapp_initial:
65         salome_iapp_initial=0
66         import libSALOME_Swig
67         
68         class SalomeGUI(libSALOME_Swig.SALOMEGUI_Swig):
69             getAllSelected = SalomeGUIgetAllSelected
70
71         # create a SALOMEGUI_Swig instance
72         sg = SalomeGUI()
73         IN_SALOME_GUI = sg.hasDesktop()
74     return sg