From f69bed46fb8e1be3dbb939f3ba24cf7c9d5bec9c Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Mon, 15 Oct 2018 17:29:24 +0200 Subject: [PATCH] modifs pour Telemac --- Editeur/Objecttreeitem.py | 2 +- Ihm/I_MCCOMPO.py | 3 +- Ihm/I_MCFACT.py | 6 +- Ihm/I_MCSIMP.py | 2 +- InterfaceQT4/browser.py | 6 +- InterfaceQT4/editor.py | 47 +-------- InterfaceQT4/editorSsIhm.py | 135 ++++++++++++++++++------- InterfaceQT4/feuille.py | 3 + InterfaceQT4/monWidgetPlusieursBase.py | 14 +-- InterfaceQT4/viewManager.py | 1 - Noyau/N_ETAPE.py | 1 - 11 files changed, 119 insertions(+), 101 deletions(-) diff --git a/Editeur/Objecttreeitem.py b/Editeur/Objecttreeitem.py index 6a2c14c8..7d419ca9 100644 --- a/Editeur/Objecttreeitem.py +++ b/Editeur/Objecttreeitem.py @@ -206,7 +206,7 @@ class ObjectTreeItem(TreeItem,Delegate): - la couleur du texte """ # None --> fonte et couleur par defaut - return self.labeltext,None,None + return tr(self.labeltext),None,None def getNature(self) : """ diff --git a/Ihm/I_MCCOMPO.py b/Ihm/I_MCCOMPO.py index a9976a1c..cf92a936 100644 --- a/Ihm/I_MCCOMPO.py +++ b/Ihm/I_MCCOMPO.py @@ -41,7 +41,7 @@ class MCCOMPO(I_OBJECT.OBJECT): Retourne le label de self utilise pour l'affichage dans l'arbre """ - return self.nom + return tr(self.nom) def getListeMcOrdonnee(self,liste,dico): """ @@ -231,6 +231,7 @@ class MCCOMPO(I_OBJECT.OBJECT): # Appel de la methode qui fait le menage dans les references # sur les concepts produits (verification que les concepts existent # dans le contexte de la commande courante). + objet = name objet.verifExistenceSd() # On verifie que l'ajout d'objet est autorise diff --git a/Ihm/I_MCFACT.py b/Ihm/I_MCFACT.py index 6e30cc1e..b0d49fe9 100644 --- a/Ihm/I_MCFACT.py +++ b/Ihm/I_MCFACT.py @@ -55,7 +55,7 @@ class MCFACT(I_MCCOMPO.MCCOMPO): isole ou d'un MCFACT appartenant a une MCList : utilisee pour l'affichage dans l'arbre """ - objet = self.parent.getChild(self.nom) + objet = self.parent.getChild(self.nom, restreint='oui') # objet peut-etre self ou une MCList qui contient self ... if objet is None or objet is self: return tr("Erreur - mclist inexistante : %s", self.nom) @@ -63,9 +63,9 @@ class MCFACT(I_MCCOMPO.MCCOMPO): try: if len(objet) > 1 : index = objet.getIndex(self)+1 # + 1 a cause de la numerotation qui commence a 0 - return self.nom +'_'+repr(index)+':' + return tr(self.nom) +'_'+repr(index)+':' else: - return self.nom + return tr(self.nom) except: return tr("Erreur - mot cle facteur de nom : %s", self.nom) diff --git a/Ihm/I_MCSIMP.py b/Ihm/I_MCSIMP.py index 0bd9a544..15462a1d 100644 --- a/Ihm/I_MCSIMP.py +++ b/Ihm/I_MCSIMP.py @@ -323,7 +323,7 @@ class MCSIMP(I_OBJECT.OBJECT): self.parent.updateConditionBloc() def setValeur(self,new_valeur,evaluation='oui'): - print ("setValeur Ihm/IMCSIMP ",new_valeur) + #print ("setValeur Ihm/IMCSIMP ",new_valeur) self.initModif() self.valeur = new_valeur self.val = new_valeur diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index d74c201f..a52b2041 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -735,7 +735,8 @@ class JDCNode(QTreeWidgetItem,GereRegles): #print "NODE updateNodeLabel", self.item.getLabelText() labeltext,fonte,couleur = self.item.getLabelText() # PNPN a reflechir - self.setText(0, labeltext) + if item.nom != tr(item.nom) : labeltext = str(tr(item.nom)+" :") + self.setText(0, tr(labeltext)) def updateNodeLabelInBlack(self): if hasattr(self.appliEficas,'noeudColore'): @@ -746,6 +747,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): if hasattr(self.appliEficas,'noeudColore'): self.appliEficas.noeudColore.setForeground(0,Qt.black) self.setForeground(0,Qt.blue) labeltext,fonte,couleur = self.item.getLabelText() + if item.nom != tr(item.nom) : labeltext = str(tr(item.nom)+" :") self.setText(0, labeltext) self.appliEficas.noeudColore=self @@ -930,8 +932,6 @@ class JDCNode(QTreeWidgetItem,GereRegles): def setDeplie(self): - #print "dans setPlieChildren pour", self.item.nom - #print "je mets inhibeExpand a true dans setDeplie" self.tree.inhibeExpand=True self.plie=False self.tree.expandItem(self) diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index a95c1c62..fb0acf82 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -112,7 +112,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): if self.code in ['Adao','ADAO','MAP'] : self.afficheApresInsert=True if self.code in ['TELEMAC',] : self.enteteQTree='premier' else : self.enteteQTree='complet' - if self.code in ['Adao','ADAO','TELEMAC'] : self.affichePlie=True + if self.code in ['Adao','ADAO','TELEMAC','VP'] : self.affichePlie=True else : self.affichePlie=False self.Commandes_Ordre_Catalogue =self.readercata.Commandes_Ordre_Catalogue @@ -420,7 +420,6 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): # si possible on renomme l objet comme le noeud couper if (self.QWParent.edit == "couper"): - #print ('je pass la') if noeudACopier.treeParent.editor != noeudOuColler.treeParent.editor: QMessageBox.critical( self, tr("Deplacement refuse"),tr('Deplacement refuse entre 2 fichiers. Seule la copie est autorisee ')) @@ -521,9 +520,7 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): nodeOuAjouter=self.node_selected[0] if nodeOuAjouter != self.tree.racine : while nodeOuAjouter.treeParent != self.tree.racine: - #print (nodeOuAjouter) nodeOuAjouter=nodeOuAjouter.treeParent - #print (nodeOuAjouter.parent == self.tree.racine) nouveau=nodeOuAjouter.appendBrother(nomEtape) try : self.node_selected[0].setSelected(False) @@ -993,47 +990,6 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): # dans le JDC self.jdc.suppEntite(etape) - #-------------------------------------# - def deleteMC(self,etape,MCFils,listeAvant=()): - #-------------------------------------# - # dans le JDC - ouChercher=etape - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - monMC=ouChercher.getChild(MCFils,restreint="oui") - if monMC != None : ouChercher.suppEntite(monMC) - ouChercher.state='changed' - ouChercher.isValid() - - #-------------------------------------# - def ajoutMC(self,etape,MCFils,valeurs,listeAvant=()): - #-------------------------------------# - # dans le JDC - ouChercher=etape - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - monMC=etape.getChild(ouChercher,restreint="oui") - if monMC== None : monMC= ouChercher.addEntite(MCFils) - monMC.valeur=valeurs - monMC.val=valeurs - monMC.state='changed' - monMC.isValid() - - #----------------------------------------------# - def ajoutMCFact(self,etape,MCFils,listeAvant=()): - #----------------------------------------------# - # dans le JDC - #print ('ajoutMCFact') - ouChercher=etape - #print (ouChercher) - for mot in listeAvant : - ouChercher=ouChercher.getChild(mot,restreint="oui") - #print (mot) - #print (ouChercher) - monMC=etape.getChild(ouChercher,restreint="oui") - if monMC== None : monMC= ouChercher.addEntite(MCFils) - monMC.isValid() - #----------------------------------------- def initSplitterSizes(self, nbWidget=3): @@ -1115,7 +1071,6 @@ class JDCEditor(JDCEditorSsIhm,Ui_baseWidget,QWidget): #----------------------- def getEtapeCourante(self) : #----------------------- - #print (self.tree.selectedItems()) if len(self.tree.selectedItems()) != 1 : return None etape=self.tree.selectedItems()[0].item.object.getEtape() return etape diff --git a/InterfaceQT4/editorSsIhm.py b/InterfaceQT4/editorSsIhm.py index 0e3cb69d..b60a39b8 100755 --- a/InterfaceQT4/editorSsIhm.py +++ b/InterfaceQT4/editorSsIhm.py @@ -169,7 +169,6 @@ class JDCEditorSsIhm : self.jdc.aReafficher=False txt_exception = None if not jdc: -# si on est en XMML ne faut-il pas passer en Accas ? self.jdc.analyse() txt_exception = self.jdc.cr.getMessException() if txt_exception : @@ -223,7 +222,7 @@ class JDCEditorSsIhm : CONTEXT.unsetCurrentStep() - #if elf.appliEficas.maConfiguration + #jdc=self.readercata.cata[0].JdC(procedure=text, jdc=self.readercata.cata.JdC(procedure=text, appli=self, cata=self.readercata.cata, @@ -439,7 +438,6 @@ class JDCEditorSsIhm : def getTextJDC(self,format,pourRun=0,formatLigne="beautifie"): #-----------------------------------------------------------# if self.code == "MAP" and not(format in generator.plugins): format = "MAP" - if format in generator.plugins: # Le generateur existe on l'utilise @@ -647,60 +645,115 @@ class JDCEditorSsIhm : # dans le JDC ouChercher=etape for mot in listeAvant : - ouChercher=ouChercher.get_child(mot,restreint="oui") - monMC=ouChercher.get_child(MCFils,restreint="oui") + ouChercher=ouChercher.getChild(mot,restreint="oui") + monMC=ouChercher.getChild(MCFils,restreint="oui") if monMC != None : ouChercher.suppentite(monMC) ouChercher.state='changed' ouChercher.isvalid() - #-------------------------------------# + #--------------------------------------------------------# def ajoutMC(self,etape,MCFils,valeurs,listeAvant=()): - #-------------------------------------# + #--------------------------------------------------------# # dans le JDC + debug=False + if debug : print ('ajoutMC', etape,MCFils,valeurs,listeAvant) ouChercher=etape + if debug : print (ouChercher) for mot in listeAvant : - ouChercher=ouChercher.get_child(mot,restreint="oui") - monMC=etape.get_child(ouChercher,restreint="oui") - if monMC== None : monMC= ouChercher.addentite(MCFils) + ouChercher=ouChercher.getChild(mot,restreint="oui", debug=1) + monMC=ouChercher.getChild(MCFils,restreint="oui") + if monMC == None : monMC = ouChercher.addEntite(MCFils) monMC.valeur=valeurs monMC.val=valeurs monMC.state='changed' monMC.isvalid() + return 1 + + #--------------------------------------------------------# + def ajoutMCinMCFactUnique(self,etape,MCFils,valeurs,listeAvant=()): + # Attention si +sieursMCFACT + #--------------------------------------------------------# + # dans le JDC + debug=False + if debug : print ('ajoutMC', etape,MCFils,valeurs,listeAvant) + ouChercher=etape + if debug : print (ouChercher) + for mot in listeAvant : + ouChercher=ouChercher.getChild(mot,restreint="oui", debug=1) + # Attention si +sieursMCFACT + ouChercher=ouChercher[0] + if debug : print (ouChercher) + monMC=ouChercher.getChild(MCFils,restreint="oui") + if monMC == None : monMC = ouChercher.addEntite(MCFils) + monMC.valeur=valeurs + monMC.val=valeurs + monMC.state='changed' + monMC.isValid() + return 1 #----------------------------------------------# def ajoutMCFact(self,etape,MCFils,listeAvant=()): #----------------------------------------------# # dans le JDC - print ('ajoutMCFact') ouChercher=etape - print (ouChercher) for mot in listeAvant : - ouChercher=ouChercher.get_child(mot,restreint="oui") - print (mot) - print (ouChercher) - monMC=etape.get_child(ouChercher,restreint="oui") - if monMC== None : monMC= ouChercher.addentite(MCFils) + ouChercher=ouChercher.getChild(mot,restreint="oui") + monMC=etape.getChild(ouChercher,restreint="oui") + if monMC== None : monMC= ouChercher.addEntite(MCFils) monMC.isvalid() + #-----------------------------------------------------------------# + def setValeurMCSimpInEtape(self,etape,listeAvant,valeur): + #-----------------------------------------------------------------# + # pour VP + monObj=etape + for mot in listeAvant : + monObj=monObj.getChild(mot,restreint="oui") + if monObj==None : return False + if monObj == None : return False + if monObj.valeur != valeur : + # PNPN le setValeur fait des bugs --> pourquoi + #monObj.setValeur(valeur) + monObj.valeur=valeur + monObj.isValid() + return True + #-------------------------------------------------# def getValeur(self,nomEtape,MCFils,listeAvant=()): #-------------------------------------------------# # dans le JDC + debug=0 ouChercher=None for e in self.jdc.etapes: if e.nom == nomEtape : ouChercher=e; break if debug : print ('etape trouvee', ouChercher) if ouChercher==None : return None for mot in listeAvant : - ouChercher=ouChercher.get_child(mot,restreint="oui") + ouChercher=ouChercher.getChild(mot,restreint="oui") if debug : print (mot, ouChercher) if ouChercher==None : return None - monMC=ouChercher.get_child(MCFils,restreint="oui") + monMC=ouChercher.getChild(MCFils,restreint="oui") if debug : print ('monMC', monMC) if monMC== None : return None return monMC.valeur + #-------------------------------------------------# + def getMCDsEtape(self,etape,MCFils,listeAvant=()): + #-------------------------------------------------# + # dans le JDC + + if etape==None : return None + ouChercher=etape + debug=0 + for mot in listeAvant : + ouChercher=ouChercher.getChild(mot,restreint="oui") + if debug : print (mot, ouChercher) + if ouChercher==None : return None + monMC=ouChercher.getChild(MCFils,restreint="oui") + if debug : print ('monMC', monMC) + return monMC + #-----------------------------------------------------------# def setValeur(self,nomEtape,MCFils,valeur,listeAvant=()): #--------------------------------------------------------# @@ -711,10 +764,10 @@ class JDCEditorSsIhm : if e.nom == nomEtape : ouChercher=e; break if ouChercher==None : return None for mot in listeAvant : - ouChercher=ouChercher.get_child(mot,restreint="oui") + ouChercher=ouChercher.getChild(mot,restreint="oui") #print (mot, ouChercher) if ouChercher==None : return None - monMC=ouChercher.get_child(MCFils,restreint="oui") + monMC=ouChercher.getChild(MCFils,restreint="oui") monMC.set_valeur(valeur) monMC.isvalid() @@ -730,10 +783,10 @@ class JDCEditorSsIhm : if ouChercher==None : return for mot in listeAvant : - ouChercher=ouChercher.get_child(mot,restreint="oui") + ouChercher=ouChercher.getChild(mot,restreint="oui") if ouChercher==None : return - monMC=ouChercher.get_child(MCFils,restreint="oui") - if monMC== None : monMC= ouChercher.addentite(MCFils) + monMC=ouChercher.getChild(MCFils,restreint="oui") + if monMC== None : monMC= ouChercher.addEntite(MCFils) monMC.definition.into=valeurs from Noyau.N_VALIDATOR import IntoProtocol @@ -750,11 +803,11 @@ class JDCEditorSsIhm : for mot in listeAvant : try : - ouChercher=ouChercher.get_child(mot,restreint="oui") + ouChercher=ouChercher.getChild(mot,restreint="oui") # Le mot clef n est pas la except : return 0 try : - monMC=ouChercher.get_child(MCFils,restreint="oui") + monMC=ouChercher.getChild(MCFils,restreint="oui") # Le mot clef n est pas la except : return 0 if monMC == None : return 0 @@ -791,23 +844,29 @@ class JDCEditorSsIhm : return 1 #------------------------------------------------# - def changeIntoDefMC(self,nomEtape,listeMC,valeurs): + def changeIntoDefMC(self,etape,listeMC,valeurs): #------------------------------------------------# # dans le MDD #definitionEtape=getattr(self.jdc.cata[0],nomEtape) - definitionEtape=getattr(self.jdc.cata,nomEtape) - ouChercher=definitionEtape + #definitionEtape=getattr(self.jdc.cata,nomEtape) + print ( 'changeIntoDefMC ',etape,listeMC,valeurs) + ouChercher=getattr(self.jdc.cata,etape.nom) - if len(listeMC) > 1 : - for mc in listeMC[0:-1]: - mcfact=ouChercher.entites[mc] - ouChercher=mcfact - mcAccas=ouChercher.entites[listeMC[-1]] + #if len(listeMC) > 1 : + # for mc in listeMC[0:-1]: + # mcfact=ouChercher.entites[mc] + # ouChercher=mcfact + #mcAccas=ouChercher.entites[listeMC[-1]] + + for mc in listeMC : + mcAccas=ouChercher.entites[mc] + ouChercher=mcAccas + if ouChercher == None : return 0 if hasattr(mcAccas,'into') : oldValeurs=mcAccas.into else : oldValeurs=None - if oldValeurs==valeurs : return 0 + if oldValeurs==valeurs : return 1 mcAccas.into=valeurs from Noyau.N_VALIDATOR import IntoProtocol mcAccas.intoProto = IntoProtocol("into", into=valeurs, val_min=mcAccas.val_min, val_max=mcAccas.val_max) @@ -902,11 +961,11 @@ class JDCEditorSsIhm : ouChercher = etape for mot in listeMC[:-1] : - ouChercher=ouChercher.get_child(mot,restreint="oui") + ouChercher=ouChercher.getChild(mot,restreint="oui") if ouChercher==None : return MCFils=listeMC[-1] - monMC=ouChercher.get_child(MCFils,restreint="oui") - if monMC== None : monMC= etape.addentite(MCFils) + monMC=ouChercher.getChild(MCFils,restreint="oui") + if monMC== None : monMC= etape.addEntite(MCFils) monMC.definition.into=into monMC.valeur=valeurs diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index d3800d89..bd1c1d68 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -174,6 +174,9 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): #c=str('

