Salome HOME
ajout des unites. pas sur d avoir tout pousse
authorpascale.noyret <pascale.noyret@edf.fr>
Tue, 20 Jul 2021 16:01:14 +0000 (18:01 +0200)
committerpascale.noyret <pascale.noyret@edf.fr>
Tue, 20 Jul 2021 16:01:14 +0000 (18:01 +0200)
17 files changed:
Ihm/I_ENTITE.py
Ihm/I_MCSIMP.py
Ihm/I_OBJECT.py
InterfaceQT4/composimp.py
InterfaceQT4/configuration.py
InterfaceQT4/feuille.py
InterfaceQT4/gereListe.py
InterfaceQT4/monChoixCommande.py
InterfaceQT4/monWidgetPlusieursBase.py
InterfaceQT4/monWidgetPlusieursTuple.py
InterfaceQT4/monWidgetSimpBase.py
InterfaceQT4/monWidgetSimpComplexe.py
InterfaceQT4/monWidgetSimpTupleN.py
Noyau/N_MCSIMP.py
Noyau/N_SIMP.py
Noyau/N_TUPLE.py
Noyau/N_UserASSD.py

index 167f819088335be51ac4f98394caa2dac7d43387..97ca3ce1f64ab6bef8d8e6d7a91af5ab762be6bd 100644 (file)
@@ -57,7 +57,6 @@ class ENTITE:
         for nom, val in args.items():
             if val.label == 'SIMP':
                 mcs.add(nom)
-                #XXX
                 #if val.max != 1 and val.type == 'TXM':
                     #print "#CMD", parent, nom
             elif val.label == 'FACT':
@@ -69,10 +68,11 @@ class ENTITE:
         for nom, val in args.items():
             if val.label == 'BLOC':
                 mcbloc = val.checkDefinition(parent)
-                #XXX
                 #print "#BLOC", parent, re.sub('\s+', ' ', val.condition)
                 #assert mcs.isdisjoint(mcbloc), "Commande %s : Mot(s)-clef(s) vu(s) plusieurs fois : %s" \
                 #   % (parent, tuple(mcs.intersection(mcbloc)))
         return mcs
 
 #
+    def UQPossible(self):
+        return True
index 5aba536850be0811db38fcdae3a0df24efbedf55..653d2dec64955c8ff68205e373fa839878585c06 100644 (file)
@@ -305,7 +305,6 @@ class MCSIMP(I_OBJECT.OBJECT):
         return self.definition.homo=='information'
 
 
