From 4d99e37edc50c7e670d66171255f8bfb6a1e1b25 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Wed, 28 Nov 2018 12:00:28 +0100 Subject: [PATCH] modifs pour valeur par defaut --- Efi2Xsd/MCAccasXsd.py | 71 ++++++++++++++++++++++--------------------- Ihm/I_MCSIMP.py | 2 +- 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/Efi2Xsd/MCAccasXsd.py b/Efi2Xsd/MCAccasXsd.py index 0f9d060c..69396bc9 100755 --- a/Efi2Xsd/MCAccasXsd.py +++ b/Efi2Xsd/MCAccasXsd.py @@ -20,7 +20,7 @@ class X_OBJECT: def delObjPyxb(self): if not self.cata.modeleMetier : return - #print ('----------- delObjPyxb', self.nom) + print ('----------- delObjPyxb', self.nom) trouve = False listeArg=[] for i in self.perePyxb.objPyxb.orderedContent(): @@ -42,43 +42,43 @@ class X_OBJECT: def addObjPyxb(self,indiceDansLeContenu): if not self.cata.modeleMetier : return - #print ('**********************************************') - #print ('_____________ addObjPyxb ds X_OBJECT', self.nom, indiceDansLeContenu) + print ('**********************************************') + print ('_____________ addObjPyxb ds X_OBJECT', self.nom, indiceDansLeContenu) # adherence Accas sur le parent parent=self.parent while (parent.isBLOC()): parent=parent.parent self.perePyxb=parent grandPere=self.perePyxb.perePyxb ancienObjPerePyxb=self.perePyxb.objPyxb - print ('dans le perePyxb', self.perePyxb.nom) - print ('j ai pour orderedContent', self.objPyxb.orderedContent()) + #print ('dans le perePyxb', self.perePyxb.nom) + #print ('j ai pour orderedContent', self.objPyxb.orderedContent()) self.objPyxb.objAccas=self listeArg=[] indice=0 # a tester # a affiner si on ajoute en fin - print (indiceDansLeContenu) - print (self.perePyxb.objPyxb.orderedContent()) + #print (indiceDansLeContenu) + #print (self.perePyxb.objPyxb.orderedContent()) for i in self.perePyxb.objPyxb.orderedContent(): if indice==indiceDansLeContenu : listeArg.append(self.objPyxb) else : listeArg.append(i._Content__value) indice=indice+1 - print ('avec', listeArg) + #print ('avec', listeArg) if indiceDansLeContenu == len(self.perePyxb.objPyxb.orderedContent()): listeArg.append(self.objPyxb) - print ('avec', listeArg) + #print ('avec', listeArg) nvlObjPerePyxb=self.perePyxb.maClasseModeleMetier(*listeArg) self.perePyxb.objPyxb=nvlObjPerePyxb self.perePyxb.objPyxb.objAccas=ancienObjPerePyxb.objAccas - print (self.nom, ' a pour gp ', grandPere) + #print (self.nom, ' a pour gp ', grandPere) if grandPere : grandPere.reconstruitAvecNvlObj(ancienObjPerePyxb,nvlObjPerePyxb) def reconstruitAvecNvlObj(self, ancienObj,nvlObj): if not self.cata.modeleMetier : return - print ('reconstruitAvecNvlObj pour', self, self.nom, ancienObj,nvlObj) + #print ('reconstruitAvecNvlObj pour', self, self.nom, ancienObj,nvlObj) listeArg=[] for i in self.objPyxb.orderedContent(): if id(ancienObj) == id(i._Content__value) : listeArg.append(nvlObj) @@ -98,10 +98,7 @@ class X_MCSIMP(X_OBJECT): # self.valeur tient compte de la valeur par defaut # utiliser getValeur ? expression numpy if not self.cata.modeleMetier : return - print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur) - #if self.nom == 'diameter' : - # traceback.print_stack() - # print ('****************************************************') + #print ('X_MCSIMP buildObjPyxb', self.nom, self,self.valeur) #print ('objPyxbDeConstruction', self.objPyxbDeConstruction) #if self.objPyxbDeConstruction == None : print (self.nom, ' pas de pyxb') if self.objPyxbDeConstruction != None : @@ -116,18 +113,21 @@ class X_MCSIMP(X_OBJECT): #print (self.maClasseModeleMetier) #print (self.valeur) #print (type(self.valeur)) + if self.valeur != None : self.objPyxb=self.maClasseModeleMetier(self.valeur) - elif self.definition.into != None and 'TXM' in self.definition.type : self.objPyxb = None - #else : self.objPyxb=self.maClasseModeleMetier(); else : self.objPyxb=self.maClasseModeleMetier(_validate_constraints=False); + if self.objPyxb : self.objPyxb.objAccas=self #print ('X_MCSIMP', self.nom, self.objPyxb, ) - print ('fin X_MCSIMP', self.objPyxb, self.nom,self) + #print ('fin X_MCSIMP', self.objPyxb, self.nom,self) + if self.nom=="species_pair_parameters_potential_type" : print ('X_MCSIMP buildObjPyxb', self.nom ) def setValeurObjPyxb(self,newVal): if not self.cata.modeleMetier : return + print ('------------------------------------------------------------------') print ('dans setValeurObjPyxb MCSIMP ', self.nom) + #print (self.nom , ' a pour pere', self.perePyxb, self.perePyxb.nom, self.perePyxb.objPyxb) if newVal != None : nvlObj=self.maClasseModeleMetier(newVal) #else : nvlObj=self.maClasseModeleMetier() @@ -135,6 +135,7 @@ class X_MCSIMP(X_OBJECT): else : nvlObj=self.maClasseModeleMetier(_validate_constraints=False) self.val=newVal + #print (self.perePyxb.objPyxb.orderedContent()) setattr(self.perePyxb.objPyxb,self.nom,nvlObj) trouve=False indice=0 @@ -148,12 +149,14 @@ class X_MCSIMP(X_OBJECT): if not trouve : print ('Attention souci au changement de valeur de ', self.nom) self.objPyxb=nvlObj self.objPyxb.objAccas=self + #print (self.perePyxb.objPyxb.orderedContent()) + #print ('------------------------------------------------------------------') def addObjPyxb(self, indiceDsLeContenu): if not self.cata.modeleMetier : return - #print ('addObjPyxb : ajout de ', self.nom, 'en ', indiceDsLeContenu) + print ('addObjPyxb : ajout de ', self.nom, 'en ', indiceDsLeContenu) # adherence Accas sur le parent parent=self.parent @@ -165,17 +168,19 @@ class X_MCSIMP(X_OBJECT): self.monNomClasseModeleMetier='T_'+self.nom self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier) #nvlObj=self.maClasseModeleMetier() - nvlObj=self.maClasseModeleMetier(_validate_constraints=False) - print (self.perePyxb.objPyxb.orderedContent()) - for i in (self.perePyxb.objPyxb.orderedContent()): print i._Content__value;print (type(i._Content__value)) + #nvlObj=self.maClasseModeleMetier(_validate_constraints=False) + if self.valeur != None : nvlObj=self.maClasseModeleMetier(self.valeur) + else : nvlObj=self.maClasseModeleMetier(_validate_constraints=False); + #print (self.perePyxb.objPyxb.orderedContent()) + #for i in (self.perePyxb.objPyxb.orderedContent()): print i._Content__value;print (type(i._Content__value)) setattr(self.perePyxb.objPyxb,self.nom,nvlObj) tampon=self.perePyxb.objPyxb.orderedContent()[-1] self.objPyxb = nvlObj self.objPyxb.objAccas=self indexOC=-1 longueur=len(self.perePyxb.objPyxb.orderedContent()) - print (self.perePyxb.objPyxb.orderedContent()) - print (self.perePyxb.nom) + #print (self.perePyxb.objPyxb.orderedContent()) + #print (self.perePyxb.nom) for i in reversed(range(longueur)): self.perePyxb.objPyxb.orderedContent()[i]=self.perePyxb.objPyxb.orderedContent()[i-1] if i == indiceDsLeContenu + 1 : break @@ -188,8 +193,8 @@ class X_MCCOMPO(X_OBJECT) : # def buildObjPyxb(self,mc_list) : #print ('________________________________________________') - #print ('X_MCCOMPO buildObjPyxb', self.nom, self, mc_list) if not self.cata.modeleMetier : return + #print ('X_MCCOMPO buildObjPyxb', self, mc_list) self.listArg=[] for objAccas in mc_list : @@ -202,7 +207,6 @@ class X_MCCOMPO(X_OBJECT) : else : self.listArg.append(objAccas.objPyxb) objAccas.perePyxb=self - #print (objAccas.nom ,' a pour pere Pyxb', self, self.nom) self.monNomClasseModeleMetier='T_'+self.nom self.maClasseModeleMetier=getattr(self.cata.modeleMetier,self.monNomClasseModeleMetier) @@ -211,8 +215,8 @@ class X_MCCOMPO(X_OBJECT) : self.objPyxbDeConstruction = None #print ('je passe dans le if pour ', self.nom, self.objPyxb, self) else : - print (self.nom) - print (self.listArg) + #print (self.nom) + #print (self.listArg) self.objPyxb=self.maClasseModeleMetier(*self.listArg) self.objPyxb.objAccas=self #print ('X_MCCOMPO', self, self.nom, self.objPyxb) @@ -238,7 +242,7 @@ class X_MCCOMPO(X_OBJECT) : # fils ou objFils objFils.perePyxb=self self.listArg.append(objFils.objPyxb) - #print (fils.nom ,' est un MCLIST et a pour pere Pyxb', self, self.nom) + print (fils.nom ,' est un MC ds un MCLIST et a pour pere Pyxb', self, self.nom) else : self.listArg.append(fils.objPyxb) fils.perePyxb=self @@ -298,8 +302,6 @@ class X_JDC (X_MCCOMPO): # --------------------- def __init__(self): - #print ('_______________________________________') - #print ('X_JDC buildObjPyxb', self) self.perePyxb=None if not self.cata.modeleMetier : return self.monNomClasseModeleMetier=self.code @@ -307,9 +309,9 @@ class X_JDC (X_MCCOMPO): self.objPyxb=self.maClasseModeleMetier() self.objPyxb.objAccas=self pyxb.GlobalValidationConfig._setContentInfluencesGeneration(pyxb.GlobalValidationConfig.NEVER) - #pyxb.GlobalValidationConfig._setInvalidElementInContent(pyxb.GlobalValidationConfig.RAISE_EXCEPTION) - #pyxb.GlobalValidationConfig._setOrphanElementInContent(pyxb.GlobalValidationConfig.RAISE_EXCEPTION) - #print ('fin buildObjPyxb _______________________________________') + pyxb.GlobalValidationConfig._setInvalidElementInContent(pyxb.GlobalValidationConfig.RAISE_EXCEPTION) + pyxb.GlobalValidationConfig._setOrphanElementInContent(pyxb.GlobalValidationConfig.RAISE_EXCEPTION) + def enregistreEtapePyxb(self,etape,indice=0): # OK seulement si sequence (choice ? ...) @@ -336,6 +338,7 @@ class X_JDC (X_MCCOMPO): # print(e.details()) def toXml(self): + print ('***************',self.objPyxb,'***************',) if not self.cata.modeleMetier : return print ('***************',self.objPyxb,'***************',) print ('***************',self,'***************',) diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index 0d7c3604..d80ed54a 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -327,7 +327,7 @@ class MCSIMP(I_OBJECT.OBJECT): self.initModif() self.valeur = new_valeur self.val = new_valeur - self.setValeurObjPyxb(new_valeur) + if self.isValid():self.setValeurObjPyxb(new_valeur) self.updateConditionBloc() self.etape.modified() self.finModif() -- 2.39.2