From 9b8a480ac3c3e8f4e6bb3932b8a7dd9742152a69 Mon Sep 17 00:00:00 2001 From: Pascale Noyret Date: Fri, 16 Jul 2010 14:47:35 +0000 Subject: [PATCH] pour verifexistence --- InterfaceQT4/browser.py | 3 +-- InterfaceQT4/monPlusieursIntoPanel.py | 2 +- InterfaceQT4/qtSaisie.py | 18 +++++++++++++++--- Noyau/N_VALIDATOR.py | 17 ++++------------- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index 2f2d3d5c..1a97d5c7 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -79,7 +79,6 @@ class JDCTree( QTreeWidget ): item.menu.exec_(coord) def handleOnItem(self,item,int): - item.affichePanneau() self.itemCourrant=item #try : if 1 : @@ -89,6 +88,7 @@ class JDCTree( QTreeWidget ): #except: else: pass + item.affichePanneau() # type de noeud @@ -307,7 +307,6 @@ class JDCNode(QTreeWidgetItem): # # #------------------------------------------------------------------ def onValid(self): - #print "onValid ", self, " ", self.item.nom if self.item.nom == "VARIABLE" and self.item.isvalid(): self.item.jdc.recalcule_etat_correlation() if hasattr(self.item,'forceRecalcul'): diff --git a/InterfaceQT4/monPlusieursIntoPanel.py b/InterfaceQT4/monPlusieursIntoPanel.py index 55dab333..b1a7da7b 100644 --- a/InterfaceQT4/monPlusieursIntoPanel.py +++ b/InterfaceQT4/monPlusieursIntoPanel.py @@ -63,10 +63,10 @@ class MonPlusieursIntoPanel(DPlusInto,QTPanel,SaisieValeur): QTPanel.__init__(self,node,parent) DPlusInto.__init__(self,parent,fl) self.politique=PolitiquePlusieurs(node,parent) + self.InitCommentaire() SaisieValeur.BuildLBValeurs(self) self.listeValeursCourantes=self.node.item.GetListeValeurs() SaisieValeur.RemplitPanel(self,self.listeValeursCourantes) - self.InitCommentaire() self.connecterSignaux() def connecterSignaux(self) : diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py index a01012ae..b82e1190 100644 --- a/InterfaceQT4/qtSaisie.py +++ b/InterfaceQT4/qtSaisie.py @@ -63,9 +63,21 @@ class SaisieValeur: def RemplitPanel(self,listeDejaLa=[]): self.listBoxVal.clear() - if hasattr(self.node.item.definition.validators,'set_liste'): - self.node.item.definition.validators.set_liste(self.node.item) - if self.node.item.isvalid() == 0 : listeDejaLa=[] + # Traitement particulier pour le validator VerifExistence + # dont les valeurs possibles peuvent changer : into variable + if hasattr(self.node.item.definition.validators,'set_MCSimp'): + obj=self.node.item.getObject() + self.node.item.definition.validators.set_MCSimp(obj) + if self.node.item.isvalid() == 0 : + liste=[] + for item in listeDejaLa: + if self.node.item.definition.validators.verif_item(item)==1: + liste.append(item) + self.node.item.set_valeur(liste) + self.BuildLBValeurs() + self.listeValeursCourantes=liste + self.editor.affiche_infos("Attention, valeurs modifiees", Qt.red) + listeDejaLa=liste lChoix=self.node.item.get_liste_possible(listeDejaLa) for valeur in lChoix : self.listBoxVal.addItem( str(valeur) ) diff --git a/Noyau/N_VALIDATOR.py b/Noyau/N_VALIDATOR.py index 0e06870a..7a1c67e7 100644 --- a/Noyau/N_VALIDATOR.py +++ b/Noyau/N_VALIDATOR.py @@ -803,6 +803,7 @@ class AndVal(Valid): return chaine def verif(self,valeur): + print "je suis dans le verif du AndVal" for validator in self.validators: v=validator.verif(valeur) if not v : @@ -1305,28 +1306,19 @@ class VerifExiste(ListVal) : self.niveauVerif=niveauVerif self.MCSimp=None self.listeDesFreres=() - self.fonctions=('set_liste','verifie_liste','set_MCSimp') - - def set_liste(self,item): - #on cherche le bon niveau de l arbre - k=self.niveauVerif - obj=item.getObject() - while (k != 0) : - parent=obj.parent - obj=parent - k=k-1 - #on met la liste à jour - self.listeDesFreres=parent.liste_mc_presents() + self.fonctions=('verifie_liste','set_MCSimp') def is_list(self): return 1 def verifie_liste(self,liste): + self.set_MCSimp(self.MCSimp) for item in liste : if not( item in self.listeDesFreres) : return 0 return 1 def verif_item(self,valeur): + self.set_MCSimp(self.MCSimp) if valeur in self.listeDesFreres : return 1 return 0 @@ -1342,7 +1334,6 @@ class VerifExiste(ListVal) : parent.forceRecalcul=self.niveauVerif self.listeDesFreres=parent.liste_mc_presents() - def convert_item(self,valeur): if valeur in self.listeDesFreres : return valeur raise ValError(str(valeur)+" n est pas dans " + str(self.listeDesFreres)) -- 2.39.2