-
     def validVal(self,valeur):
         """
           Verifie que la valeur passee en argument (valeur) est valide
index 2b8beec45be4faf35fcd1f976c5860ff93daea52..937ddc747de90a9df886e01298848ef01e958ae2 100644 (file)
@@ -194,6 +194,9 @@ class OBJECT:
         #print ('demandeRedessine pour', self.nom, self, tout)
         CONNECTOR.Emit(self,"redessine")
 
+    def isUQActivate(self):
+        # valide uniquement pour les MCSIMP
+        return True
 
 
 class ErrorObj(OBJECT):pass
index 9a78ba63c97ff2fd1588667f49b7969cb9b4ef1d..e58363c3a85d7a214b491e2540e5debfcc39e1bb 100644 (file)
@@ -121,6 +121,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
                     _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0)
                     #print (_temp)
                     MonWidgetSimpTuple =  getattr(_temp,nomDeLaClasse)
+                    #print (MonWidgetSimpTuple)
                 except :
                     print ("Pas de Tuple de longueur : ", num)
                 #   print ("Prevenir la maintenance ")
index d7971bc9d810e472c7a8cf92db358994bd98b011..05375175e9cc86b79228c7f3a237f3339aa9c02a 100644 (file)
@@ -143,6 +143,8 @@ class configBase(object):
         self.withXSD=False
         self.afficheIhm=True
 
+        self.afficheUQ=False
+        #self.afficheUQ=True
 
 
 
index 1111d88f7e633639d33233d1738e5ff404ac5840..de8ae154bc45745344df6eb09155b00d3c026d77 100644 (file)
@@ -79,17 +79,30 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
         self.setIconesGenerales()
         self.setCommentaire()
         self.setZoneInfo()
+        self.setUnite()
+        self.setUQ()
 
 
+    def setUnite(self):
+        if self.monSimpDef.unite == None  :
+            if hasattr( self,'lineEditUnite') : self.lineEditUnite.setText(' ')
+        else :
+            if hasattr( self,'lineEditUnite') : self.lineEditUnite.setText(self.monSimpDef.unite)
+            else : self.editor.informe('Erreur de Catalogue','Champ Unite non prevu pour '+ self.nom + ' correction du catalogue souhaitable, prevenez la maintenance', False)
+
+    def setUQ(self):
+        if not (self.editor.appliEficas.maConfiguration.afficheUQ) and hasattr(self,'checkBoxUQ') :
+             self.checkBoxUQ.close()
+             return
+        if not self.monSimpDef.UQPossible(): 
+             self.checkBoxUQ.close()
+             return
+        if self.objSimp.isUQActivate() and hasattr(self,'checkBoxUQ') :
+             self.checkBoxUQ.setChecked(True)
+
     def setNom(self):
         self.debutToolTip=""
         nomTraduit=tr(self.objSimp.nom)
-        #metrix= QFontMetrics(self.label.font())
-        #maxLongueur = self.label.width() - 2
-        #print ('______________________')
-        #print (nomTraduit)
-        #print (self.label.font().pixelSize())
-        #longueur2 = metrix.boundingRect(nomTraduit).width()
         longueur=QFontMetrics(self.label.font()).width(nomTraduit)
         if longueur >= nomMax :
             nouveauNom=self.formate(nomTraduit)
@@ -100,17 +113,6 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel):
         #if (clippedText != nomTraduit): self.label.setToolTip(nomTraduit)
         #self.label.setText(clippedText)
 
-    #def agrandit(self):
-        # inutile pour certains widgets
-    #    if self.height() < 40 :
-    #       self.setMinimumHeight(50)
-    #       self.resize(self.width(),200)
-
-    #def mousePressEvent(self, event):
-        #print 'mousePressEvent'
-        #import inspect
-        #print (inspect.getmro(self.__class__))
-        #self.__class__.mousePressEvent(self, event)
 
 
 
index 84a27c5bf1eef847a4ac2edb7f29775136d96ef9..7029dca2255d6a9394f9a7fb0d191e6a5472ef99 100644 (file)
@@ -114,6 +114,10 @@ class LECustomTuple(LECustom):
 # --------------------------- #
     def __init__(self,parent):
         #  index sera mis a jour par TupleCustom
+        print ('je passe la pour ', self, parent)
+        print ('je passe la ',  parent.parent())
+        print ('je passe la ',  parent.parent().parent())
+        print ('je passe la ',  parent.parent().parent().parent())
         parentQt=parent.parent().parent().parent()
         LECustom. __init__(self,parent,parentQt,0)
         #print (dir(self))
index d5cfa2f0e1443b77f066162a8825c99429f8436c..6c811852cbb8b5c6678b68029683d7fdbce73320 100644 (file)
@@ -168,11 +168,11 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
                 listeEtapesDejaPresentes.append(e.nom)
             for c in aExclure :
                 if c not in listeEtapesDejaPresentes : aExclure.remove(c)
-        for e in self.jdc.etapes:
-            print (e.nom)
-            print (e.definition.repetable)
-            if e.definition.repetable == 'n' : aExclure.append(e.nom)
-        print (aExclure)
+        #for e in self.jdc.etapes:
+        #    print (e.nom)
+        #    print (e.definition.repetable)
+        #    if e.definition.repetable == 'n' : aExclure.append(e.nom)
+        #print (aExclure)
         for l in self.jdc.getListeCmd():
             print (l)
             if l not in aExclure :
index 882ea44097ef882f893fd9582dd7396e79609b69..ce462480004649115fc43b4261cd1d5a00bacaa5 100644 (file)
@@ -136,7 +136,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie)
 
 
     def ajoutLineEdit(self,valeur=None,):
-        print ('ajoutLineEdit plusieursBase')
+        #print ('ajoutLineEdit plusieursBase')
         #print ('self.indexDernierLabel', self.indexDernierLabel)
         self.indexDernierLabel=self.indexDernierLabel+1
         nomLineEdit="lineEditVal"+str(self.indexDernierLabel)
index 7a7ffd3fae999900251b265c93c6d259a6a6038c..9899faab121f014969de0dbbb1fdd6ef1f4d3cca 100644 (file)
@@ -68,7 +68,7 @@ class TupleCustom(object) :
 
 
         for i in range(self.tailleTuple):
-            nomLE="lineEditVal_"+str(i+1)
+            nomLE="lineEditVal"+str(i+1)
             courant=getattr(self,nomLE)
             courant.num=index
             courant.dansUnTuple=True
@@ -83,7 +83,7 @@ class TupleCustom(object) :
 
         listeVal=[]
         for i in range(self.tailleTuple):
-            nomLE="lineEditVal_"+str(i+1)
+            nomLE="lineEditVal"+str(i+1)
             courant=getattr(self,nomLE)
             val=str(courant.text())
 
@@ -110,7 +110,7 @@ class TupleCustom(object) :
         listeVal=[]
         valeurNulle=True
         for i in range(self.tailleTuple):
-            nomLE="lineEditVal_"+str(i+1)
+            nomLE="lineEditVal"+str(i+1)
             courant=getattr(self,nomLE)
             try :
                 if str(value[i]) != "" : valeurNulle=False
@@ -140,7 +140,7 @@ class TupleCustom(object) :
         vide=True
         print (self.tailleTuple)
         for i in range(self.tailleTuple):
-            nomLE="lineEditVal_"+str(i+1)
+            nomLE="lineEditVal"+str(i+1)
             courant=getattr(self,nomLE)
             self.valeur.append(courant.valeur)
             if courant.valeur!= None : vide = False
@@ -164,7 +164,7 @@ class TupleCustom(object) :
     #-------------------
         self.valeur=None
         for i in range(self.tailleTuple):
-            nomLE="lineEditVal_"+str(i+1)
+            nomLE="lineEditVal"+str(i+1)
             courant=getattr(self,nomLE)
             courant.setText("")
 
@@ -305,17 +305,17 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
 
         for i in range(self.nbValeurs) :
             num=i+1
-            nomLineEdit='lineEditVal_'+str(num)
+            nomLineEdit='lineEditVal'+str(num)
             lineEditVal=getattr(nouveauLE,nomLineEdit)
             self.listeAffichageWidget.append(lineEditVal)
-        #self.listeAffichageWidget.append(nouveauLE.lineEditVal_1)
-        #self.listeAffichageWidget.append(nouveauLE.lineEditVal_2)
-        #if self.nbValeurs == 3 : self.listeAffichageWidget.append(nouveauLE.lineEditVal_3)
+        #self.listeAffichageWidget.append(nouveauLE.lineEditVal1)
+        #self.listeAffichageWidget.append(nouveauLE.lineEditVal2)
+        #if self.nbValeurs == 3 : self.listeAffichageWidget.append(nouveauLE.lineEditVal3)
 
         self.etablitOrdre()
 
         # deux lignes pour que le ensureVisible fonctionne
-        self.estVisible=nouveauLE.lineEditVal_1
+        self.estVisible=nouveauLE.lineEditVal1
         if inInit==False :QTimer.singleShot(1, self.rendVisibleLigne)
 
     def etablitOrdre(self):
@@ -405,7 +405,7 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
         self.changeValeur(changeDePlace=True)
         self.numLineEditEnCours=num2
         self.lineEditEnCours=courant2
-        courant2.lineEditVal_1.setFocus(True)
+        courant2.lineEditVal1.setFocus(True)
 
     def ajoutNValeur(self,liste):
     #----------------------------
@@ -455,7 +455,7 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
                 nomLEARemplir=self.nomLine+str(indexDernierRempli+1)
                 LEARemplir=getattr(self,nomLEARemplir)
                 for n in range(self.nbValeurs) :
-                    nomLineEdit='lineEditVal_'+str(n+1)
+                    nomLineEdit='lineEditVal'+str(n+1)
                     lineEditVal=getattr(LEARemplir,nomLineEdit)
                     lineEditVal.setText(str(t[n]))
             else :
@@ -472,7 +472,7 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
                 nouveauLE.setValeur(t)
 
                 for n in range(self.nbValeurs) :
-                    nomLineEdit='lineEditVal_'+str(n+1)
+                    nomLineEdit='lineEditVal'+str(n+1)
                     lineEditVal=getattr(nouveauLE,nomLineEdit)
                     self.listeAffichageWidget.append(lineEditVal)
             indexDernierRempli = indexDernierRempli+1
index 5f545c0aa4d34c8da33202bca968a7a46af36f08..fe9c001222f507f27a8f569c1e6fdc6377c53e69 100644 (file)
@@ -40,6 +40,7 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille):
 
     def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
+        if 'R' or 'I' in self.monSimpDef.type  : self.lineEditVal.setMinimumWidth(525)
         self.parentQt.commandesLayout.insertWidget(-1,self,1)
         self.setFocusPolicy(Qt.StrongFocus)
         if monSimpDef.homo == 'constant' : self.lineEditVal.setReadOnly(True)
@@ -76,10 +77,6 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille):
             elif repr(valeurTexte.__class__).find("PARAMETRE") > 0:
                 chaine = repr(valeur)
             else :
-                #PN ????
-                #try :
-                #  chaine=QString("").setNum(valeurTexte)
-                #except :
                 chaine=str(valeurTexte)
         self.oldValeurTexte=chaine
         self.lineEditVal.setText(chaine)
index 4f60eb7be47dac3f4a8eed6f8a1d0188a1334b08..8ab5d5d34de0b6ca0bb9363e2403c424c00034a9 100644 (file)
@@ -48,12 +48,10 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille):
         self.LEReel.returnPressed.connect(self.LEReelRPressed)
         self.RBRI.clicked.connect(self.valeurPressed )
         self.RBMP.clicked.connect(self.valeurPressed )
-        self.LEComp.returnPressed.connect(self.LECompRPressed)
-        self.maCommande.listeAffichageWidget.append(self.LEComp)
-        #self.maCommande.listeAffichageWidget.append(self.RBRI)
-        #self.maCommande.listeAffichageWidget.append(self.RBMP)
-        #self.maCommande.listeAffichageWidget.append(self.LEReel)
-        #self.maCommande.listeAffichageWidget.append(self.LEImag)
+        self.maCommande.listeAffichageWidget.append(self.RBRI)
+        self.maCommande.listeAffichageWidget.append(self.RBMP)
+        self.maCommande.listeAffichageWidget.append(self.LEReel)
+        self.maCommande.listeAffichageWidget.append(self.LEImag)
 
 
     def setValeurs(self):
@@ -62,6 +60,8 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille):
         if valeur == None or valeur == '' : return
         if type(valeur) not in (list,tuple) :
             self.LEComp.setText(str(valeur))
+            commentaire=tr('complexe form deprecated, od value : ', valeur)
+            self.editor.afficheInfos(commentaire,Qt.red)
         else :
             typ_cplx,x1,x2=valeur
             self.LEReel.setText(str(x1))
@@ -71,28 +71,29 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille):
             else :
                 self.RBMP.setChecked(1)
 
-    def LECompRPressed(self) :
-        self.LEReel.clear()
-        self.LEImag.clear()
-        commentaire=tr("expression valide")
-        valeur = str(self.LEComp.text())
-        d={}
-        try :
-            v=eval(valeur,d)
-        except :
-            commentaire=tr("expression invalide")
-            self.editor.afficheInfos(commentaire,Qt.red)
-            return
-        try :
-            i=v.imag
-            self.editor.afficheInfos(commentaire)
-            self.valeurPressed()
-        except :
-            commentaire=tr("l expression n est pas de la forme a+bj")
-            self.editor.afficheInfos(commentaire,Qt.red)
+    #def LECompRPressed(self) :
+    #    self.LEReel.clear()
+    #    self.LEImag.clear()
+    #    commentaire=tr("expression valide")
+    #    valeur = str(self.LEComp.text())
+    #    d={}
+    #    if 1 :
+    #    try :
+    #        v=eval(valeur,d)
+    #    except :
+    #        commentaire=tr("expression invalide")
+    #        self.editor.afficheInfos(commentaire,Qt.red)
+    #        return
+    #    try :
+    #        i=v.imag
+    #        self.editor.afficheInfos(commentaire)
+    #        self.valeurPressed()
+    #    except :
+    #        commentaire=tr("l expression n est pas de la forme a+bj")
+    #        self.editor.afficheInfos(commentaire,Qt.red)
 
     def LEReelRPressed(self):
-        self.LEComp.clear()
+        #self.LEComp.clear()
         commentaire=tr("expression valide")
         valeur = str(self.LEReel.text())
         try :
@@ -102,9 +103,9 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille):
             commentaire=tr("expression invalide")
             self.editor.afficheInfos(commentaire,Qt.red)
         if self.LEImag.text()!="" : self.valeurPressed()
+        else : self.LEImag.setFocus(True)
 
     def LEImagRPressed(self):
-        self.LEComp.clear()
         commentaire=tr("expression valide")
         valeur = str(self.LEImag.text())
         try :
@@ -114,40 +115,36 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille):
             commentaire=tr("expression invalide")
             self.editor.afficheInfos(commentaire,Qt.red)
         if self.LEReel.text()!="" : self.valeurPressed()
+        else : self.LEReel.setFocus(True)
 
     def finCommentaire(self):
         commentaire="valeur de type complexe"
         return commentaire
 
-    def getValeurComp(self):
-        commentaire=tr("expression valide")
-        valeur = str(self.LEComp.text())
-        d={}
-        try :
-            v=eval(valeur,d)
-        except :
-            commentaire=tr("expression invalide")
-            self.editor.afficheInfos(commentaire,Qt.red)
-            return None
-        try :
-            i=v.imag
-        except :
-            commentaire=tr("expression n est pas de la forme a+bj")
-            self.editor.afficheInfos(commentaire,Qt.red)
-            return None
-        return v
+    #def getValeurComp(self):
+    #    commentaire=tr("expression valide")
+    #    valeur = str(self.LEComp.text())
+    #    d={}
+    #    try :
+    #        v=eval(valeur,d)
+    #    except :
+    #        commentaire=tr("expression invalide")
+    #        self.editor.afficheInfos(commentaire,Qt.red)
+    #        return None
+        try :
+    #        i=v.imag
+    #    except :
+    #        commentaire=tr("expression n est pas de la forme a+bj")
+    #        self.editor.afficheInfos(commentaire,Qt.red)
+    #        return None
+    #    return v
 
 
     def valeurPressed(self):
-        if self.LEComp.text()== ""  and (self.LEReel.text()=="" or self.LEImag.text()=="") :
-            return
-        if self.LEComp.text()== "" : valeur = self.getValeurRI()
-        else :
-            if self.LEReel.text() != "" or self.LEImag.text() != "" :
-                commentaire=tr("entrer une seule valeur SVP")
-                self.editor.afficheInfos(commentaire,Qt.red)
-                return
-            valeur=  self.getValeurComp()
+        if (self.LEReel.text()=="" and self.LEImag.text()=="") : self.LEReel.setFocus(True)
+        if (self.LEReel.text()=="" and self.LEImag.text()!="") : self.LEReel.setFocus(True)
+        if (self.LEReel.text()!="" and self.LEImag.text()=="") : self.LEImag.setFocus(True)
+        valeur = self.getValeurRI()
         self.politique.recordValeur(valeur)
         self.reaffiche()
         self.parentQt.donneFocus()
@@ -157,13 +154,11 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille):
         Retourne le complexe saisi par l'utilisateur
         """
         l=[]
