Salome HOME
befa0d075dca54e31a45a7ba1710cfc360cd3d6a
[modules/kernel.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 from libSALOME_Swig import *
28 import salome_ComponentGUI
29
30     #--------------------------------------------------------------------------
31
32 IN_SALOME_GUI=0
33
34 def ImportComponentGUI(ComponentName):
35     if IN_SALOME_GUI:
36         libName = "lib" + ComponentName + "_Swig"
37         command = "from " + libName + " import *"
38         exec ( command )
39         constructor = ComponentName + "_Swig()"
40         command = "gui = " + constructor
41         exec ( command )
42         return gui
43     else:
44         print "Warning: ImportComponentGUI(",ComponentName,") outside GUI !"
45         print "calls to GUI methods may crash..."
46         return salome_ComponentGUI
47
48     #--------------------------------------------------------------------------
49
50 def SalomeGUIgetAllSelected(self):
51     selNumber = self.SelectedCount()
52     listSelected = []
53     for i in range(selNumber):
54         listSelected.append(self.getSelected(i))
55     return listSelected
56
57 class SalomeGUI(SALOMEGUI_Swig):
58     getAllSelected = SalomeGUIgetAllSelected
59     
60     #--------------------------------------------------------------------------
61
62 salome_iapp_initial = 1
63
64 def salome_iapp_init():
65     global salome_iapp_initial
66     global sg,IN_SALOME_GUI
67
68     if salome_iapp_initial:
69         salome_iapp_initial=0
70         
71         # create a SALOMEGUI_Swig instance
72         sg = SalomeGUI()
73         IN_SALOME_GUI=sg.hasDesktop()
74     return sg