Salome HOME
numero de version
[tools/eficas.git] / InterfaceQT4 / monWidgetPlusieursBase.py
index 3026b3cfd885e9f75de6f45fc3754bf0b9e6b160..5565576ee2cecf1c88878cf98da497be76723344 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import string,types,os
+import string,types,os,sys
+
+from determine import monEnvQT5
+if monEnvQT5:
+    from PyQt5.QtGui     import QIcon 
+    from PyQt5.QtWidgets import QApplication
+    from PyQt5.QtCore    import QTimer, QSize, Qt
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
 from feuille                import Feuille
@@ -30,22 +37,42 @@ from desWidgetPlusieursBase import Ui_WidgetPlusieursBase
 from politiquesValidation   import PolitiquePlusieurs
 from qtSaisie               import SaisieValeur
 from gereListe              import GereListe
+from gereListe              import GerePlie
 from gereListe              import LECustom
 
 dicoLongueur={2:95,3:125,4:154,5:183,6:210}
 hauteurMax=253
 
-class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
+class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         #print "MonWidgetPlusieursBase", nom
         self.nomLine="lineEditVal"
         self.inInit=True
         self.indexDernierLabel=0
+        self.NumLineEditEnCours=0
         self.listeAffichageWidget=[]
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
         GereListe.__init__(self)
-        self.connect(self.BSelectFichier,SIGNAL("clicked()"), self.selectInFile)
+        self.gereIconePlier()
+        if monEnvQT5:
+           self.BSelectFichier.clicked.connect(self.selectInFile)
+        else :
+           self.connect(self.BSelectFichier,SIGNAL("clicked()"), self.selectInFile)
+
+        if sys.platform[0:5]!="linux":
+          repIcon=self.node.editor.appliEficas.repIcon
+          fichier=os.path.join(repIcon, 'arrow_up.png')
+          icon = QIcon(fichier)
+          self.RBHaut.setIcon(icon)
+          self.RBHaut.setIconSize(QSize(32, 32))
+          fichier2=os.path.join(repIcon, 'arrow_down.png')
+          icon2 = QIcon(fichier2)
+          self.RBBas.setIcon(icon2)
+          fichier3=os.path.join(repIcon, 'file-explorer.png')
+          icon3 = QIcon(fichier2)
+          self.BSelectFichier.setIcon(icon3)
+          self.BSelectFichier.setIconSize(QSize(32, 32))
 
         self.listeValeursCourantes=self.node.item.GetListeValeurs()
         if self.monSimpDef.max != "**"  and self.monSimpDef.max < 7: 
@@ -56,6 +83,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
         else :
            self.resize(self.width(),hauteurMax)
            self.setMinimumHeight(hauteurMax)
+        self.finCommentaireListe()
         self.parentQt.commandesLayout.insertWidget(-1,self)
         self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
         self.AAfficher=self.lineEditVal1
@@ -63,7 +91,6 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
 
 
   def setValeurs(self):
-       print "je passe dans SetValeur"
        self.vScrollBar = self.scrollArea.verticalScrollBar()
        self.politique=PolitiquePlusieurs(self.node,self.editor)
        # construction du min de valeur a entrer
@@ -71,7 +98,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
        else                           : aConstruire=self.monSimpDef.max
        for i in range(1,aConstruire):
            self.ajoutLineEdit()
-       qApp.processEvents()
+       QApplication.processEvents()
        self.scrollArea.ensureWidgetVisible(self.lineEditVal1)
        self.listeValeursCourantes=self.node.item.GetListeValeurs()
        index=1
@@ -102,7 +129,10 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
       if self.indexDernierLabel % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
       else :                              nouveauLE.setStyleSheet("background:rgb(235,235,235)")
       nouveauLE.setFrame(False)
-      self.connect(nouveauLE,SIGNAL("returnPressed()"),self.changeValeur)
+      if monEnvQT5:
+          nouveauLE.returnPressed.connect(self.changeValeur)
+      else :
+          self.connect(nouveauLE,SIGNAL("returnPressed()"),self.changeValeur)
       setattr(self,nomLineEdit,nouveauLE)
       self.listeAffichageWidget.append(nouveauLE)
       self.etablitOrdre()
@@ -122,32 +152,13 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
 
 
   def rendVisibleLigne(self):
-      qApp.processEvents()
+      QApplication.processEvents()
       self.estVisible.setFocus()
       self.scrollArea.ensureWidgetVisible(self.estVisible,0,0)
       
 
   def finCommentaire(self):
-        commentaire=""
-        mc = self.node.item.get_definition()
-        d_aides = { 'TXM' : 'chaines de caracteres',
-                  'R'   : 'reels',
-                  'I'   : 'entiers',
-                  'C'   : 'complexes'}
-        type = mc.type[0]
-        if not d_aides.has_key(type) :
-           if mc.min == mc.max:
-               commentaire=tr("Entrez ")+str(mc.min)+tr(" valeurs ")
-           else :
-               commentaire=tr("Entrez entre ")+str(mc.min)+tr(" et ")+str(mc.max)+tr(" valeurs ")
-        else :
-           if mc.min == mc.max:
-               commentaire=tr("Entrez ")+str(mc.min)+" "+tr(d_aides[type])
-           else :
-               commentaire=tr("Entrez entre ")+str(mc.min)+(" et  ")+str(mc.max) +" " +tr(d_aides[type])
-        aideval=self.node.item.aide()
-        commentaire=commentaire + "   " + QString.toUtf8(QString(aideval))
-        return str(commentaire)
+      return self.finCommentaireListe()
 
   def ajout1Valeur(self,valeur=None):
         if valeur == None : return
@@ -171,7 +182,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
       # A priori, on ne fait rien
       pass
 
-  def AjoutNValeur(self,liste) :
+  def ajoutNValeur(self,liste) :
       for val in liste :
          i=1
          ajoute=False
@@ -179,7 +190,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe):
             nomLineEdit="lineEditVal"+str(i)
             courant=getattr(self,nomLineEdit)
             valeur=courant.text()
-            if valeur == None or valeur == QString("") :
+            if valeur == None or valeur == "" :
               ajoute=True
               courant.setText(str(val))
               commentaire=self.ajout1Valeur(val)