-        if  (self.RBMP.isChecked() == 1 ) :
-            l.append("MP")
-        elif (self.RBRI.isChecked() == 1) :
-            l.append("RI")
+        if (self.RBMP.isChecked() == 1 ) : l.append("MP")
+        elif (self.RBRI.isChecked() == 1) : l.append("RI")
         else :
-            commentaire=tr("saisir le type de complexe")
             self.editor.afficheInfos(commentaire,Qt.red)
+            self.RBMP.setFocus(True)
             return None
         try :
             l.append(locale.atof(str(self.LEReel.text())))
index adeeb73c8d4eb84ad998ee057094588baa968775..403b8e4a23e1335984a4d81348ab704372bf0265 100644 (file)
@@ -43,6 +43,9 @@ class MonWidgetSimpTuple2 (Ui_WidgetTuple2,MonWidgetSimpTuple):
     def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         self.nbValeurs=2
         MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
+        #print (self,node,monSimpDef,nom,objSimp,parentQt,commande)
+        #import traceback
+        #traceback.print_stack()
         if self.objSimp.isImmuable() :
             self.lineEditVal1.setDisabled(True)
             self.lineEditVal2.setDisabled(True)
@@ -60,15 +63,19 @@ class MonWidgetSimpTuple3 (Ui_WidgetTuple3,MonWidgetSimpTuple):
         if self.objSimp.isImmuable() :
             self.lineEditVal1.setDisabled(True)
             self.lineEditVal2.setDisabled(True)
