]> SALOME platform Git repositories - tools/eficas.git/blobdiff - InterfaceQT4/monWidgetPlusieursInto.py
Salome HOME
onItem=Deplie
[tools/eficas.git] / InterfaceQT4 / monWidgetPlusieursInto.py
index a4f3e39ff85ce3a95bac51d8ff977aa397928d56..d6d4411b44b29c4f6d4cc8bc2f18c7d424b141c6 100644 (file)
@@ -29,7 +29,7 @@ from feuille                import Feuille
 from desWidgetPlusieursInto import Ui_WidgetPlusieursInto 
 from politiquesValidation   import PolitiquePlusieurs
 from qtSaisie               import SaisieValeur
-from gereListe              import GereListe
+#from gereListe              import GereListe
 
 class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
 
@@ -39,17 +39,30 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
         self.listeValeursCourantes=self.node.item.GetListeValeurs()
         self.parentQt.commandesLayout.insertWidget(-1,self)
-        self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
+        self.connect(self.CBCheck, SIGNAL('stateChanged(int)'),self.change)
+        # try except si la liste des possibles est vide
+        # prevoir qqchose
+        try :
+          self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
+        except :
+          pass
 
 
+  def change(self,int):
+       if self.CBCheck.isChecked() : 
+          for i in range(len(self.listeAAfficher)):
+              nomCB="lineEditVal"+str(i+1)
+              courant=getattr(self,nomCB)
+              courant.setChecked(True)
+       else :
+          min,max = self.node.item.GetMinMax()
+          for i in range(len(self.listeAAfficher)):
+              nomCB="lineEditVal"+str(i+1)
+              courant=getattr(self,nomCB)
+              courant.setChecked(False)
+
   def setValeurs(self):
        self.listeValeursCourantes=self.node.item.GetListeValeurs()
-       #print "dans setValeurs"
-       #print self.node.item.definition.validators
-       #print self.monSimpDef.into
-       #if len(self.monSimpDef.into)*20 > 400 : self.setMinimumHeight(400)
-       #else : self.setMinimumHeight(len(self.monSimpDef.into)*30)
-       #self.adjustSize()
        if hasattr(self.node.item.definition.validators,'set_MCSimp'):
             obj=self.node.item.getObject()
             self.node.item.definition.validators.set_MCSimp(obj)
@@ -63,20 +76,27 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
             else: 
                self.listeAAfficher=self.node.item.get_liste_possible([])
        else :
-               self.listeAAfficher=self.monSimpDef.into
+               self.listeAAfficher=self.node.item.get_liste_possible([])
+
+       self.PourEtreCoche=self.listeValeursCourantes
+       if self.objSimp.wait_assd() : 
+          self.listeAAfficher=self.node.item.get_sd_avant_du_bon_type()
+          self.PourEtreCoche=[]
+          for concept in self.listeValeursCourantes:
+              self.PourEtreCoche.append(concept.nom)
        if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
        else : self.setMinimumHeight(len(self.listeAAfficher)*30)
        self.adjustSize()
        self.vScrollBar = self.scrollArea.verticalScrollBar()
        self.politique=PolitiquePlusieurs(self.node,self.editor)
        self.indexListe=1
-       for i in range(1,len(self.listeAAfficher)+1):
-           self.ajoutCB(i)
+       for i in range(1,len(self.listeAAfficher)+1): self.ajoutCB(i)
        for i in range(len(self.listeAAfficher)):
            nomCB="lineEditVal"+str(i+1)
            courant=getattr(self,nomCB)
            courant.setText(str(self.listeAAfficher[i]))
-           if self.monSimpDef.into[i] in self.listeValeursCourantes : 
+           #if self.monSimpDef.into[i] in self.listeValeursCourantes : 
+           if self.listeAAfficher[i] in self.PourEtreCoche : 
               courant.setChecked(True)
            self.connect(courant,SIGNAL("toggled(bool)"),self.changeValeur)
        self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
@@ -85,8 +105,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
   def ajoutCB(self,index,valeur=None):
       #print "ajoutCB ", index
       nomCB="lineEditVal"+str(index)
-      if hasattr(self,nomCB) : 
-         return
+      if hasattr(self,nomCB) : return
       nouveauCB = QCheckBox(self.scrollArea)
       self.CBLayout.addWidget(nouveauCB)
       qApp.processEvents()
@@ -146,7 +165,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
   def changeValeur(self):
       self.listeValeursCourantesAvant=self.listeValeursCourantes
       self.listeValeursCourantes = []
-      print "changeValeur ____________" , self.monSimpDef.into, len(self.monSimpDef.into)
+      #print "changeValeur ____________" , self.monSimpDef.into, len(self.monSimpDef.into)
       for i in range (1,len(self.listeAAfficher)+1):
           nomLineEdit="lineEditVal"+str(i)
           courant=getattr(self,nomLineEdit)
@@ -164,6 +183,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille):
          self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
       else :
          self.editor.affiche_infos(tr(""))
+      if self.listeValeursCourantes== [] : self.listeValeursCourantes=None
       self.node.item.set_valeur(self.listeValeursCourantes)
       self.setValide()
       self.reaffiche()