From: PASCALE NOYRET Date: Tue, 22 Feb 2022 09:04:14 +0000 (+0100) Subject: optinnel sous fact 1 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=c60c6ee3cf31731d0966310804f5d5a50a3e23e0;p=tools%2Feficas.git optinnel sous fact 1 --- diff --git a/Editeur/Objecttreeitem.py b/Editeur/Objecttreeitem.py index e1a30037..b002ceae 100644 --- a/Editeur/Objecttreeitem.py +++ b/Editeur/Objecttreeitem.py @@ -168,6 +168,7 @@ class ObjectTreeItem(TreeItem,Delegate): self.sublist=[] self.init() # on met le meme id au noeud et a l objet + # a priori inutile sauf pour les MCList if hasattr (object, 'idUnique') : self.idUnique=object.idUnique else : self.idUnique=uuid1().hex @@ -299,46 +300,6 @@ class ObjectTreeItem(TreeItem,Delegate): # l contient les anciens mots-cles + le nouveau dans l'ordre return l.index(nom_fils) - def appendChild(self,name,pos=None): - """ - Permet d'ajouter un item fils a self - """ - if pos == 'first': - index = 0 - elif pos == 'last': - index = len(self.listeMcPresents()) - elif type(pos) == int : - # la position est fixee - index = pos - #elif type(pos) == types.InstanceType: - elif type(pos) == object : - # pos est un item. Il faut inserer name apres pos - index = self.getIndex(pos) +1 - #elif type(name) == types.InstanceType: - elif type(name) == object : - index = self.getIndexChild(name.nom) - else: - index = self.getIndexChild(name) - return self.addobject(name,index) - - def appendBrother(self,name,pos='after'): - """ - Permet d'ajouter un frere a self - par defaut on l'ajoute apres self - """ - index = self._object.parent.getIndex(self.getObject()) - if pos == 'before': - index = index - elif pos == 'after': - index = index +1 - else: - print((tr("%d n'est pas un index valide pour appendBrother", pos))) - return - return self.parent.addobject(name,index) - - def getCopieObjet(self): - """ Retourne une copie de l'objet pointe par self """ - return self.object.copy() def getPosition(self): """ Retourne la valeur de l'attribut position de l'objet pointe par self """ diff --git a/Ihm/I_MCCOMPO.py b/Ihm/I_MCCOMPO.py index 028f5ce2..aa7fe89b 100644 --- a/Ihm/I_MCCOMPO.py +++ b/Ihm/I_MCCOMPO.py @@ -158,7 +158,7 @@ class MCCOMPO(I_OBJECT.OBJECT): def calculOptionnelInclutBlocs(self): self.dictMCVenantDesBlocs={} - liste, listeRouge,dictToolTipMc = self.calculOptionnel() + liste, listeRouge, dictToolTipMc = self.calculOptionnel() dictNomsPresents = self.dictMcPresents() for mc in self.listeMcPresents(): obj=dictNomsPresents[mc] @@ -167,6 +167,10 @@ class MCCOMPO(I_OBJECT.OBJECT): liste = liste+l listeRouge = listeRouge+lr for k in d : dicToolTipMC[k]=d[k] + for mcFils in liste : + if mcFils not in self.mcListe : self.dictMCVenantDesBlocs[mcFils]=obj + for (k,v) in obj.dictMCVenantDesBlocs.items() : self.dictMCVenantDesBlocs[k]=v + if self.nom == 'MonProc2' :print ('ccOptio' , self,self.nom, self.dictMCVenantDesBlocs) return (liste, listeRouge,dictToolTipMc) @@ -546,6 +550,5 @@ class MCCOMPO(I_OBJECT.OBJECT): objUserAssd.supprime(self) def initModifUp(self): - print ('llllllllllllllllllllllllllllllllllllllllllll',self.nom) Validation.V_MCCOMPO.MCCOMPO.initModifUp(self) CONNECTOR.Emit(self,"valid") diff --git a/InterfaceWeb/browser.py b/InterfaceWeb/browser.py index 05653c2e..cc72c82f 100644 --- a/InterfaceWeb/browser.py +++ b/InterfaceWeb/browser.py @@ -106,10 +106,6 @@ class JDCNode(): def onValid(self): #----------------- debug=0 - - print ('ds onValid', self.item.nom) - if self.item.nom == 'Fact1' : print ('je suis dans on Valide ----------------', self) - #if self.treeParent.oldValidite=='init' : self.treeParent.oldValidite='unknown' validite=self.item.isValid() if debug : print ('ds onValid', self.item.nom, self.oldValidite, validite) if self.oldValidite==validite : return @@ -118,7 +114,7 @@ class JDCNode(): if self.item.state != 'modified' : return self.oldValidite=validite self.editor.connecteur.toWebApp('propageValide',self.getIdUnique(), validite) - #if debug : print ('appel de propageValide pour ', self.item.nom, validite,self.oldValidite) + if debug : print ('appel de propageValide pour ', self.item.nom, validite,self.oldValidite) def onAdd(self,ajout): #---------------------- @@ -257,28 +253,33 @@ class JDCNode(): On peut l'ajouter en debut de liste (pos='first'), en fin (pos='last') ou en position intermediaire. Si pos vaut None, on le place a la position du catalogue. + Attention a la delegation et aux dictionnaires """ #print ("************** appendChild ",self.item.getLabelText(), pos ) #import traceback #traceback.print_stack() + if name in self.item.mcListe : mcPere = self.item + else : mcPere = self.item.object.dictMCVenantDesBlocs[name] try : if pos == 'first' : index = 0 elif pos == 'last' : index = len(self.children) elif type(pos) == int : index = pos # position fixee - elif type(pos) == object : index = self.item.getIndex(pos) +1 # pos est un item. Il faut inserer name apres pos - elif type(name) == object : index = self.item.getIndexChild(name.nom) - elif self.item.nature != 'JDC' : index = self.item.getIndexChild(name) + elif type(pos) == object : index = mcPere.getIndex(pos) +1 # pos est un item. Il faut inserer name apres pos + elif type(name) == object : index = mcPere.getIndexChild(name.nom) + elif self.item.nature != 'JDC' : index = mcPere.getIndexChild(name) else : return None except : txt=' Impossible d ajouter {} en position {}'.format(name, pos) self.editor.afficheInfos(txt,'rouge') return None + if name in self.item.mcListe : + obj = self.item.addItem(name,index) # emet le signal 'add' + else : + obj = mcPere.addEntite(name,pos) - print ('dans appendChild browser.py appel addItem', self.item.addItem) - obj = self.item.addItem(name,index) # emet le signal 'add' if not obj : return None self.updateOptionnels() return True diff --git a/InterfaceWeb/composimp.py b/InterfaceWeb/composimp.py index 17f1c8ec..08270aa8 100644 --- a/InterfaceWeb/composimp.py +++ b/InterfaceWeb/composimp.py @@ -56,207 +56,9 @@ class Node(browser.JDCNode): return (self.item.idUnique, commentaire, false) nouvelleValeurFormat=self.politique.getValeurTexte(valeur) validite,commentaire=self.politique.recordValeur(nouvelleValeurFormat) + if validite : self.treeParent.updateOptionnels() return (self.item.idUnique, commentaire, validite) - - - def getPanelGroupe(self,parentQt,maCommande): - print ('getPanelGroupe de composimp pour ',self,self.item.nom, ) - maDefinition=self.item.get_definition() - monObjet=self.item.object - monNom=self.item.nom - - # a gerer comme dans composimp - # Gestion des matrices - #if self.item.waitMatrice (): - # from InterfaceQT4.monWidgetMatrice import MonWidgetMatrice - # widget=MonWidgetMatrice(self,maDefinition,monNom,monObjet,parentQt,maCommande) - # self.widget=widget - # return widget - - #print "____________________________", monNom, self.item.waitCo() - #print "____________________________", monNom, self.item.waitAssd() - # Gestion d'une seule valeur (eventuellement un tuple ou un complexe) - if maDefinition.into != [] and maDefinition.into != None: - if type(maDefinition.into) ==types.FunctionType : monInto=maDefinition.into() - else : monInto = maDefinition.into - - - #if maDefinition.max == 1 : - - # if maDefinition.intoSug != [] and maDefinition.intoSug != None: - # from InterfaceQT4.monWidgetCBIntoSug import MonWidgetCBIntoSug - # widget=MonWidgetCBIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande) - # elif maDefinition.into != [] and maDefinition.into != None: - # if maDefinition.fenetreIhm=='menuDeroulant' : - # from InterfaceQT4.monWidgetCB import MonWidgetCB - # widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande) - # elif len(monInto) < 4 : - # from InterfaceQT4.monWidgetRadioButton import MonWidgetRadioButton - # widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande) - # elif len(monInto) < 7 : - # from InterfaceQT4.monWidget4a6RadioButton import MonWidget4a6RadioButton - # widget=MonWidget4a6RadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande) - # else : - # from InterfaceQT4.monWidgetCB import MonWidgetCB - # widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande) - -# # elif self.item.waitBool() : -# from InterfaceQT4.monWidgetSimpBool import MonWidgetSimpBool -# widget=MonWidgetSimpBool(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# elif self.item.waitFichier(): -# from InterfaceQT4.monWidgetSimpFichier import MonWidgetSimpFichier -# widget=MonWidgetSimpFichier(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# # PNPNPN - a faire -# elif self.item.waitDate(): -# from InterfaceQT4.monWidgetDate import MonWidgetDate -# widget=MonWidgetDate(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# elif self.item.waitHeure(): -# from InterfaceQT4.monWidgetHeure import MonWidgetHeure -# widget=MonWidgetHeure(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# elif self.item.waitTuple() : -# num=self.item.object.definition.type[0].ntuple -# nomDeLaClasse = 'MonWidgetSimpTuple'+str(num) -# nomDuFichier = 'InterfaceQT4.monWidgetSimpTupleN' -# try : -# #if 1 : -# _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0) -# #print (_temp) -# MonWidgetSimpTuple = getattr(_temp,nomDeLaClasse) -# except : -# print ("Pas de Tuple de longueur : ", num) -# # print ("Prevenir la maintenance ") -# widget=MonWidgetSimpTuple(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# elif self.item.waitComplex(): -# from InterfaceQT4.monWidgetSimpComplexe import MonWidgetSimpComplexe -# widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# elif self.item.waitCo(): -# if len(self.item.getSdAvantDuBonType()) == 0 : -# from InterfaceQT4.monWidgetUniqueSDCO import MonWidgetUniqueSDCO -# widget=MonWidgetUniqueSDCO(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetSDCOInto import MonWidgetSDCOInto -# widget=MonWidgetSDCOInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# elif self.item.waitAssd(): -# -# # PN - pour ne pas appeller trop souvent self.item.getSdAvantDuBonType() -# if not (self.item.waitUserAssdOrAssdMultipleEnCreation()) : maListe=self.item.getSdAvantDuBonType() -# if self.item.waitUserAssdOrAssdMultipleEnCreation() : -# from InterfaceQT4.monWidgetCreeUserAssd import MonWidgetCreeUserAssd -# widget=MonWidgetCreeUserAssd(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# #elif len(self.item.getSdAvantDuBonType()) == 0 : -# elif len(maListe) == 0 : -# from InterfaceQT4.monWidgetVide import MonWidgetVide -# widget=MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# #elif len(self.item.getSdAvantDuBonType()) < 4 : -# elif len(maListe) < 4 : -# from InterfaceQT4.monWidgetRadioButton import MonWidgetRadioButtonSD -# widget=MonWidgetRadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# #elif len(self.item.getSdAvantDuBonType()) < 7 : -# elif len(maListe) < 7 : -# from InterfaceQT4.monWidget4a6RadioButton import MonWidget4a6RadioButtonSD -# widget=MonWidget4a6RadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetCB import MonWidgetCBSD -# widget=MonWidgetCBSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# elif self.item.waitSalome() and self.editor.salome: -# from InterfaceQT4.monWidgetSimpSalome import MonWidgetSimpSalome -# widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# elif self.item.waitTxm(): -# from InterfaceQT4.monWidgetSimpTxt import MonWidgetSimpTxt -# widget=MonWidgetSimpTxt(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetSimpBase import MonWidgetSimpBase -# widget=MonWidgetSimpBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# # Gestion des listes -# else : -# if maDefinition.intoSug != [] and maDefinition.intoSug != None: -# if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : -# from InterfaceQT4.monWidgetIntoSug import MonWidgetIntoSug -# widget=MonWidgetIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie -# widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# #if maDefinition.into != [] and maDefinition.into != None: -# # Attention pas fini --> on attend une liste de ASSD avec ordre -# elif self.item.waitAssd() and self.item.isListSansOrdreNiDoublon(): -# listeAAfficher = self.item.getSdAvantDuBonType() -# if len(listeAAfficher) == 0: -# from InterfaceQT4.monWidgetVide import MonWidgetVide -# widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetPlusieursInto import MonWidgetPlusieursInto -# widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# elif self.item.waitAssd() and not self.item.waitUserAssdOrAssdMultipleEnCreation() : -# listeAAfficher = self.item.getSdAvantDuBonType() -# # a changer selon UserASSD ou UserASSDMultiple -# mctype=maDefinition.type[0] -# enable_salome_selection = self.editor.salome and \ -# (('grma' in repr(mctype)) or ('grno' in repr(mctype)) or ('SalomeEntry' in repr(mctype)) or \ -# (hasattr(mctype, "enable_salome_selection") and mctype.enable_salome_selection)) -# if enable_salome_selection: -# from InterfaceQT4.monWidgetPlusieursBase import MonWidgetPlusieursBase -# widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# elif len(listeAAfficher) == 0: -# from InterfaceQT4.monWidgetVide import MonWidgetVide -# widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# elif self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : -# from InterfaceQT4.monWidgetPlusieursASSDIntoOrdonne import MonWidgetPlusieursASSDIntoOrdonne -# widget=MonWidgetPlusieursASSDIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlieASSD -# widget=MonWidgetPlusieursPlieASSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# elif self.item.waitTuple() : -# if self.item.object.definition.fenetreIhm == 'Tableau' : -# from InterfaceQT4.monWidgetTableau import MonWidgetTableau -# widget=MonWidgetTableau(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# num=self.item.object.definition.type[0].ntuple -# nomDeLaClasse = 'MonWidgetPlusieursTuple'+str(num) -# nomDuFichier = 'InterfaceQT4.monWidgetPlusieursTupleN' -# try: -# _temp = __import__(nomDuFichier, globals(), locals(), [nomDeLaClasse], 0) -# MonWidgetPlusieursTuple = getattr(_temp,nomDeLaClasse) -# except : -# print ("Pas de Tuple de longueur : ", num) -# print ("Prevenir la maintenance ") -# widget=MonWidgetPlusieursTuple(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# elif self.item.hasInto(): -# if self.item.isListSansOrdreNiDoublon(): -# -# if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : -# from InterfaceQT4.monWidgetPlusieursInto import MonWidgetPlusieursInto -# widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie -# widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : -# from InterfaceQT4.monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne -# widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie -# widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# if self.item.waitUserAssdOrAssdMultipleEnCreation() : -# from InterfaceQT4.monWidgetPlusieursCreeUserAssd import MonWidgetPlusieursCreeUserAssd -# widget=MonWidgetPlusieursCreeUserAssd(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# elif self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : -# from InterfaceQT4.monWidgetPlusieursBase import MonWidgetPlusieursBase -# widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# else : -# from InterfaceQT4.monWidgetPlusieursPlie import MonWidgetPlusieursPlie -# widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) -# -# self.widget=widget # return widget @@ -340,12 +142,6 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): """ Retourne les valeurs min et max de la definition de object """ return self.object.getMinMax() - def getMultiplicite(self): - """ A preciser. - Retourne la multiplicite des valeurs affectees a l'objet - represente par l'item. Pour le moment retourne invariablement 1. - """ - return 1 def getIntervalle(self): """