# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
-# (AT YOUR OPTION) ANY LATER VERSION.
+# Copyright (C) 2007-2013 EDF R&D
#
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
#
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
-# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-# ======================================================================
# Modules Python
# Modules Eficas
-import os,sys
+import os,sys,re
from desChoixCode import Ui_ChoixCode
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
-
+from determine import monEnvQT5
+if monEnvQT5:
+ from PyQt5.QtWidgets import QDialog, QRadioButton
+ from PyQt5.QtGui import QPalette
+ from PyQt5.QtCore import QProcess, QFileInfo, Qt, QSize
+else :
+ from PyQt4.QtGui import *
+ from PyQt4.QtCore import *
# Import des panels
self.parentAppli=parentAppli
self.verifieInstall()
self.code=None
- self.connect(self.pB_OK,SIGNAL("clicked()"),self.choisitCode)
+ if monEnvQT5:
+ self.pB_OK.clicked.connect(self.choisitCode)
+ self.pB_cancel.clicked.connect(self.sortie)
+ else :
+ self.connect(self.pB_OK,SIGNAL("clicked()"),self.choisitCode)
+ self.connect(self.pB_cancel,SIGNAL("clicked()"),self.sortie)
+
+ def sortie(self):
+ QDialog.reject(self)
def verifieInstall(self):
- self.groupCodes=QButtonGroup(self)
- for code in ('Aster','Cuve2dg','Openturns_Study','Openturns_Wrapper','Carmel3D'):
+ self.groupCodes=QButtonGroup(self.groupBox)
+ vars=os.environ.items()
+ listeCode=('Aster','Adao','Carmel3D','CarmelCND','CF','MAP','MT','PSEN','Telemac','ZCracks',)
+ i=1
+ for code in listeCode:
nom='rB_'+code
- bouton=getattr(self,nom)
dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code))
- print dirCode
try :
l=os.listdir(dirCode)
+ bouton=QRadioButton(self)
+ bouton.setMinimumSize(QSize(0, 30))
+ bouton.setText(code)
+ bouton.setGeometry(QRect(10,20+30*i, 300, 30))
+ bouton.show()
self.groupCodes.addButton(bouton)
+ i=i+1
except :
- bouton.close()
-
+ clef="PREFS_CATA_"+code
+ try :
+ repIntegrateur=os.path.abspath(os.environ[clef])
+ l=os.listdir(repIntegrateur)
+ bouton=QRadioButton(self)
+ bouton.setGeometry(QRect(10,20+30*i, 300, 30))
+ bouton.setMinimumSize(QSize(0, 30))
+ bouton.setText(code)
+ bouton.show()
+ i=i+1
+ self.groupCodes.addButton(bouton)
+ except :
+ pass
+ listeCodesIntegrateur=[]
+ for k,v in vars:
+ if re.search('^PREFS_CATA_',k) != None and k[11:] not in listeCode:
+ listeCodesIntegrateur.append(k[11:])
+ for code in listeCodesIntegrateur:
+ try :
+ clef="PREFS_CATA_"+code
+ repIntegrateur=os.path.abspath(os.environ[clef])
+ l=os.listdir(repIntegrateur)
+ bouton=QRadioButton(self)
+ bouton.setGeometry(QRect(10,20+30*i, 300, 30))
+ i=i+1
+ bouton.setMinimumSize(QSize(0, 30))
+ bouton.setText(code)
+ bouton.show()
+ self.groupCodes.addButton(bouton)
+ except :
+ pass
+ self.parentAppli.ListeCode=self.parentAppli.ListeCode+listeCodesIntegrateur
def choisitCode(self):
bouton=self.groupCodes.checkedButton()
code=str(bouton.text())
codeUpper=code.upper()
self.parentAppli.code=codeUpper
- sys.path.insert(0,os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code)))
+ try :
+ dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code))
+ l=os.listdir(dirCode)
+ sys.path.insert(0,dirCode)
+ except :
+ clef="PREFS_CATA_"+code
+ repIntegrateur=os.path.abspath(os.environ[clef])
+ l=os.listdir(repIntegrateur)
+ sys.path.insert(0,repIntegrateur)
self.close()