+            self.lineEditVal3.setDisabled(True)
             self.lineEditVal1.setStyleSheet("background:rgb(244,244,244);\n" "border:0px;\n")
             self.lineEditVal2.setStyleSheet("background:rgb(244,244,244);\n" "border:0px;\n")
+            self.lineEditVal3.setStyleSheet("background:rgb(244,244,244);\n" "border:0px;\n")
             self.lineEditVal1.setToolTip(tr("Valeur non modifiable"))
             self.lineEditVal2.setToolTip(tr("Valeur non modifiable"))
+            self.lineEditVal3.setToolTip(tr("Valeur non modifiable"))
         else :
             self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
 
 class MonWidgetSimpTuple4 (Ui_WidgetTuple4,MonWidgetSimpTuple):
     def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
+        #print (self,node,monSimpDef,nom,objSimp,parentQt,commande)
         self.nbValeurs=4
         MonWidgetSimpTuple.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
 
index 046d2d08b494a20b7b39eb11ab4a785ed7975816..ee7a098900676d60541464f10dc8cde0bdff3f6e 100644 (file)
@@ -311,25 +311,33 @@ class MCSIMP(N_OBJECT.OBJECT):
         N_OBJECT.OBJECT.supprime(self)
 
     def getUserAssdPossible(self):
