From c0a182c9cc80eb5f67659bc7bcf96d684891a0cd Mon Sep 17 00:00:00 2001 From: PASCALE NOYRET Date: Tue, 15 Feb 2022 16:58:23 +0100 Subject: [PATCH] debug des ajout/sup de fact en liste + merge branche web_fancy --- Editeur/Objecttreeitem.py | 15 ++++++++++++--- Ihm/I_MCLIST.py | 4 +--- InterfaceSsIhm/eficas_go.py | 24 ++++++++++++++++++++++++ InterfaceWeb/browser.py | 13 ++++++++++--- InterfaceWeb/compomclist.py | 5 +++-- 5 files changed, 50 insertions(+), 11 deletions(-) diff --git a/Editeur/Objecttreeitem.py b/Editeur/Objecttreeitem.py index c69cbabb..749327da 100644 --- a/Editeur/Objecttreeitem.py +++ b/Editeur/Objecttreeitem.py @@ -145,7 +145,11 @@ class Delegate(object): class ObjectTreeItem(TreeItem,Delegate): def __init__(self, appliEficas, labeltext, object, setFunction=None): - #print (object,'__init__ ObjectTreeItem',labeltext,) + #print (object,'__init__ ObjectTreeItem',labeltext,setFunction) + #if object.nature == 'MCList' or object.nature == 'MCFact' : + # print ('object.nature', object.nature) + # import traceback + # traceback.print_stack() self.labeltext = labeltext self.appliEficas = appliEficas # Attention appliEficas n est pas appliEficas c est le JDCEditor @@ -169,15 +173,19 @@ class ObjectTreeItem(TreeItem,Delegate): self.idUnique=uuid1().hex if self._object.nature == 'MCList' and len(self._object.data) == 1 : - self._object.data[0].idUnique=self.idUnique + #print ('cas d un mclist de longueur1') + #self._object.data[0].idUnique=self.idUnique if hasattr (self._object.data[0],'idUnique') : self._object.data[0].remplaceId = self._object.data[0].idUnique else : self._object.data[0].remplaceId = None + self._object.data[0].idUnique=uuid1().hex + if hasattr (self.appliEficas,'dicoIdNode') : self.appliEficas.dicoIdNode[self._object.data[0].idUnique]=self + self.idUnique=0 if hasattr (self._object,'idUnique') : self._object.remplaceId = self._object.idUnique else : self._object.remplaceId = None self._object.idUnique=self.idUnique - if hasattr (self.appliEficas,'dicoIdNode') : self.appliEficas.dicoIdNode[self.idUnique]=self + if hasattr (self.appliEficas,'dicoIdNode') and self.idUnique : self.appliEficas.dicoIdNode[self.idUnique]=self def init(self): return @@ -507,6 +515,7 @@ class SequenceTreeItem(ObjectTreeItem): return 0 def getSubList(self): + print ('auriouuzeeeeeeeeeeeeeeeeeeeeeeeeee') isublist=iter(self.sublist) liste=self._object.data iliste=iter(liste) diff --git a/Ihm/I_MCLIST.py b/Ihm/I_MCLIST.py index 2ed00171..7d36b474 100644 --- a/Ihm/I_MCLIST.py +++ b/Ihm/I_MCLIST.py @@ -71,11 +71,9 @@ class MCList: return listeDict def getDicoForFancy(self): - #print ('MCList getDicoForFancy pour ', self) listeDict=[] nbFactDejaLa=len(self.data) for i in self.data: - #print ('traitement de ', i) dico = i.getDicoForFancy() if nbFactDejaLa > i.definition.min : dico['statut']='f' if nbFactDejaLa < i.definition.max-1 : dico['repetable'] = 1 @@ -118,7 +116,7 @@ class MCList: if not self.ajoutPossible(): self.jdc.editor.afficheAlerte(tr("Erreur"), - tr("L'objet %s ne peut pas etre ajoute", obj.nom)) + tr("L'objet {} ne peut pas etre ajoute").format(obj.nom)) return None if self.nom != obj.nom: diff --git a/InterfaceSsIhm/eficas_go.py b/InterfaceSsIhm/eficas_go.py index c3301566..d8601300 100755 --- a/InterfaceSsIhm/eficas_go.py +++ b/InterfaceSsIhm/eficas_go.py @@ -43,6 +43,30 @@ if sys.version_info[0] < 3: print("Must be using Python 3") sys.exit() +def lanceEficasQt6(code=None, multi=False, langue='en', labelCode=None): +#------------------------------------------------------------------- + """ + Lance l'appli EFICAS avec Ihm + """ + try : + from PyQt6.QtWidgets import QApplication + except : + print('Please, set qt environment') + return + + from Editeur import session + options = session.parse(sys.argv) + if options.code != None : code=options.code + + from InterfaceQT4.editorSsIhm import Appli + app = QApplication(sys.argv) + + Eficas=Appli(code=code,salome=0,multi=multi,langue=langue,labelCode=labelCode) + Eficas.show() + + res=app.exec_() + sys.exit(res) + def lanceEficas(code=None, multi=False, langue='en', labelCode=None): #------------------------------------------------------------------- """ diff --git a/InterfaceWeb/browser.py b/InterfaceWeb/browser.py index 4040c2fc..c20a06d2 100644 --- a/InterfaceWeb/browser.py +++ b/InterfaceWeb/browser.py @@ -164,8 +164,6 @@ class JDCNode(): print ('onSupp suppression multiple non valeur') return mcSupprime= suppression[0] - print (mcSupprime.__class__) - print (mcSupprime.nature) if mcSupprime.nature == 'MCBLOC' : liste=[] listeMC=mcSupprime.getAllChildInBloc() @@ -296,7 +294,16 @@ class JDCNode(): """ Methode externe pour la destruction de l'objet associe au noeud """ - #print ('browser :_appel de delete _______', self) + print ('browser :_appel de delete _______', self, self.vraiParent, self.item.nature) + + if self.item.nature=='MCFACT' : + if len(self.vraiParent.item._object) == 1 : + print ('je passe la') + treeParent=self.vraiParent.treeParent + ret,commentaire=self.vraiParent.treeParent.item.suppItem(self.vraiParent.item) + if ret!=0 : treeParent.buildChildren() + return (ret,commentaire) + ret,commentaire=self.vraiParent.item.suppItem(self.item) if ret!=0 : self.treeParent.buildChildren() return (ret,commentaire) diff --git a/InterfaceWeb/compomclist.py b/InterfaceWeb/compomclist.py index 6066f87a..b7b96a61 100644 --- a/InterfaceWeb/compomclist.py +++ b/InterfaceWeb/compomclist.py @@ -98,7 +98,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): def onAdd(self,ajout): #---------------------- debug=0 - print ('on add de compomclist', 'ajout', ajout, ' dans ', self.item.nom, self.item, self) + if debug : print (' ***************** on add de compomclist', 'ajout', ajout, ' dans ', self.item.nom, self.item, self) if debug : print ('on add de compomclist', '______ ajout', ajout, ' dans ', self.item.nom, self.item, self) if debug : print ('nature de l ajout', ajout[0].nature) @@ -124,7 +124,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): posDansSelf +=1 if not trouve : print ('souci au add *************************') if debug : print ('posDansSelf', posDansSelf) - if debug : print (self.children[posDansSelf].item.getDicoForFancy) + if debug : print (self.children[posDansSelf].item.getDicoForFancy()) laListe=(self.children[posDansSelf].item.getDicoForFancy(),) @@ -259,6 +259,7 @@ class MCListTreeItem(Objecttreeitem.SequenceTreeItem,compofact.FACTTreeItem): if self.object.suppEntite(obj): if len(self._object) == 1: self.updateDelegate() + if len(self._object) == 1: print ('je change de delegate') message = "Mot-clef " + obj.nom + " supprime" return (1,message) else: -- 2.39.2