Salome HOME
Merge V9 dans Master
[tools/eficas.git] / InterfaceQT4 / monChoixCode.py
index 45babb13cb212ed97693bc385d895d7d5f680215..59fc60989b8901d425890895690d0e1cfaa2cfb6 100644 (file)
 # Modules Python
 # Modules Eficas
 
+from __future__ import absolute_import
+try :
+   from builtins import str
+except : pass
+
 import os,sys,re
 from desChoixCode import Ui_ChoixCode
-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 *
+from PyQt5.QtWidgets import QDialog, QRadioButton, QGroupBox, QButtonGroup
+from PyQt5.QtGui import QPalette
+from PyQt5.QtCore import QProcess, QFileInfo, Qt, QSize
 
     
 # Import des panels
 
 class MonChoixCode(Ui_ChoixCode,QDialog):
   """
-  Classe définissant le panel associé aux mots-clés qui demandent
-  à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
-  discrètes
+  Classe definissant le panel associe aux mots-cles qui demandent
+  a l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+  discretes
   """
   def __init__(self,  parentAppli=None):
-      QDialog.__init__(self,parentAppli)
+      QDialog.__init__(self,parent=parentAppli,flags=Qt.Window)
       self.setModal(True)
       self.setupUi(self)
       self.parentAppli=parentAppli
       self.verifieInstall()
       self.code=None
-      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)
+      self.buttonBox.accepted.disconnect(self.accept)
+      self.buttonBox.accepted.connect(self.choisitCode)
+     # self.pB_OK.clicked.connect(self.choisitCode)
+      #self.pB_cancel.clicked.connect(self.sortie)
 
   def sortie(self):
       QDialog.reject(self)
 
   def verifieInstall(self):
       self.groupCodes=QButtonGroup(self.groupBox)
-      vars=os.environ.items()
-      listeCode=('Aster','Adao','Carmel3D','CarmelCND','CF','MAP','MT','PSEN','PSEN_N1','Telemac','ZCracks',)
-      i=1
+      vars=list(os.environ.items())
+      listeCode=('Adao','Carmel3D','CarmelCND','CF','MAP','MT','PSEN','PSEN_N1','Telemac','ZCracks',)
       for code in listeCode:
-          nom='rB_'+code
           dirCode=os.path.abspath(os.path.join(os.path.abspath(__file__),'../..',code))
           try :
              l=os.listdir(dirCode)
-             bouton=QRadioButton(self)
-             bouton.setMinimumSize(QSize(0, 30))
+             bouton=QRadioButton(self.groupBox)
              bouton.setText(code)
-             bouton.setGeometry(QRect(10,20+30*i, 300, 30))
-             bouton.show()
              self.groupCodes.addButton(bouton)
-             i=i+1
+             self.vlBouton.addWidget(bouton)
           except :
              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=QRadioButton(self.groupBox)
                 bouton.setText(code)
                 bouton.show()
-                i=i+1
                 self.groupCodes.addButton(bouton)
              except :
                 pass
@@ -98,18 +88,16 @@ class MonChoixCode(Ui_ChoixCode,QDialog):
               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
+      self.parentAppli.listeCode=self.parentAppli.listeCode+listeCodesIntegrateur
 
   def choisitCode(self):
       bouton=self.groupCodes.checkedButton()
+      if bouton==None : return
       code=str(bouton.text())
       codeUpper=code.upper()
       self.parentAppli.code=codeUpper