+        debug=False
+        if self.nom == 'ApplyOn' : debug = True
+        if debug : print ('____________', self, self.nom)
         classeAChercher = self.definition.type
+        if debug : print ('____________', classeAChercher)
         l=[]
         dicoValeurs={}
         d={}
+        if debug : print ('____________', self.definition.filtreVariables)
         if self.definition.filtreVariables != None :
             for (nomMC, Xpath) in self.definition.filtreVariables :
-                # print (nomMC, Xpath)
+                if debug : print (nomMC, Xpath)
                 if Xpath == None : dicoValeurs[nomMC] = getattr(self,nomMC)
                 else :
                     try: #if 1 :
                         pereMC=eval(Xpath)
+                        if debug : print ('pereMC :',pereMC)
                         if pereMC :
                             exp=Xpath+'.getChild("'+nomMC+'")'
                             leMotCle=eval(exp)
                         else : leMotCle=None
+                        if debug : print ('leMotCle', leMotCle)
                         if leMotCle :
                             if leMotCle.val : dicoValeurs[nomMC]=leMotCle.val
                             elif leMotCle.definition.max != 1 : dicoValeurs[nomMC] = []
                             else : dicoValeurs[nomMC] = None
+                            if debug : print ('dicoValeurs', dicoValeurs)
                         else :
                         #PN PN est-ce sur ? sinon quoi None ou []
                         # je pense que les 2 valeurs doivent être renseignees si le filtre depend de 2 valeurs
