From d7d489abc1fddb2c5cedb9ea4d90a0e23a7088cb Mon Sep 17 00:00:00 2001 From: PASCALE NOYRET Date: Fri, 1 Apr 2022 15:38:01 +0200 Subject: [PATCH] correction bug ajout Fact plus menage --- Editeur/Objecttreeitem.py | 4 ++++ Ihm/I_MCCOMPO.py | 21 ++++++++++++++++----- InterfaceWeb/browser.py | 35 ++++++++++++++++++++++------------- InterfaceWeb/compofact.py | 9 +++++---- InterfaceWeb/compojdc.py | 6 +++--- InterfaceWeb/compomclist.py | 13 ++++++------- InterfaceWeb/compooper.py | 20 +++++++++++++------- Noyau/N_JDC.py | 1 + 8 files changed, 70 insertions(+), 39 deletions(-) diff --git a/Editeur/Objecttreeitem.py b/Editeur/Objecttreeitem.py index b002ceae..ede94af8 100644 --- a/Editeur/Objecttreeitem.py +++ b/Editeur/Objecttreeitem.py @@ -452,6 +452,10 @@ class SequenceTreeItem(ObjectTreeItem): return " " def addItem(self,obj,pos): + print ('je passe dans addItem obosolete pour', self.nom) + print ('je passe dans addItem obosolete pour', self.nom) + print ('je passe dans addItem obosolete pour', self.nom) + print ('Fonction obsolete --> prevenir PN', self.nom) self._object.insert(pos,obj) item = self.makeObjecttreeitem(self.appliEficas, obj.nom + ":", obj) return item diff --git a/Ihm/I_MCCOMPO.py b/Ihm/I_MCCOMPO.py index aa7fe89b..ba175b09 100644 --- a/Ihm/I_MCCOMPO.py +++ b/Ihm/I_MCCOMPO.py @@ -157,20 +157,25 @@ class MCCOMPO(I_OBJECT.OBJECT): return (self.listeMc,self.listeMcRegle,self.dictToolTipMc) def calculOptionnelInclutBlocs(self): + debug=0 + if debug : print ('-------------- calculOptionnelInclutBlocs' , self.nom) self.dictMCVenantDesBlocs={} liste, listeRouge, dictToolTipMc = self.calculOptionnel() dictNomsPresents = self.dictMcPresents() + for mc in liste : self.dictMCVenantDesBlocs[mc]=self for mc in self.listeMcPresents(): obj=dictNomsPresents[mc] if obj.nature!='MCBLOC' : continue + if debug : print (mc , 'est present') (l,lr,d)=obj.calculOptionnelInclutBlocs() + #print ('optionnels', l) 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) + + if debug :print ('ccOptio' , self.nom, self.dictMCVenantDesBlocs) + if debug : print ('fin calculOPtionnel' , self.nom , '_____________') return (liste, listeRouge,dictToolTipMc) @@ -190,14 +195,19 @@ class MCCOMPO(I_OBJECT.OBJECT): Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils Permet de savoir a quelle position il faut ajouter un nouveau mot-cle """ + debug=1 + if debug : print ('getIndexChild pour : ', self.nom) cata_ordonne = self.jdc.cata_ordonne_dico liste_noms_mc_ordonnee = self.getListeMcOrdonneeBrute(self.getGenealogie(),cata_ordonne) liste_noms_mc_presents = self.listeMcPresents() index=0 + if debug : print (liste_noms_mc_ordonnee) + if debug : print (liste_noms_mc_presents) for nom in liste_noms_mc_ordonnee: if nom == nom_fils:break if nom not in liste_noms_mc_presents :continue index=index+1 + if debug : print ('index : ' , index) return index def chercheIndiceDsLeContenu(self,objet) : @@ -279,7 +289,8 @@ class MCCOMPO(I_OBJECT.OBJECT): Ajoute le mot-cle name a la liste des mots-cles de l'objet MCCOMPOSE """ - #print ('addEntite mccompo', name, pos) + debug=0 + if debug : print ('addEntite mccompo', name, pos) self.initModif() if type(name)==bytes or type(name) == str : # on est en mode creation d'un motcle @@ -304,7 +315,7 @@ class MCCOMPO(I_OBJECT.OBJECT): # On cherche s'il existe deja un mot cle de meme nom old_obj = self.getChild(objet.nom,restreint = 'oui') if not old_obj : - # on normalize l'objet + # on normalize l'objet --> Ihm I_MCFACT ou self objet=objet.normalize() # Le mot cle n'existe pas encore. On l'ajoute a la position # demandee (pos) diff --git a/InterfaceWeb/browser.py b/InterfaceWeb/browser.py index 4665aec6..f987ed9e 100644 --- a/InterfaceWeb/browser.py +++ b/InterfaceWeb/browser.py @@ -145,8 +145,8 @@ class JDCNode(): posDansArbre+=c.item.longueurDsArbreAvecConsigne() if not trouve : print ('browser : souci au add *************************') - if debug : print ('posDansSelf', posDansSelf) - if debug : print ('posDansArbre', posDansSelf) + if debug : print ('uuuu posDansSelf', posDansSelf) + if debug : print ('posDansArbre', posDansArbre) if self.children[posDansSelf].item.nature == 'MCBLOC' : laListe=self.children[posDansSelf].item.getDicoForFancy() elif self.children[posDansSelf].item.nature == 'MCList' : laListe=self.children[posDansSelf].item.getDicoForFancy() @@ -199,13 +199,17 @@ class JDCNode(): #------------------------------------------ """ Construit la liste des enfants de self """ """ Se charge de remettre les noeuds Expanded dans le meme etat """ - # print ("*********** buildChildren ",self,self.item, self.item.nom,self.children) - # print ("*********** buildChildren ",self,self.item, self.item.nom) + debug=0 + if debug : print ("*********** buildChildren ",self,self.item, self.item.nom,self.children) + if debug : print ("*********** buildChildren ",self,self.item, self.item.nom) self.children = [] self.childrenItemComplete = [] sublist = self.item._getSubList() + if debug : + print ('sublist : ') + for s in sublist : print (s.nom) ind=0 # si le faux noeud graphique existe deja on ne le recree pas @@ -220,7 +224,7 @@ class JDCNode(): self.childrenItemComplete=self.construitChildrenComplete() - #print ("fin *********** buildChildren ",self,self.item, self.item.nom, self.children) + if debug : print ("fin *********** buildChildren ",self,self.item, self.item.nom, self.children) def construitChildrenComplete(self): @@ -256,14 +260,13 @@ class JDCNode(): 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() + debug=1 + if debug : print ("************** appendChild ",self.item.getLabelText(), pos, name ) - if self.item.nature != 'JDC' : dictMCVenantDesBlocs=self.item.object.dictMCVenantDesBlocs else : dictMCVenantDesBlocs={} + if debug : print ("dictMCVenantDesBlocs" , dictMCVenantDesBlocs) if name in dictMCVenantDesBlocs : # cas d un MC sous un bloc mcPere = self.item.object.dictMCVenantDesBlocs[name] @@ -274,12 +277,15 @@ class JDCNode(): 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 + else : index = self.item.getIndexChild(name) + #else : return None except : txt=' Impossible d ajouter {} en position {}'.format(name, pos) self.editor.afficheInfos(txt,'rouge') return None - obj = mcPere.addEntite(name,pos) + if debug : print ('name : ', name, ' a pour index : ', index) + obj = mcPere.addEntite(name,index) + if debug : print ('mcPere', mcPere.nom, mcPere.mcListe) else : try : if pos == 'first' : index = 0 @@ -288,14 +294,17 @@ class JDCNode(): 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) - else : return None + else : index = self.item.getIndexChild(name) + #else : return None except : txt=' Impossible d ajouter {} en position {}'.format(name, pos) self.editor.afficheInfos(txt,'rouge') return None - obj = self.item.addItem(name,index) # emet le signal 'add' + if debug : print ('name : ', name, ' a pour index : ', index) + obj = self.item.addEntite(name,index) # emet le signal 'add' if not obj : return None + if debug : print ('obj', obj.name, obj.mcListe) self.updateOptionnels() return True #return child.getIdUnique() diff --git a/InterfaceWeb/compofact.py b/InterfaceWeb/compofact.py index 0bffe940..c14b4484 100644 --- a/InterfaceWeb/compofact.py +++ b/InterfaceWeb/compofact.py @@ -34,7 +34,8 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel): """ Methode externe pour la destruction de l'objet associe au noeud """ - print ('******* mcfact :_appel de delete _______', self, self.vraiParent, self.item.nature) + debug = 0 + if debug : print ('******* mcfact :_appel de delete _______', self, self.vraiParent, self.item.nature) if len(self.vraiParent.item._object) == 1 : treeParent=self.vraiParent.treeParent ret,commentaire=self.vraiParent.treeParent.item.suppItem(self.vraiParent.item) @@ -126,9 +127,9 @@ class FACTTreeItem(Objecttreeitem.ObjectTreeItem): self.sublist=sublist return self.sublist - def addItem(self,name,pos): - objet = self.object.addEntite(name,pos) - return objet + #def addItem(self,name,pos): + # objet = self.object.addEntite(name,pos) + # return objet def suppItem(self,item) : """ diff --git a/InterfaceWeb/compojdc.py b/InterfaceWeb/compojdc.py index 1b26b568..2658a10f 100644 --- a/InterfaceWeb/compojdc.py +++ b/InterfaceWeb/compojdc.py @@ -66,9 +66,9 @@ class JDCTreeItem(Objecttreeitem.ObjectTreeItem): return "ast-red-square" - def addItem(self,name,pos): - cmd = self._object.addEntite(name,pos) - return cmd + #def addItem(self,name,pos): + # cmd = self._object.addEntite(name,pos) + # return cmd def suppItem(self,item) : # item = item de l'ETAPE a supprimer du JDC diff --git a/InterfaceWeb/compomclist.py b/InterfaceWeb/compomclist.py index 72bb6649..700a3383 100644 --- a/InterfaceWeb/compomclist.py +++ b/InterfaceWeb/compomclist.py @@ -244,13 +244,12 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem): def getCopieObjet(self): return self._object.data[0].copy() - def addItem(self,obj,pos): - print ("compomclist.addItem",obj,pos) - if len(self._object) <= 1: - return compofact.FACTTreeItem.addItem(self,obj,pos) - - o= self.object.addEntite(obj,pos) - return o + #def addItem(self,obj,pos): + # print ("compomclist.addItem",obj,pos) + # if len(self._object) <= 1: + # return compofact.FACTTreeItem.addItem(self,obj,pos) + # o = self.object.addEntite(obj,pos) + # return o def suppItem(self,item): """ diff --git a/InterfaceWeb/compooper.py b/InterfaceWeb/compooper.py index 2881e529..fe4bb676 100644 --- a/InterfaceWeb/compooper.py +++ b/InterfaceWeb/compooper.py @@ -122,9 +122,9 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): # else: # return "" - def addItem(self,name,pos): - mcent = self._object.addEntite(name,pos) - return mcent + # def addItem(self,name,pos): + # mcent = self._object.addEntite(name,pos) + # return mcent def suppItem(self,item) : @@ -154,11 +154,13 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): """ Reactualise la liste des items fils stockes dans self.sublist """ - if self.isActif(): - liste=self.object.mcListe - else: - liste=[] + debug=0 + if self.isActif(): liste=self.object.mcListe + else: liste=[] + + if debug : print ('getSubList, liste', liste) + if debug : print ('getSubList, sublist', self.sublist) sublist=[None]*len(liste) # suppression des items lies aux objets disparus for item in self.sublist: @@ -171,6 +173,10 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem): # ajout des items lies aux nouveaux objets pos=0 + if debug : + print ('-------------------------') + for obj in liste : print (obj.nom) + print ('-------------------------') for obj in liste: if sublist[pos] is None: # nouvel objet : on cree un nouvel item diff --git a/Noyau/N_JDC.py b/Noyau/N_JDC.py index 4f1e7ba9..8d77cda4 100644 --- a/Noyau/N_JDC.py +++ b/Noyau/N_JDC.py @@ -258,6 +258,7 @@ Causes possibles : except NameError as e: etype, value, tb = sys.exc_info() + print (etype, value,) l = traceback.extract_tb(tb) s = traceback.format_exception_only("Erreur de nom", e)[0][:-1] msg = "erreur de syntaxe, %s ligne %d" % (s, l[-1][1]) -- 2.39.2