From a8eb15fb010237da35c6ab56a42c17f723c95845 Mon Sep 17 00:00:00 2001 From: PASCALE NOYRET Date: Mon, 18 Mar 2024 11:07:07 +0100 Subject: [PATCH] correction des optionnels (attaches au fils et non au pere) --- Accas/accessor/A_MCCOMPO.py | 21 +++++++-------------- Editeur/editor.py | 3 ++- Editeur/eficas_appli.py | 9 +++++---- InterfaceGUI/Web/browser.py | 5 ++++- InterfaceGUI/Web/web_editor.py | 9 +++++---- 5 files changed, 23 insertions(+), 24 deletions(-) diff --git a/Accas/accessor/A_MCCOMPO.py b/Accas/accessor/A_MCCOMPO.py index 1cd5db82..519c29a4 100644 --- a/Accas/accessor/A_MCCOMPO.py +++ b/Accas/accessor/A_MCCOMPO.py @@ -176,28 +176,24 @@ class MCCOMPO(A_OBJECT.OBJECT): self.dictMCVenantDesBlocs = {} liste, listeRouge, dictToolTipMc = self.calculOptionnel() dictNomsPresents = self.dictMcPresents() - for mc in liste: - self.dictMCVenantDesBlocs[mc] = self + 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") + if obj.nature != "MCBLOC": continue + if debug: print(mc, "est present") (l, lr, d) = obj.calculOptionnelInclutBlocs() - # print ('optionnels', l) + if debug : print ('optionnels', l, lr) liste = liste + l listeRouge = listeRouge + lr - for k in d: - dicToolTipMC[k] = d[k] - for k, v in obj.dictMCVenantDesBlocs.items(): - self.dictMCVenantDesBlocs[k] = v + for k in d: dicToolTipMC[k] = d[k] + for k, v in obj.dictMCVenantDesBlocs.items(): self.dictMCVenantDesBlocs[k] = v if debug: print("ccOptio", self.nom, self.dictMCVenantDesBlocs) if debug: print("fin calculOPtionnel", self.nom, "_____________") return (liste, listeRouge, dictToolTipMc) + def listeMcPresents(self): """ Retourne la liste des noms des mots-cles fils de self presents construite @@ -296,9 +292,6 @@ class MCCOMPO(A_OBJECT.OBJECT): objet.deleteRef() self.mcListe.remove(objet) CONNECTOR.Emit(self, "supp", objet) - print ('iiiiiiiiiii CONNECTOR.Emit MCCOMPO') - import traceback - traceback.print_stack() objet.deleteMcGlobal() objet.updateConditionBloc() objet.supprime() diff --git a/Editeur/editor.py b/Editeur/editor.py index bda2f64f..938c7086 100755 --- a/Editeur/editor.py +++ b/Editeur/editor.py @@ -63,6 +63,7 @@ class Editor: self.liste_simp_reel = [] self.editorId = uuid1().hex self.appliEficas.editorManager.dictEditors[self.editorId]=self + self.include = include self.formatFichierOut = formatOut self.formatFichierIn = formatIn @@ -143,7 +144,7 @@ class Editor: print("mauvais enregistrement dans Salome") raise EficasException(str(e)) else: - if not include: self.jdc = self._newJDC() + if not self.include: self.jdc = self._newJDC() else: self.jdc = self._newJDCInclude() self.nouveau = 1 diff --git a/Editeur/eficas_appli.py b/Editeur/eficas_appli.py index 872c4ec8..86ad76ae 100755 --- a/Editeur/eficas_appli.py +++ b/Editeur/eficas_appli.py @@ -190,7 +190,7 @@ class EficasAppli: self.dictEditorIdChannelIdExternEid[editor.editorId] = {} if sId not in self.dictEditorIdChannelIdExternEid[editor.editorId] : - self.dictEditorIdChannelIdExternEid[editor.editorId][sId] = (externalEditorId,) + self.dictEditorIdChannelIdExternEid[editor.editorId][sId] = [externalEditorId,] else : self.dictEditorIdChannelIdExternEid[editor.editorId][sId].append(externalEditorId) if debug : @@ -385,8 +385,8 @@ class EficasAppli: def propageToWebApp(self, fction, sessionId, externEditorId, *args, **kwargs): #--------------------------------------------------------------------------- #if fction =='propageValide' : - debug=1 - if debug : print ('PNPNPN : WebEficasAppli.toWebApp', fction, *args, **kwargs) + debug=0 + if debug : print ('WebEficasAppli.toWebApp', fction, *args, **kwargs) if self.appWeb == None : return self.appWeb.fromConnecteur(fction, sessionId, externEditorId, *args, **kwargs) @@ -424,7 +424,8 @@ class EficasAppli: for exId in self.dictEditorIdChannelIdExternEid[editorId][channelId] : if debug : print ('exId', exId) if not toAll and exId == emitEditorId and channelId == emitChannelId : continue - print ('on propage pour ', exId ) + if debug : print ('on propage pour ', exId ) + if debug and 'indexId' in args : print (' et pour ', args['indexId']) self.propageToWebApp(fction, channelId, exId, *args, **kwargs) #--------------------------------------------------------------------------- diff --git a/InterfaceGUI/Web/browser.py b/InterfaceGUI/Web/browser.py index b40ea008..96aa1204 100644 --- a/InterfaceGUI/Web/browser.py +++ b/InterfaceGUI/Web/browser.py @@ -315,10 +315,13 @@ class JDCNode(): return (ret,commentaire) def updateOptionnels(self): - #----------------------------------- + #-------------------------- + debug = 0 + if debug : print ('updateOptionnels pour', self.item.nom) if self.item.nature == 'MCList' or self.item.nature == 'JDC' or self.item.nature=='MCSIMP' : return monDictPartiel={} monDictPartiel['infoOptionnels'] = self.item.calculOptionnelInclutBlocs() + if debug : print ('updateOptionnels pour', monDictPartiel) self.appliEficas.propageChange(self.editor.editorId, None, None, True, 'updateNodeInfo',self.getIdUnique(), monDictPartiel) def updateNodeLabel(self): diff --git a/InterfaceGUI/Web/web_editor.py b/InterfaceGUI/Web/web_editor.py index d479e2ed..9b8611c5 100755 --- a/InterfaceGUI/Web/web_editor.py +++ b/InterfaceGUI/Web/web_editor.py @@ -156,16 +156,17 @@ class WebEditor(Editor): nodeId : identifiant unique valeur : valeur saisie dans le formulaire """ - debug = 1 + debug = 0 if debug : print (' changeValeur cId, externEditorId, nodeId, valeur' ,cId, externEditorId, nodeId, valeur) monNode=self.getNodeById(nodeId) - if debug : print ('monNode : ', monNode) if not monNode : return (nodeId, False, 'Node {} non trouve'.format(nodeId)) - if debug : print (' change Valeur', monNode) + if debug : print (' changeValeur', monNode) idRetour, commentaire, validite = monNode.fauxNoeudGraphique.traiteValeurSaisie(valeur) if validite : self.appliEficas.propageChange(self.editorId, cId, externEditorId, False, 'updateNodeInfo', nodeId, monNode.fauxNoeudGraphique.getDicoForUpdateNodeInfo()) - self.appliEficas.propageChange(self.editorId, cId, externEditorId, True, 'updateNodeInfo', nodeId, monNode.fauxNoeudGraphique.treeParent.getDicoForUpdateOptionnels()) + #self.appliEficas.propageChange(self.editorId, cId, externEditorId, True, 'updateNodeInfo', nodeId, monNode.fauxNoeudGraphique.treeParent.getDicoForUpdateOptionnels()) + if debug : print (' changeValeur', monNode.fauxNoeudGraphique.treeParent, monNode.fauxNoeudGraphique.treeParent.item.nom) + monNode.fauxNoeudGraphique.treeParent.updateOptionnels() return (idRetour, commentaire, validite) if not validite : return (idRetour, commentaire, validite) -- 2.39.2