1 # -*- coding: utf-8 -*-
2 # Copyright (C) 2007-2013 EDF R&D
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.salome-platform.org/ or email : webmaster.salome@opencascade.com
24 from desChoixCode import Ui_ChoixCode
26 from PyQt5.QtWidgets import QDialog, QRadioButton
27 from PyQt5.QtGui import QPalette
28 from PyQt5.QtCore import QProcess, QFileInfo, Qt
30 from PyQt4.QtGui import *
31 from PyQt4.QtCore import *
36 class MonChoixCode(Ui_ChoixCode,QDialog):
38 Classe définissant le panel associé aux mots-clés qui demandent
39 à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
42 def __init__(self, parentAppli=None):
43 QDialog.__init__(self,parentAppli)
46 self.parentAppli=parentAppli
50 self.pB_OK.clicked.connect(self.choisitCode)
51 self.pB_cancel.clicked.connect(self.sortie)
53 self.connect(self.pB_OK,SIGNAL("clicked()"),self.choisitCode)
54 self.connect(self.pB_cancel,SIGNAL("clicked()"),self.sortie)
59 def verifieInstall(self):
60 self.groupCodes=QButtonGroup(self.groupBox)
61 vars=os.environ.items()
62 listeCode=('Aster','Adao','Carmel3D','CarmelCND','CF','MAP','MT','PSEN','Telemac','ZCracks',)
64 for code in listeCode:
66 dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code))
69 bouton=QRadioButton(self)
70 bouton.setMinimumSize(QSize(0, 30))
72 bouton.setGeometry(QRect(10,20+30*i, 300, 30))
74 self.groupCodes.addButton(bouton)
77 clef="PREFS_CATA_"+code
79 repIntegrateur=os.path.abspath(os.environ[clef])
80 l=os.listdir(repIntegrateur)
81 bouton=QRadioButton(self)
82 bouton.setGeometry(QRect(10,20+30*i, 300, 30))
83 bouton.setMinimumSize(QSize(0, 30))
87 self.groupCodes.addButton(bouton)
90 listeCodesIntegrateur=[]
92 if re.search('^PREFS_CATA_',k) != None and k[11:] not in listeCode:
93 listeCodesIntegrateur.append(k[11:])
94 for code in listeCodesIntegrateur:
96 clef="PREFS_CATA_"+code
97 repIntegrateur=os.path.abspath(os.environ[clef])
98 l=os.listdir(repIntegrateur)
99 bouton=QRadioButton(self)
100 bouton.setGeometry(QRect(10,20+30*i, 300, 30))
102 bouton.setMinimumSize(QSize(0, 30))
105 self.groupCodes.addButton(bouton)
108 self.parentAppli.ListeCode=self.parentAppli.ListeCode+listeCodesIntegrateur
110 def choisitCode(self):
111 bouton=self.groupCodes.checkedButton()
112 code=str(bouton.text())
113 codeUpper=code.upper()
114 self.parentAppli.code=codeUpper
116 dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code))
117 l=os.listdir(dirCode)
118 sys.path.insert(0,dirCode)
120 clef="PREFS_CATA_"+code
121 repIntegrateur=os.path.abspath(os.environ[clef])
122 l=os.listdir(repIntegrateur)
123 sys.path.insert(0,repIntegrateur)