Salome HOME
optim eciture
[tools/eficas.git] / InterfaceQT4 / monWidgetPlusieursBase.py
index 5274c12290e7ecfc9ec8b16ca0db03af6db987d6..edd81e450b7b49d8f7020fa23d110eab0a05c7ca 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import string,types,os,sys
+from __future__ import absolute_import
+try :
+   from builtins import str
+   from builtins import range
+   from builtins import object
+except : pass
 
-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 *
+import types,os,sys
+
+from six.moves import range
+from PyQt5.QtGui     import QIcon 
+from PyQt5.QtWidgets import QApplication, QMessageBox
+from PyQt5.QtCore    import QTimer, QSize, Qt
 
 # Modules Eficas
 from Extensions.i18n import tr
 
-from feuille                import Feuille
+from .feuille                import Feuille
 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
+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}
+dicoLongueur={2:95,3:125,4:154,5:183,6:210,float('inf'):210}
 hauteurMax=253
 
 class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie):
@@ -55,10 +58,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
         GereListe.__init__(self)
         self.gereIconePlier()
-        if monEnvQT5:
-           self.BSelectFichier.clicked.connect(self.selectInFile)
-        else :
-           self.connect(self.BSelectFichier,SIGNAL("clicked()"), self.selectInFile)
+        self.BSelectFichier.clicked.connect(self.selectInFile)
 
         if sys.platform[0:5]!="linux":
           repIcon=self.node.editor.appliEficas.repIcon
@@ -76,13 +76,12 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
 
         self.listeValeursCourantes=self.node.item.GetListeValeurs()
         if self.monSimpDef.max != "**"  and self.monSimpDef.max < 7: 
-           hauteur=dicoLongueur[self.monSimpDef.max]
-           self.resize(self.width(),hauteur)
-           self.setMinimumHeight(hauteur)
-           if self.monSimpDef.max == self.monSimpDef.min : self.setMaximumHeight(hauteur)
+           hauteurMax=dicoLongueur[self.monSimpDef.max]
         else :
-           self.resize(self.width(),hauteurMax)
-           self.setMinimumHeight(hauteurMax)
+           hauteurMax=220
+        #   if self.monSimpDef.max == self.monSimpDef.min : self.setMaximumHeight(hauteur)
+        self.resize(self.width(),hauteurMax)
+        self.setMinimumHeight(hauteurMax)
         self.finCommentaireListe()
         self.parentQt.commandesLayout.insertWidget(-1,self)
         self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
@@ -94,8 +93,10 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
        self.vScrollBar = self.scrollArea.verticalScrollBar()
        self.politique=PolitiquePlusieurs(self.node,self.editor)
        # construction du min de valeur a entrer
-       if self.monSimpDef.max == "**" : aConstruire=7
-       else                           : aConstruire=self.monSimpDef.max
+       if self.monSimpDef.max == "**"  : aConstruire=7
+       elif self.monSimpDef.max == float('inf'): aConstruire=7
+       else                            : aConstruire=self.monSimpDef.max
+
        for i in range(1,aConstruire):
            self.ajoutLineEdit()
        QApplication.processEvents()
@@ -115,6 +116,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
        # ajout d'une ligne vide ou affichage commentaire
        if self.indexDernierLabel < self.monSimpDef.max  : self.ajoutLineEdit()
        else : self.scrollArea.setToolTip('nb max de valeurs atteint')
+       #self.adjustSize()
        #self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
        
 
@@ -130,10 +132,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
       if self.indexDernierLabel % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
       else :                              nouveauLE.setStyleSheet("background:rgb(235,235,235)")
       nouveauLE.setFrame(False)
-      if monEnvQT5:
-          nouveauLE.returnPressed.connect(self.changeValeur)
-      else :
-          self.connect(nouveauLE,SIGNAL("returnPressed()"),self.changeValeur)
+      nouveauLE.returnPressed.connect(self.changeValeur)
       setattr(self,nomLineEdit,nouveauLE)
       self.listeAffichageWidget.append(nouveauLE)
       self.etablitOrdre()
@@ -217,6 +216,15 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
           valeur=courant.text()
           lval=valeur.split(',')
           if len (lval) > 1 : 
+             msgBox=QMessageBox()
+             msgBox.setText("separator ',' ")
+             msgBox.setInformativeText("Do you want to enter " + str (lval) + "?")
+             msgBox.setStandardButtons( QMessageBox.Ok | QMessageBox.Cancel)
+             msgBox.setDefaultButton(QMessageBox.Ok)
+             ret = msgBox.exec_()
+             if ret != 1024 : 
+                courant.setText("") 
+                return
              courant.setText(lval[0])
              self.ajoutNValeur(lval[1:])
              self.listeValeursCourantes = []
@@ -236,6 +244,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
              else :
                  self.editor.affiche_infos("")
           elif donneFocus==None : donneFocus=courant
+
       nomDernierLineEdit="lineEditVal"+str(self.indexDernierLabel)
       dernier=getattr(self,nomDernierLineEdit)
       derniereValeur=dernier.text()
@@ -258,7 +267,5 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
       self.reaffiche()
 
           
-  def entreListe(self,listeDeValeur,index):
-             self.entreListe(lval, i)
 
 # Avertissement quand on quitte le widget