')+c+"

" c=str('

')+c+"

" self.label.setToolTip(c) + if self.editor.maConfiguration.differencieSiDefaut : + self.label.setToolTip('defaut : ' + tr(str(self.node.item.object.definition.defaut))) + diff --git a/InterfaceQT4/monWidgetPlusieursBase.py b/InterfaceQT4/monWidgetPlusieursBase.py index 45c7a46c..486ae7d5 100644 --- a/InterfaceQT4/monWidgetPlusieursBase.py +++ b/InterfaceQT4/monWidgetPlusieursBase.py @@ -29,14 +29,14 @@ import types,os,sys from six.moves import range from PyQt5.QtGui import QIcon -from PyQt5.QtWidgets import QApplication, QMessageBox +from PyQt5.QtWidgets import QApplication, QMessageBox, QScrollArea from PyQt5.QtCore import QTimer, QSize, Qt # Modules Eficas from Extensions.i18n import tr from InterfaceQT4.feuille import Feuille -from desWidgetPlusieursBase import Ui_WidgetPlusieursBase +from desWidgetPlusieursBase import Ui_WidgetPlusieursBase from InterfaceQT4.politiquesValidation import PolitiquePlusieurs from InterfaceQT4.qtSaisie import SaisieValeur from InterfaceQT4.gereListe import GereListe @@ -97,6 +97,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.inInit=False # PNPN a completer __ si tuple le type des tuples sinon le tuple self.monCommentaireLabel.setText(self.finCommentaireListe()) + self.scrollArea.leaveEvent = self.leaveEventScrollArea def setValeurs(self): @@ -213,10 +214,9 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) validite,comm,comm2,listeRetour= self.politique.ajoutNTuple(listeComplete) if not validite : - self.editor.afficheInfos(comm2,Qt.red) + self.editor.affiche_infos(texte,Qt.red) return - # on calcule le dernier lineedit rempli avant de changer la valeur if self.objSimp.valeur != None : indexDernierRempli=len(self.objSimp.valeur) else : indexDernierRempli=0 @@ -290,12 +290,14 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.editor.afficheInfos(tr('nb min de valeurs : ')+str( self.monSimpDef.min)) if len(self.listeValeursCourantes) < min and oblige==True: return if len(self.listeValeursCourantes) > max : return - self.node.item.setValeur(self.listeValeursCourantes) + retour=self.node.item.setValeur(self.listeValeursCourantes) if len(self.listeValeursCourantes) == self.monSimpDef.max : self.editor.afficheInfos(tr('nb max de valeurs atteint')) self.setValide() self.reaffiche() - + def leaveEventScrollArea(self,event): + self.changeValeur(changeDePlace=False) + QScrollArea.leaveEvent(self.scrollArea,event) # Avertissement quand on quitte le widget diff --git a/InterfaceQT4/viewManager.py b/InterfaceQT4/viewManager.py index 22de6587..0050a294 100644 --- a/InterfaceQT4/viewManager.py +++ b/InterfaceQT4/viewManager.py @@ -76,7 +76,6 @@ class MyViewManager(object): self.appliEficas.maConfiguration.savedir, extensions) fichier=fichier[0] - if len(fichier) == 0: return None fichier = os.path.abspath(six.text_type(fichier)) ulfile = os.path.abspath(six.text_type(fichier)) self.appliEficas.maConfiguration.savedir=os.path.split(ulfile)[0] diff --git a/Noyau/N_ETAPE.py b/Noyau/N_ETAPE.py index 052bd528..9a777aa6 100644 --- a/Noyau/N_ETAPE.py +++ b/Noyau/N_ETAPE.py @@ -90,7 +90,6 @@ class ETAPE(N_MCCOMPO.MCCOMPO): self.actif = 1 self.makeRegister() self.icmd = None - print ('uuuuuuuuuuuuuuu fin init de ETAPE', self,oper) def makeRegister(self): """ -- 2.39.2