1 # Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 # CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
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.
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.
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
18 # See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
22 # File : salome_iapp.py
23 # Author : Paul RASCLE, EDF
27 import salome_ComponentGUI
29 #--------------------------------------------------------------------------
33 def ImportComponentGUI(ComponentName):
35 libName = "lib" + ComponentName + "_Swig"
36 command = "from " + libName + " import *"
38 constructor = ComponentName + "_Swig()"
39 command = "gui = " + constructor
43 print "Warning: ImportComponentGUI(",ComponentName,") outside GUI !"
44 print "calls to GUI methods may crash..."
45 return salome_ComponentGUI
47 #--------------------------------------------------------------------------
49 def SalomeGUIgetAllSelected(self):
50 selNumber = self.SelectedCount()
52 for i in range(selNumber):
53 listSelected.append(self.getSelected(i))
56 #--------------------------------------------------------------------------
61 #--------------------------------------------------------------------------
63 salome_iapp_initial = 1
65 class SalomeOutsideGUI:
67 Provides a replacement for class SalomeGUI outside GUI process.
70 global myStudyId, myStudyName
75 def updateObjBrowser(self, bid):
76 print "SalomeOutsideGUI: no objectBrowser update outside GUI"
79 def getActiveStudyId(self):
80 print "SalomeOutsideGUI.getActiveStudyId: avoid use outside GUI"
83 def getActiveStudyName(self):
84 print "SalomeOutsideGUI.getActiveStudyName: avoid use outside GUI"
87 def SelectedCount(self):
88 print "SalomeOutsideGUI: no selection mecanism available outside GUI"
91 def getSelected(self, i):
92 print "SalomeOutsideGUI: no selection mecanism available outside GUI"
95 def AddIObject(self, Entry):
96 print "SalomeOutsideGUI.AddIOObject: not available outside GUI"
99 def RemoveIObject(self, Entry):
100 print "SalomeOutsideGUI.REmoveIOObject: not available outside GUI"
103 def ClearIObjects(self):
104 print "SalomeOutsideGUI.ClearIOObject: not available outside GUI"
107 def Display(self, Entry):
108 print "SalomeOutsideGUI.Display: not available outside GUI"
111 def DisplayOnly(self, Entry):
112 print "SalomeOutsideGUI.DisplayOnly: not available outside GUI"
115 def Erase(self, Entry):
116 print "SalomeOutsideGUI.Erase: not available outside GUI"
119 def DisplayAll(self):
120 print "SalomeOutsideGUI.Erase: not available outside GUI"
124 print "SalomeOutsideGUI.EraseAll: not available outside GUI"
127 def IsInCurrentView(self, Entry):
128 print "SalomeOutsideGUI.IsIncurentView: not available outside GUI"
131 def getComponentName(self, ComponentUserName ):
132 print "SalomeOutsideGUI.getComponentName: not available outside GUI"
135 def getComponentUserName( self, ComponentName ):
136 print "SalomeOutsideGUI.getComponentUserName: not available outside GUI"
139 #--------------------------------------------------------------------------
142 def salome_iapp_init(embedded):
143 global salome_iapp_initial
144 global sg,IN_SALOME_GUI
146 if salome_iapp_initial:
147 salome_iapp_initial=0
149 import libSALOME_Swig
151 class SalomeGUI(libSALOME_Swig.SALOMEGUI_Swig):
152 getAllSelected = SalomeGUIgetAllSelected
154 # create a SALOMEGUI_Swig instance
156 IN_SALOME_GUI = sg.hasDesktop()
158 # Not embedded in GUI
159 sg=SalomeOutsideGUI()