Salome HOME
:: dans le label
[tools/eficas.git] / InterfaceQT4 / monWidgetPlusieursInto.py
index c3c01fb91a4062505789db16fd2a42ecabab8911..42f0eb11488649d823d185f457562e531a433959 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import string,types,os
+from __future__ import absolute_import
+try :
+   from builtins import str
+   from builtins import range
+except : pass
+
+import types,os
 
 # Modules Eficas
-from determine import monEnvQT5
-if monEnvQT5:
-    from PyQt5.QtWidgets  import QCheckBox, QScrollBar, QFrame, QApplication, QLabel
-    from PyQt5.QtWidgets  import QSizePolicy,QSpacerItem
-    from PyQt5.QtGui  import QPalette, QFont
-    from PyQt5.QtCore import Qt
-else :
-    from PyQt4.QtGui  import *
-    from PyQt4.QtCore import *
+from six.moves import range
+from PyQt5.QtWidgets  import QCheckBox, QScrollBar, QFrame, QApplication, QLabel
+from PyQt5.QtWidgets  import QSizePolicy,QSpacerItem
+from PyQt5.QtGui  import QPalette, QFont
+from PyQt5.QtCore import Qt
 
 from Extensions.i18n import tr
 
-from feuille                import Feuille
+from .feuille                import Feuille
 from desWidgetPlusieursInto import Ui_WidgetPlusieursInto 
-from politiquesValidation   import PolitiquePlusieurs
-from qtSaisie               import SaisieValeur
-from gereListe              import GerePlie
-from gereListe              import GereListe
+from .politiquesValidation   import PolitiquePlusieurs
+from .qtSaisie               import SaisieValeur
+from .gereListe              import GerePlie
+from .gereListe              import GereListe
 
 class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
-        print "MonWidgetPlusieursInto", nom, self
+
         self.index=1
         self.alpha=0
         self.listeCB=[]
@@ -55,13 +57,12 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
         GereListe.__init__(self)
 
         self.parentQt.commandesLayout.insertWidget(-1,self)
-        if monEnvQT5 : self.CBCheck.stateChanged.connect(self.changeTout)
-        else         : self.connect(self.CBCheck, SIGNAL('stateChanged(int)'),self.changeTout)
+        self.CBCheck.stateChanged.connect(self.changeTout)
 
         self.gereIconePlier()
         self.editor.listeDesListesOuvertes.add(self.node.item)
         self.inhibe=False
-        self.finCommentaireListe()
+        #self.finCommentaireListe()
 
         if self.listeAAfficher== None or self.listeAAfficher==[] : 
             spacerItem = QSpacerItem(30, 20, QSizePolicy.Fixed, QSizePolicy.Minimum)
@@ -74,6 +75,8 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
             spacerItem2 = QSpacerItem(40, 70, QSizePolicy.Fixed, QSizePolicy.Minimum)
             self.CBLayout.addItem(spacerItem2)
 
+        if len(self.listeAAfficher) < 30 and hasattr(self,'frameRecherche') : self.frameRecherche.close()
+        if len(self.listeAAfficher)  == len(self.listeValeursCourantes) : self.CBCheck.setChecked(True)
         # try except si la liste des possibles est vide
         # prevoir qqchose
         try :
@@ -131,8 +134,8 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
           self.listeAAfficher=self.node.item.get_sd_avant_du_bon_type()
        if self.listeAAfficher== None or self.listeAAfficher==[] : self.listeAAfficher=[]
 
-       if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
-       else : self.setMinimumHeight(len(self.listeAAfficher)*30)
+       #if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
+       #else : self.setMinimumHeight(len(self.listeAAfficher)*30)
 
        self.PourEtreCoche=[]
        if self.objSimp.wait_assd() : 
@@ -153,8 +156,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
            if maListe[i] in self.PourEtreCoche : courant.setChecked(True)
            else                                : courant.setChecked(False)
 
-           if monEnvQT5 : courant.toggled.connect(self.changeValeur)
-           else         : self.connect(courant,SIGNAL("toggled(bool)"),self.changeValeur)
+           courant.toggled.connect(self.changeValeur)
        self.inhibe=False
 
        self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
@@ -164,9 +166,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
       nomCB="lineEditVal"+str(index)
       if hasattr(self,nomCB) : return
       nouveauCB = QCheckBox(self.scrollArea)
-      #self.CBLayout.addWidget(nouveauCB)
       self.CBLayout.insertWidget(index-1,nouveauCB)
-      #QApplication.processEvents()
       self.listeCB.append(nouveauCB)
       nouveauCB.setText("")
       if index % 2 == 1 : nouveauCB.setStyleSheet("background:rgb(210,210,210)")
@@ -176,8 +176,6 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
       setattr(self,nomCB,nouveauCB)
       
 
-  def finCommentaire(self):
-        return self.finCommentaireListe() 
 
   def ajout1Valeur(self,valeur=None):
         if valeur == None : return
@@ -220,11 +218,12 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe)
       elif len(self.listeValeursCourantes) > max : 
          self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
 
-      if self.listeValeursCourantes== [] :  self.node.item.set_valeur(None)
+      if self.listeValeursCourantes== [] :  self.node.item.set_valeur([])
       else : self.node.item.set_valeur(self.listeValeursCourantes)
 
+      # Exception pour PSEN
+      if min==0 and self.listeValeursCourantes== []: self.node.item.set_valeur([])
       self.setValide()
-      self.reaffiche()
 
 
   def prepareListeResultatFiltre(self):