From 3ec044db8d078c711afaabf2667fa2776731ccc5 Mon Sep 17 00:00:00 2001 From: PASCALE NOYRET Date: Thu, 10 Feb 2022 15:44:20 +0100 Subject: [PATCH] afficheInfos afficheAlerte --- Ihm/I_MCFACT.py | 2 +- InterfaceSsIhm/editorSsIhm.py | 18 ++++++++++-------- InterfaceSsIhm/readercata.py | 8 ++++---- InterfaceWeb/browser.py | 20 +++++++++++++------- InterfaceWeb/editor.py | 14 +++++++++++++- 5 files changed, 41 insertions(+), 21 deletions(-) diff --git a/Ihm/I_MCFACT.py b/Ihm/I_MCFACT.py index 334d4815..1e656bc3 100644 --- a/Ihm/I_MCFACT.py +++ b/Ihm/I_MCFACT.py @@ -144,7 +144,7 @@ class MCFACT(I_MCCOMPO.MCCOMPO): def getDicoForFancy(self): - print ('MCFACT getDicoForFancy ') + #print ('MCFACT getDicoForFancy ') monDico={} leNom = self.nom diff --git a/InterfaceSsIhm/editorSsIhm.py b/InterfaceSsIhm/editorSsIhm.py index 805863fa..ef307115 100755 --- a/InterfaceSsIhm/editorSsIhm.py +++ b/InterfaceSsIhm/editorSsIhm.py @@ -141,8 +141,9 @@ class JDCEditorSsIhm : self.nouveau=0 if self.fichier is not None: # fichier jdc fourni if jdc==None : - #print ('PNPN : chgt try en if') + print ('PNPN : chgt try en if') try : + #if 1 : self.jdc = self.readFile(self.fichier) except : print ("mauvaise lecture du fichier") @@ -175,7 +176,7 @@ class JDCEditorSsIhm : txt_exception = self.jdc.cr.getMessException() if txt_exception : self.jdc = None - self.informe('pb chargement jdc',txt_exception) + self.afficheAlerte('pb chargement jdc',txt_exception) #else: #comploader.chargerComposants() #self.jdc_item=Objecttreeitem.makeObjecttreeitem( self, "nom", self.jdc ) @@ -207,7 +208,7 @@ class JDCEditorSsIhm : if formatIn != 'xml': pareil,texteNew=self.verifieChecksum(p.text) - if not pareil : self.informe(("fichier modifie"),("Attention! fichier change hors EFICAS"),False) + if not pareil : self.afficheAlerte(("fichier modifie"),("Attention! fichier change hors EFICAS")) p.text=texteNew memeVersion,texteNew=self.verifieVersionCataDuJDC(p.text) if memeVersion == 0 : texteNew=self.traduitCatalogue(texteNew) @@ -218,7 +219,7 @@ class JDCEditorSsIhm : text=p.text else : self.afficheInfos("Type de fichier non reconnu",'red') - self.informe( "Type de fichier non reconnu", + self.afficheAlerte( "Type de fichier non reconnu", "EFICAS ne sait pas ouvrir le type de fichier " + self.appliEficas.formatFichierIn) return None @@ -323,7 +324,7 @@ class JDCEditorSsIhm : else: # Il n'existe pas c'est une erreur self.afficheInfos("Type de fichier non reconnu",'red') - self.informe( "Type de fichier non reconnu", + self.afficheAlerte( "Type de fichier non reconnu", "EFICAS ne sait pas ouvrir le type de fichier " + self.appliEficas.formatFichierIn) return None @@ -463,17 +464,17 @@ class JDCEditorSsIhm : if pourRun : jdc_formate=self.generator.textePourRun if self.code == 'TELEMAC' : jdc_formate=self.generator.texteDico except ValueError as e: - self.informe( "Erreur a la generation",str(e),'red') + self.afficheAlerte( "Erreur a la generation",str(e)) return if not self.generator.cr.estvide(): - self.informe("Erreur a la generation","EFICAS ne sait pas convertir ce JDC",'red') + self.afficheAlerte("Erreur a la generation","EFICAS ne sait pas convertir ce JDC") return "" else: return jdc_formate else: # Il n'existe pas c'est une erreur - self.informe("Format inconnu", self.format + " non reconnu" ) + self.afficheAlerte("Format inconnu", self.format + " non reconnu" ) return "" #------------------------------# @@ -580,6 +581,7 @@ class JDCEditorSsIhm : #--------------------------------------# # methode differenre avec et sans ihm if critique : print ('!!!!!!!!!!!!!!!!!!!!!!!!!!!') + print (' methode obsolete') print (titre) print (txt) if critique : print ('!!!!!!!!!!!!!!!!!!!!!!!!!!!') diff --git a/InterfaceSsIhm/readercata.py b/InterfaceSsIhm/readercata.py index a2ee29fa..dbc3c741 100644 --- a/InterfaceSsIhm/readercata.py +++ b/InterfaceSsIhm/readercata.py @@ -225,7 +225,7 @@ class ReaderCata (ReaderCataCommun): try : import pyxb except : - self.QWParent.informe('environnement', 'please source pyxb environment') + self.QWParent.afficheAlerte('environnement', 'please source pyxb environment') exit() try : nomCataXsd = os.path.splitext(os.path.basename(self.fichierCata))[0] @@ -252,7 +252,7 @@ class ReaderCata (ReaderCataCommun): except : if self.appliEficas.ssIhm == False :print ('______________ poum import cata_genere ') - self.QWParent.informe('XSD driver', 'unable to load xsd driver',critique=False) + self.QWParent.afficheAlerte('XSD driver', 'unable to load xsd driver') modeleMetier = None self.cata.DicoNomTypeDifferentNomElt=dicoEltDif @@ -274,7 +274,7 @@ class ReaderCata (ReaderCataCommun): #QMessageBox.critical( self.QWParent, tr("Import du catalogue"),tr("Impossible d'importer le catalogue ")+ self.fichierCata) #except : # print ("Impossible d'importer le catalogue "+ self.fichierCata) - self.QWParent.informe("Catalogue","Impossible d'importer le catalogue "+ self.fichierCata) + self.QWParent.afficheAlerte("Catalogue","Impossible d'importer le catalogue "+ self.fichierCata) self.appliEficas.close() if self.appliEficas.salome == 0 : sys.exit(1) @@ -348,7 +348,7 @@ class ReaderCata (ReaderCataCommun): o=__import__(nom_cata) return o except Exception as e: - self.QWParent.informe('catalog', 'unable to load catalog file') + self.QWParent.afficheAlerte('catalog', 'unable to load catalog file') import traceback traceback.print_exc() return 0 diff --git a/InterfaceWeb/browser.py b/InterfaceWeb/browser.py index 80606dd9..4040c2fc 100644 --- a/InterfaceWeb/browser.py +++ b/InterfaceWeb/browser.py @@ -260,13 +260,19 @@ class JDCNode(): #traceback.print_stack() - 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) - else : return None + 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) + else : return None + except : + txt=' Impossible d ajouter {} en position {}'.format(name, pos) + self.editor.afficheInfos(txt,'rouge') + return None + #print ('dans appendChild browser.py appel addItem', self.item.addItem) obj = self.item.addItem(name,index) # emet le signal 'add' diff --git a/InterfaceWeb/editor.py b/InterfaceWeb/editor.py index a49e84f2..60b1e99c 100755 --- a/InterfaceWeb/editor.py +++ b/InterfaceWeb/editor.py @@ -47,8 +47,8 @@ class JDCWebEditor(JDCEditorSsIhm): def __init__ (self,appliEficas,fichier = None, jdc= None, connecteur = None ): #------------------------------------------------------------------------ - JDCEditorSsIhm.__init__(self,appliEficas,fichier) self.connecteur=connecteur + JDCEditorSsIhm.__init__(self,appliEficas,fichier) self.dicoIdNode={} comploader.chargerComposants(Ihm='Web') self.tree=None @@ -79,3 +79,15 @@ class JDCWebEditor(JDCEditorSsIhm): #----------------------------------- if self.tree == None : return {} return obj.getDicoForFancy() + + def afficheInfos(self,txt,couleur=None): + #--------------------------------------- + self.connecteur.toWebApp('afficheInfos', txt, couleur) + JDCEditorSsIhm.afficheInfos(self,txt,couleur) + + def afficheAlerte(self,titre,message): + #------------------------------------- + self.connecteur.toWebApp('afficheAlerte', titre , message) + JDCEditorSsIhm.afficheAlerte(self,titre,message) + + -- 2.39.2