@@ -340,7 +348,11 @@ class MCSIMP(N_OBJECT.OBJECT):
 
         for k,v in self.parent.jdc.sdsDict.items():
             if (isinstance(v, classeAChercher)) :
+                if debug : print ('je traite', v)
                 if self.definition.filtreExpression :
+                    if debug : print ('expression', self.definition.filtreExpression)
+                    if debug : 
+                       print (v.executeExpression(self.definition.filtreExpression ,dicoValeurs) )
                     try :
                         if v.executeExpression(self.definition.filtreExpression ,dicoValeurs) : l.append(v)
                     except :
index 80f2d0c78b4fec7b7674ae2ec1b2b78765846fc2..fdc3148dfd569bc2cc7068b87c9784691124619b 100644 (file)
@@ -51,7 +51,7 @@ class SIMP(N_ENTITE.ENTITE):
                  min=1, max=1, homo=1, position='local',filtre=None,
                  val_min=float('-inf'), val_max=float('inf'), docu="", validators=None, nomXML=None,
                  sug=None,fenetreIhm=None, attribut=False,  sortie='n', intoXML=None, metAJour=None,
-                 avecBlancs=False):
+                 avecBlancs=False, unite=None):
         """
             Un mot-clé simple est caractérisé par les attributs suivants :
             - type : cet attribut est obligatoire et indique le type de valeur attendue
@@ -127,14 +127,15 @@ class SIMP(N_ENTITE.ENTITE):
         self.sortie     = sortie
         self.filtre     = filtre
         self.avecBlancs = avecBlancs
+        self.unite      = unite
         if not(self.avecBlancs) and self.max > 1 and 'TXM' in self.type and self.into != None :
             for val in self.into :
-                if val.find(' ') : 
+                if val.find(' ')  > -1
                    self.avecBlancs = True  
                    break
-        if not(self.avecBlancs) and self.max > 1 and 'TXM' in self.type and self.into != None :
+        if not(self.avecBlancs) and self.max > 1 and 'TXM' in self.type and self.intoXML != None :
             for val in self.intoXML :
-                if val.find(' ') : 
+                if val.find(' ')  > -1
                    self.avecBlancs = True  
                    break
         if self.avecBlancs and not ('TXM' in self.type) : 
index 8b146cad6dfc8358e0a9c4723dac640047f293e5..d4f9ccbc7239ca9bf556e3da8f3e7f4e1683c9a2 100644 (file)
@@ -33,7 +33,6 @@ class N_Matrice:
         self.typEltInto = typEltInto
         self.jdc=None
         self.coloree=coloree
-        self.coloree=True
         if self.coloree : self.activeCouleur()
 
     def __convert__(self, valeur):
index 5cd4e7eaa1d42f8450d356484dcc123e7ea97a77..2a5e1afddc94cececee68253ee9aacb81d15ab3a 100644 (file)
@@ -122,15 +122,15 @@ class UserASSD(ASSD):
         self.jdc.delConcept(self.nom)
 
     def executeExpression(self, condition, dico) :
-        #print ('je suis dans executeExpression ', self.nom, ' ', condition)
+        #if self.nom == 'shape1' : print ('je suis dans executeExpression ', self.nom, ' ', condition)
         dict = locals()
         dict.update(dico)
-        #if self.nom == 'CS_Num1__CS_Num2_Velocity' :
-        #    print ('--------------------------------------------------------------------------')
-        #    #print ((set(("Pressure",)).intersection(set(self.getEficasAttribut("InvolvedStateVariable"))) != set()))
-        #    print (self.getEficasAttribut("InvolvedStateVariable"))
-        #    print ('--------------------------------------------------------------------------')
-        #    return 0
+        #if self.nom == 'shape1' or self.nom == 'G1' : print (dict)
+        #if self.nom == 'shape1' :
+        #    print (self.getParentsWithId().getListeUserASSD("systemGeometryId"))
+        #    print (self.getParentsWithId().getListeUserASSD("SystemGeometryId"))
+        #    test = eval(condition, globals(), dict)
+        #    print ('-------------------------------------------------------------------------')
         try :
             test = eval(condition, globals(), dict)
         except :