From 6b93dd9154f46226a66def0da861602cb791749d Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Thu, 12 Nov 2015 15:05:23 +0100 Subject: [PATCH] avant tag --- Extensions/CreeTraductions/eficas.pro | 4 + InterfaceQT4/browser.py | 1 + InterfaceQT4/composimp.py | 30 +- InterfaceQT4/editor.py | 6 + InterfaceQT4/feuille.py | 6 +- InterfaceQT4/gereIcones.py | 30 +- InterfaceQT4/gereListe.py | 27 +- InterfaceQT4/monBoutonValide.py | 4 +- InterfaceQT4/monSelectVal.py | 2 +- InterfaceQT4/monWidgetCommande.py | 16 +- InterfaceQT4/monWidgetPlusieursInto.py | 5 +- InterfaceQT4/monWidgetPlusieursIntoOrdonne.py | 58 ++-- InterfaceQT4/monWidgetPlusieursPlie.py | 60 ++++ InterfaceQT4/monWidgetSDCOInto.py | 2 +- InterfaceQT4/monWidgetUniqueSDCO.py | 2 +- InterfaceQT4/politiquesValidation.py | 2 - InterfaceQT4/qtEficas.py | 5 +- InterfaceQT4/readercata.py | 1 + Noyau/N_VALIDATOR.py | 3 +- UiQT4/CMakeLists.txt | 1 + UiQT4/desWidgetInformation.ui | 36 +- UiQT4/desWidgetPlusieursIntoOrdonne.ui | 96 ++++-- UiQT4/desWidgetPlusieursPlie.ui | 326 ++++++++++++++++++ UiQT4/eficas_en.ts | 237 ++++++++++++- UiQT4/eficas_fr.ts | 240 +++++++++++-- UiQT4/makefile | 2 +- 26 files changed, 1051 insertions(+), 151 deletions(-) create mode 100644 InterfaceQT4/monWidgetPlusieursPlie.py create mode 100644 UiQT4/desWidgetPlusieursPlie.ui diff --git a/Extensions/CreeTraductions/eficas.pro b/Extensions/CreeTraductions/eficas.pro index 794589f5..0beca07e 100644 --- a/Extensions/CreeTraductions/eficas.pro +++ b/Extensions/CreeTraductions/eficas.pro @@ -149,6 +149,7 @@ SOURCES = ../../convert/autre_parseur.py \ ../../InterfaceQT4/monWidgetPlusieursTuple2.py \ ../../InterfaceQT4/monWidgetPlusieursTuple3.py \ ../../InterfaceQT4/monWidgetPlusieursTuple.py \ + ../../InterfaceQT4/monWidgetPlusieursPlie.py \ ../../InterfaceQT4/monWidgetRadioButton.py \ ../../InterfaceQT4/monWidgetSDCOInto.py \ ../../InterfaceQT4/monWidgetSimpBase.py \ @@ -191,6 +192,8 @@ SOURCES = ../../convert/autre_parseur.py \ ../../Noyau/N_VALIDATOR.py \ ../../Noyau/N_JDC.py \ ../../CarmelCND/PourTraductionCarmel.py \ + ../../Carmel3D/PourTraduction.py \ + ../../monCode/EssaiTraduction.py \ ../../Validation/V_A_CLASSER.py \ ../../Validation/V_AU_MOINS_UN.py \ ../../Validation/V_AU_PLUS_UN.py \ @@ -240,6 +243,7 @@ FORMS= \ ../../UiQT4/desWidgetPlusieursInto.ui \ ../../UiQT4/desWidgetPlusieursIntoOrdonne.ui \ ../../UiQT4/desWidgetPlusieursTuple.ui \ + ../../UiQT4/desWidgetPlusieursPlie.ui \ ../../UiQT4/desWidgetRadioButton.ui \ ../../UiQT4/desWidget4a6RadioButton.ui \ ../../UiQT4/desWidgetSDCOInto.ui \ diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index 7b49f301..9e2f958e 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -186,6 +186,7 @@ class JDCNode(QTreeWidgetItem,GereRegles): self.appliEficas = treeParent.appliEficas self.JESUISOFF=0 self.childrenComplete=[] + from InterfaceQT4 import compocomm from InterfaceQT4 import compoparam diff --git a/InterfaceQT4/composimp.py b/InterfaceQT4/composimp.py index 56f42d84..52fed00e 100644 --- a/InterfaceQT4/composimp.py +++ b/InterfaceQT4/composimp.py @@ -36,11 +36,10 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self) - def getPanelGroupe(self,parentQt,commande): + def getPanelGroupe(self,parentQt,maCommande): maDefinition=self.item.get_definition() monObjet=self.item.object monNom=self.item.nom - maCommande=commande # label informatif if monObjet.isInformation(): @@ -115,7 +114,6 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): from monWidgetSDCOInto import MonWidgetSDCOInto widget=MonWidgetSDCOInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_assd(): - print self.item.get_sd_avant_du_bon_type() if len(self.item.get_sd_avant_du_bon_type()) == 0 : from monWidgetVide import MonWidgetVide widget=MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande) @@ -146,6 +144,7 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): #if maDefinition.into != [] and maDefinition.into != None: # Attention pas fini --> on attend une liste de ASSD avec ordre if self.item.wait_assd() and self.item.is_list_SansOrdreNiDoublon(): + #print 1 from monWidgetPlusieursInto import MonWidgetPlusieursInto widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_assd() : @@ -153,9 +152,11 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): widget=MonWidgetPlusieursASSDIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_tuple() : if self.item.object.definition.type[0].ntuple == 2: + #print 3 from monWidgetPlusieursTuple2 import MonWidgetPlusieursTuple2 widget=MonWidgetPlusieursTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.object.definition.type[0].ntuple == 3 : + #print 4 from monWidgetPlusieursTuple3 import MonWidgetPlusieursTuple3 widget=MonWidgetPlusieursTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : @@ -163,14 +164,27 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): print "Prevenir la maintenance " elif self.item.has_into(): if self.item.is_list_SansOrdreNiDoublon(): + #print 6 from monWidgetPlusieursInto import MonWidgetPlusieursInto widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne - widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande) + #print 7 +# tres vite pour le tag mais devra etre gere dans configuration + if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : + from monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne + widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande) + else : + from monWidgetPlusieursPlie import MonWidgetPlusieursPlie + widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : - from monWidgetPlusieursBase import MonWidgetPlusieursBase - widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) + #print 8 + if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) : + from monWidgetPlusieursBase import MonWidgetPlusieursBase + widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) + else : + from monWidgetPlusieursPlie import MonWidgetPlusieursPlie + widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande) + self.widget=widget return widget @@ -294,6 +308,8 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): else: valeurspossibles = self.get_definition().into + if listeActuelle==[] : return valeurspossibles + #On ne garde que les items valides listevalideitem=[] if type(valeurspossibles) in (types.ListType,types.TupleType) : diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index e8bdbc89..9f3aaa3e 100755 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -61,6 +61,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): self.fenetreCentraleAffichee=None self.dejaDansPlieTout=False self.afficheCommandesPliees = True + self.listeDesListesOuvertes=set() self.appliEficas = appli self.appli = appli #---- attendu par IHM self.vm = vm @@ -77,6 +78,11 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): # ces attributs sont mis a jour par definitCode appelee par newEditor self.code = self.appliEficas.CONFIGURATION.code + # tres vite a cause du tag. doit etre pase dans CONFIGURATION + + self.afficheListesPliees=False + if self.code == "ASTER" : self.afficheListesPliees =True + self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande self.affiche=self.appliEficas.CONFIGURATION.affiche #if self.code in ['MAP','CARMELCND','PSEN'] : self.afficheCommandesPliees=False diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index 780ca95e..11be2646 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -163,7 +163,8 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): #self.editor.affiche_infos(info) def reaffiche(self): - #print "dans reaffiche de feuille", self.nom + print "dans reaffiche de feuille", self.nom + self.parentQt.reaffiche() if self.editor.jdc.aReafficher==True : #print " j appelle le reaffiche de parentQt" self.parentQt.reaffiche() @@ -181,6 +182,9 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): else : if hasattr(self, 'AAfficher'): self.AAfficher.setFocus(7) + def reaffichePourDeplier(self): + self.parentQt.reaffiche() + def rendVisible(self): #print "jjjjjjjjjjjjjjjjjjjjj" pass diff --git a/InterfaceQT4/gereIcones.py b/InterfaceQT4/gereIcones.py index 5952966e..e7a14a0e 100644 --- a/InterfaceQT4/gereIcones.py +++ b/InterfaceQT4/gereIcones.py @@ -78,14 +78,12 @@ class FacultatifOuOptionnel: def setIconePoubelle(self): if not(hasattr(self,"RBPoubelle")):return - icon1 = QtGui.QIcon() - repIcon=os.path.join(os.path.abspath(os.path.dirname(__file__)),'../Editeur/icons') if self.node.item.object.isoblig() : - icon1.addPixmap(QtGui.QPixmap(repIcon+"/deleteRondVide.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.RBPoubelle.setIcon(icon1) + icon=QIcon(self.repIcon+"/deleteRondVide.png") + self.RBPoubelle.setIcon(icon) return - icon1.addPixmap(QtGui.QPixmap(repIcon+"/deleteRond.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) - self.RBPoubelle.show() + icon=QIcon(self.repIcon+"/deleteRond.png") + self.RBPoubelle.setIcon(icon) self.connect(self.RBPoubelle,SIGNAL("clicked()"),self.aDetruire) def setIconesSalome(self): @@ -96,10 +94,18 @@ class FacultatifOuOptionnel: enable_salome_selection = self.editor.salome and \ (('grma' in repr(mctype)) or ('grno' in repr(mctype)) or ('SalomeEntry' in repr(mctype)) or \ (hasattr(mctype, "enable_salome_selection") and mctype.enable_salome_selection)) + if enable_salome_selection: + icon=QIcon(self.repIcon+"/flecheSalome.png") + self.RBSalome.setIcon(icon) self.connect(self.RBSalome,SIGNAL("pressed()"),self.BSalomePressed) - if not(('grma' in repr(mctype)) or ('grno' in repr(mctype))) or not(self.editor.salome): self.BView2D.close() - else : self.connect(self.RBSalomeVue,SIGNAL("clicked()"),self.BView2DPressed) + + if not(('grma' in repr(mctype)) or ('grno' in repr(mctype))) or not(self.editor.salome): + self.BView2D.close() + else : + icon1=QIcon(self.repIcon+"/eye.png") + self.RBSalomeVue.setIcon(icon1) + self.connect(self.RBSalomeVue,SIGNAL("clicked()"),self.BView2DPressed) else: self.RBSalome.close() self.RBSalomeVue.close() @@ -119,6 +125,9 @@ class FacultatifOuOptionnel: + def setIconesGenerales(self): + pass + def setRun(self): if hasattr(self.editor.appliEficas, 'mesScripts'): @@ -136,11 +145,10 @@ class FacultatifOuOptionnel: #print " c est le moment de gerer le passage au suivant" if not(hasattr (self,'RBValide')) : return icon = QIcon() - repIcon=os.path.join(os.path.abspath(os.path.dirname(__file__)),'../Editeur/icons') if self.node.item.object.isvalid() : - icon=QIcon(repIcon+"/ast-green-ball.png") + icon=QIcon(self.repIcon+"/ast-green-ball.png") else : - icon=QIcon(repIcon+"/ast-red-ball.png") + icon=QIcon(self.repIcon+"/ast-red-ball.png") self.RBValide.setIcon(icon) # il faut chercher la bonne fenetre diff --git a/InterfaceQT4/gereListe.py b/InterfaceQT4/gereListe.py index 518b24e6..519adf15 100644 --- a/InterfaceQT4/gereListe.py +++ b/InterfaceQT4/gereListe.py @@ -144,12 +144,9 @@ class GereListe: for i in range (self.NumLineEditEnCours, self.indexDernierLabel): aRemonter=i+1 nomLineEdit=self.nomLine+str(aRemonter) - print nomLineEdit courant=getattr(self,nomLineEdit) valeurARemonter=courant.getValeur() - print valeurARemonter nomLineEdit=self.nomLine+str(i) - print nomLineEdit courant=getattr(self,nomLineEdit) if valeurARemonter != None : courant.setValeur(valeurARemonter) else : courant.clean() @@ -183,7 +180,6 @@ class GereListe: self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) def voisListePushed(self): - print "voisListePushed" texteValeurs="" for v in self.node.item.GetListeValeurs(): texteValeurs+=str(v)+", " @@ -193,7 +189,6 @@ class GereListe: def selectInFile(self): - print "selectInFile" init=QString( self.editor.CONFIGURATION.savedir) fn = QFileDialog.getOpenFileName(self.node.appliEficas, tr("Fichier de donnees"), @@ -208,3 +203,25 @@ class GereListe: MonSelectVal(file=fn,parent=self).show() +# ----------- # +class GerePlie: +# ----------- # + + def gereIconePlier(self): + repIcon=self.node.editor.appliEficas.repIcon + if not (self.editor.afficheListesPliees): + fichier=os.path.join(repIcon, 'empty.png') + icon = QIcon(fichier) + self.BFermeListe.setIcon(icon) + return + fichier=os.path.join(repIcon, 'minusnode.png') + icon = QIcon(fichier) + self.BFermeListe.setIcon(icon) + self.connect(self.BFermeListe,SIGNAL("clicked()"), self.selectWidgetPlie) + + def selectWidgetPlie(self): + self.editor.listeDesListesOuvertes.remove(self.node.item) + self.reaffichePourDeplier() + + + diff --git a/InterfaceQT4/monBoutonValide.py b/InterfaceQT4/monBoutonValide.py index 8a255480..43ea8228 100644 --- a/InterfaceQT4/monBoutonValide.py +++ b/InterfaceQT4/monBoutonValide.py @@ -33,12 +33,12 @@ class MonBoutonValide(QToolButton) : self.parent=parent def mouseDoubleClickEvent(self, event): - print "dans mouseDoubleClickEvent" + #print "dans mouseDoubleClickEvent" strRapport=unicode(self.parent.node.item.object.report()) self.parent.editor._viewText(strRapport, "JDC_RAPPORT") def mousePressEvent(self, event): - print "dans mousePressEvent" + #print "dans mousePressEvent" if self.parent.node.item.object.isvalid() : myToolTip=QString(tr("objet valide")) QToolTip.showText(event.globalPos(),myToolTip ) diff --git a/InterfaceQT4/monSelectVal.py b/InterfaceQT4/monSelectVal.py index dcae0e08..5dd7e0d8 100644 --- a/InterfaceQT4/monSelectVal.py +++ b/InterfaceQT4/monSelectVal.py @@ -99,5 +99,5 @@ class MonSelectVal(DSelVal): liste.append(val2) except : pass - print self.FonctPanel.AjoutNValeur + #print self.FonctPanel.AjoutNValeur self.FonctPanel.AjoutNValeur(liste) diff --git a/InterfaceQT4/monWidgetCommande.py b/InterfaceQT4/monWidgetCommande.py index eb30610f..d21333b0 100644 --- a/InterfaceQT4/monWidgetCommande.py +++ b/InterfaceQT4/monWidgetCommande.py @@ -112,12 +112,16 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): if i != -1 : i=self.listeAffichageWidget.index(f) else :i=self.listeAffichageWidget.index(f) if (i==len(self.listeAffichageWidget) -1) and next and not self.inhibe: - self.listeAffichageWidget[1].setFocus(7) - w=self.focusWidget() - self.inhibe=1 - w.focusPreviousChild() - self.inhibe=0 - return True + try : + self.listeAffichageWidget[1].setFocus(7) + w=self.focusWidget() + self.inhibe=1 + w.focusPreviousChild() + self.inhibe=0 + return True + except : + print self.listeAffichageWidget + print "souci ds focusNextPrevChild" if i==0 and next==False and not self.inhibe: if hasattr(self.editor.fenetreCentraleAffichee,'scrollArea'): self.editor.fenetreCentraleAffichee.scrollArea.ensureWidgetVisible(self.listeAffichageWidget[-1]) diff --git a/InterfaceQT4/monWidgetPlusieursInto.py b/InterfaceQT4/monWidgetPlusieursInto.py index d6d4411b..26a5b480 100644 --- a/InterfaceQT4/monWidgetPlusieursInto.py +++ b/InterfaceQT4/monWidgetPlusieursInto.py @@ -29,9 +29,9 @@ from feuille import Feuille from desWidgetPlusieursInto import Ui_WidgetPlusieursInto from politiquesValidation import PolitiquePlusieurs from qtSaisie import SaisieValeur -#from gereListe import GereListe +from gereListe import GerePlie -class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille): +class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "MonWidgetPlusieursInto", nom, self @@ -40,6 +40,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille): self.listeValeursCourantes=self.node.item.GetListeValeurs() self.parentQt.commandesLayout.insertWidget(-1,self) self.connect(self.CBCheck, SIGNAL('stateChanged(int)'),self.change) + self.gereIconePlier() # try except si la liste des possibles est vide # prevoir qqchose try : diff --git a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py index dc137d76..1f1ce2cd 100644 --- a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py +++ b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py @@ -30,12 +30,13 @@ from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne from politiquesValidation import PolitiquePlusieurs from qtSaisie import SaisieValeur from gereListe import GereListe +from gereListe import GerePlie from gereListe import LECustom from gereListe import MonLabelListeClic -class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe): +class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe,GerePlie): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "MonWidgetPlusieursInto", nom, self @@ -44,6 +45,8 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.ouAjouter=0 Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) GereListe.__init__(self) + self.initCommentaire() + self.gereIconePlier() try : self.maCommande.listeAffichageWidget.append(self.lineEditVal1) except : @@ -79,13 +82,11 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere else: self.listeAAfficher=self.node.item.get_liste_possible([]) else : - print self.node.item.get_liste_possible self.listeAAfficher=self.node.item.get_liste_possible(listeValeursCourantes) if self.listeAAfficher==[] : self.ajoutLE(0) return - print self.listeAAfficher if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400) else : self.setMinimumHeight(len(self.listeAAfficher)*30) @@ -112,6 +113,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere courant.setText(str(val)) courant.setReadOnly(True) index=index+1 + self.prepareListeResultat() def moinsPushed(self): self.ouAjouter=self.ouAjouter-1 @@ -153,28 +155,6 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere setattr(self,nomLE,nouveauLE) - def finCommentaire(self): - commentaire="" - mc = self.node.item.get_definition() - d_aides = { 'TXM' : 'chaines de caracteres', - 'R' : 'reels', - 'I' : 'entiers', - 'C' : 'complexes'} - type = mc.type[0] - if not d_aides.has_key(type) : - if mc.min == mc.max: - commentaire=tr("Entrez ")+str(mc.min)+tr(" valeurs ") - else : - commentaire=tr("Entrez entre ")+str(mc.min)+tr(" et ")+str(mc.max)+tr(" valeurs ") - else : - if mc.min == mc.max: - commentaire=tr("Entrez ")+str(mc.min)+" "+tr(d_aides[type]) - else : - commentaire=tr("Entrez entre ")+str(mc.min)+(" et ")+str(mc.max) +" " +tr(d_aides[type]) - aideval=self.node.item.aide() - com=commentaire + " " + QString.toUtf8(QString(aideval)) - return str(com) - def traiteClicSurLabelListe(self,valeur): if valeur == None : return @@ -246,3 +226,31 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.estVisibleRE.setFocus() self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0) # + def initCommentaire(self): + commentaire="" + mc = self.node.item.get_definition() + d_aides = { 'TXM' : 'chaînes\n', + 'R' : 'réels\n', + 'I' : 'entiers\n', + 'C' : 'complexes\n'} + type = mc.type[0] + if not d_aides.has_key(type) : + if mc.min == mc.max: + commentaire=tr("Entrez ")+str(mc.min)+(" valeurs \n ") + else : + commentaire=tr("Entrez entre ")+str(mc.min)+tr(" et ")+str(mc.max)+tr(" valeurs ") + else : + # Pour la traduction + if type == 'TXM' : aide=tr('chaines \n') + if type == 'R' : aide=tr('reels\n') + if type == 'I' : aide=tr('entiers\n') + if type == 'C' : aide=tr('complexes\n') + if mc.min == mc.max: + commentaire=tr("Entrez ")+str(mc.min)+" "+ aide + else : + commentaire=tr("Entrez entre ")+str(mc.min)+tr(" et ")+str(mc.max)+" "+aide + aideval=self.node.item.aide() + commentaire=commentaire + (aideval) + self.monCommentaireLabel.setText(commentaire) + + diff --git a/InterfaceQT4/monWidgetPlusieursPlie.py b/InterfaceQT4/monWidgetPlusieursPlie.py new file mode 100644 index 00000000..69d1a931 --- /dev/null +++ b/InterfaceQT4/monWidgetPlusieursPlie.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +# Copyright (C) 2007-2013 EDF R&D +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# Modules Python +import string,types,os,sys + +# Modules Eficas +from PyQt4.QtGui import * +from PyQt4.QtCore import * +from Extensions.i18n import tr + +from feuille import Feuille +from desWidgetPlusieursPlie import Ui_WidgetPlusieursPlie + + +class MonWidgetPlusieursPlie (Ui_WidgetPlusieursPlie,Feuille): + + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + #print "MonWidgetPlusieursBase", nom + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) + self.parentQt.commandesLayout.insertWidget(-1,self) + self.AAfficher=self.lineEditVal + self.maCommande.listeAffichageWidget.append(self.lineEditVal) + + repIcon=self.node.editor.appliEficas.repIcon + fichier=os.path.join(repIcon, 'plusnode.png') + icon = QIcon(fichier) + self.BVisuListe.setIcon(icon) + + self.connect(self.BVisuListe,SIGNAL("clicked()"), self.selectWidgetDeplie) + + + def setValeurs(self): + self.listeValeursCourantes=self.node.item.GetListeValeurs() + if self.listeValeursCourantes != [] : self.lineEditVal.setText(str(self.listeValeursCourantes)) + else : self.lineEditVal.setText("") + self.lineEditVal.setReadOnly(True) + return + + def selectWidgetDeplie(self): + self.editor.listeDesListesOuvertes.add(self.node.item) + self.reaffichePourDeplier() + + diff --git a/InterfaceQT4/monWidgetSDCOInto.py b/InterfaceQT4/monWidgetSDCOInto.py index 7b2638ec..7f376a5c 100644 --- a/InterfaceQT4/monWidgetSDCOInto.py +++ b/InterfaceQT4/monWidgetSDCOInto.py @@ -35,7 +35,7 @@ from politiquesValidation import PolitiqueUnique class MonWidgetSDCOInto (Ui_WidgetSDCOInto,Feuille,SaisieSDCO): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - print "MonWidgetSDCOInto init" + #print "MonWidgetSDCOInto init" Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.politique=PolitiqueUnique(self.node,self.editor) self.parentQt.commandesLayout.insertWidget(-1,self) diff --git a/InterfaceQT4/monWidgetUniqueSDCO.py b/InterfaceQT4/monWidgetUniqueSDCO.py index 960ab82d..ce954377 100644 --- a/InterfaceQT4/monWidgetUniqueSDCO.py +++ b/InterfaceQT4/monWidgetUniqueSDCO.py @@ -36,7 +36,7 @@ from qtSaisie import SaisieSDCO class MonWidgetUniqueSDCO (Ui_WidgetUniqueSDCO,Feuille,SaisieSDCO): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - print "dans MonWidgetSDCO" + #print "dans MonWidgetSDCO" Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.politique=PolitiqueUnique(self.node,self.editor) self.parentQt.commandesLayout.insertWidget(-1,self) diff --git a/InterfaceQT4/politiquesValidation.py b/InterfaceQT4/politiquesValidation.py index b7c3a48f..44b05244 100644 --- a/InterfaceQT4/politiquesValidation.py +++ b/InterfaceQT4/politiquesValidation.py @@ -90,7 +90,6 @@ class Validation : else : if string.find(str(valeur),'.') == -1 and string.find(str(valeur),'e') == -1 and string.find(str(valeur),'E'): # aucun '.' n'a été trouvé dans valeur --> on en rajoute un a la fin - print self.is_param(valeur) if (self.is_param(valeur)): return valeur else: @@ -217,7 +216,6 @@ class PolitiquePlusieurs(Validation): commentaire2=self.node.item.info_erreur_liste() # On traite le cas ou la liste n est pas valide pour un pb de cardinalite min,max = self.node.item.GetMinMax() - print len(listecourante) if len(listecourante) + 1 >= max : commentaire="La liste atteint le nombre maximum d'elements : "+ str(max) +" ,ajout refuse" return valide,commentaire,commentaire2,listeRetour diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 99c60c4c..04525604 100644 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -43,7 +43,6 @@ class Appli(Ui_Eficas,QMainWindow): QMainWindow.__init__(self,parent) Ui_Eficas.__init__(self) - version=getEficasVersion() self.VERSION_EFICAS="Eficas QT4 "+version self.salome=salome @@ -80,6 +79,10 @@ class Appli(Ui_Eficas,QMainWindow): self.setupUi(self) + icon = QIcon(self.repIcon+"/parametres.png") + self.actionParametres.setIcon(icon) + + self.myQtab.removeTab(0) self.blEntete= QBoxLayout(0,self.frameEntete) self.blEntete.insertWidget(0,self.toolBar) diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index 62f418e6..721b1d78 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -288,6 +288,7 @@ class READERCATA: #qApp.mainWidget().setCaption(lab) else: raise EficasException() + def traite_clefs_documentaires(self): try: diff --git a/Noyau/N_VALIDATOR.py b/Noyau/N_VALIDATOR.py index 35f8bea2..48f3c379 100644 --- a/Noyau/N_VALIDATOR.py +++ b/Noyau/N_VALIDATOR.py @@ -672,7 +672,7 @@ class NoRepeat(ListVal): self.cata_info = "" def info(self): - return _(u": pas de présence de doublon dans la liste") + return _(u"Pas de doublon dans la liste") def info_erreur_liste(self): return _(u"Les doublons ne sont pas permis") @@ -1037,6 +1037,7 @@ class AndVal(Valid): return chaine def info_erreur_liste(self): + chaine="" a = 1 for v in self.validators: if v.info_erreur_liste() != " ": diff --git a/UiQT4/CMakeLists.txt b/UiQT4/CMakeLists.txt index aec7f34c..a6c1dff7 100644 --- a/UiQT4/CMakeLists.txt +++ b/UiQT4/CMakeLists.txt @@ -61,6 +61,7 @@ eficas_compile_ui ( desWidgetPlusieursBase.ui ) eficas_compile_ui ( desWidgetPlusieursInto.ui ) eficas_compile_ui ( desWidgetPlusieursIntoOrdonne.ui ) eficas_compile_ui ( desWidgetPlusieursTuple.ui ) +eficas_compile_ui ( desWidgetPlusieursPlie.ui ) eficas_compile_ui ( desWidgetRadioButton.ui ) eficas_compile_ui ( desWidget4a6RadioButton.ui ) eficas_compile_ui ( desWidgetSDCOInto.ui ) diff --git a/UiQT4/desWidgetInformation.ui b/UiQT4/desWidgetInformation.ui index ed4f2574..25e2933f 100644 --- a/UiQT4/desWidgetInformation.ui +++ b/UiQT4/desWidgetInformation.ui @@ -6,12 +6,12 @@ 0 0 - 941 - 41 + 837 + 44 - + 0 0 @@ -25,7 +25,7 @@ Form - + 0 @@ -33,24 +33,14 @@ 0 - 2 + 1 0 - 2 + 1 - - - - 0 - - - QLayout::SetFixedSize - - - @@ -61,8 +51,8 @@ - 21 - 20 + 38 + 17 @@ -70,7 +60,7 @@ - + 1 0 @@ -83,12 +73,12 @@ - 805 + 16777215 16777215 - background:rgb(255,245,215); + background:rgb(255,255,235); border:0px; @@ -100,8 +90,8 @@ border:0px; - 288 - 20 + 13 + 17 diff --git a/UiQT4/desWidgetPlusieursIntoOrdonne.ui b/UiQT4/desWidgetPlusieursIntoOrdonne.ui index a5b63dfa..0d609705 100644 --- a/UiQT4/desWidgetPlusieursIntoOrdonne.ui +++ b/UiQT4/desWidgetPlusieursIntoOrdonne.ui @@ -11,7 +11,7 @@ - + 0 0 @@ -19,7 +19,7 @@ 0 - 60 + 0 @@ -33,13 +33,13 @@ 0 - 1 + 2 0 - 1 + 2 @@ -55,20 +55,39 @@ QLayout::SetFixedSize - - - Qt::Horizontal - - - QSizePolicy::Fixed + + + + 0 + 0 + - + 21 - 20 + 25 - + + permet de gérer la liste + + + border:0px + + + ... + + + + ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png + + + + 25 + 25 + + + @@ -165,16 +184,41 @@ - - - - 0 - 0 - + + + QFrame::NoFrame - - TextLabel + + QFrame::Plain + + + true + + + + 0 + 0 + 300 + 187 + + + + + + + + 0 + 0 + + + + TextLabel + + + + + @@ -193,6 +237,9 @@ QFrame::Box + + QFrame::Plain + 1 @@ -208,7 +255,7 @@ 0 0 266 - 249 + 247 @@ -278,6 +325,9 @@ QFrame::Box + + QFrame::Plain + 1 @@ -293,7 +343,7 @@ 0 0 261 - 204 + 202 diff --git a/UiQT4/desWidgetPlusieursPlie.ui b/UiQT4/desWidgetPlusieursPlie.ui new file mode 100644 index 00000000..efa53943 --- /dev/null +++ b/UiQT4/desWidgetPlusieursPlie.ui @@ -0,0 +1,326 @@ + + + WidgetPlusieursPlie + + + + 0 + 0 + 1095 + 62 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Form + + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + + + + + 0 + + + + + + 0 + 0 + + + + + 21 + 25 + + + + permet de gérer la liste + + + border:0px + + + ... + + + + ../Editeur/icons/plusnode.png../Editeur/icons/plusnode.png + + + + 25 + 25 + + + + + + + + + 21 + 25 + + + + + 21 + 25 + + + + Affiche le rapport de validité du mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png + + + + 25 + 25 + + + + + + + + + + Qt::Vertical + + + + 20 + 5 + + + + + + + + + + + 0 + 0 + + + + + 300 + 25 + + + + + 178 + 16777215 + + + + QFrame::NoFrame + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + + + + + 1 + 0 + + + + + 0 + 25 + + + + + 805 + 16777215 + + + + background:rgb(255,255,235); +border:0px; + + + + + + + Qt::Horizontal + + + QSizePolicy::MinimumExpanding + + + + 71 + 20 + + + + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 21 + 25 + + + + + 21 + 25 + + + + Détruit le mot-clef + + + border : 0px + + + ... + + + + ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png + + + + 21 + 25 + + + + + + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 5 + + + + + + + + + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+ + MonLabelClic + QLabel +
monLabelClic.h
+
+
+ + lineEditVal + RBPoubelle + RBValide + + + +
diff --git a/UiQT4/eficas_en.ts b/UiQT4/eficas_en.ts index e008afa0..0a4e91d5 100644 --- a/UiQT4/eficas_en.ts +++ b/UiQT4/eficas_en.ts @@ -943,22 +943,22 @@ Le fichier associe n'est pas defini &Ok - + Entrez enter - + valeurs values - + Entrez entre enter between - + et and @@ -1387,7 +1387,7 @@ Le fichier associe n'est pas defini - + n'est pas un index valide pour append_brother is not correct - no possible "append_brother" @@ -1740,7 +1740,7 @@ Le fichier associe n'est pas defini Accquisition Groupe Maille - acquier mesh groups + acquier mesh groups @@ -1828,7 +1828,7 @@ Le fichier associe n'est pas defini SETTINGS - + RepCarmel Carmel_Directory @@ -1878,27 +1878,27 @@ Le fichier associe n'est pas defini select - + nb min de valeurs : minimal number of values : - + nb max de valeurs atteint maximum number of values - + TraduitV10V11 - + TraduitV11V12 - + Sauve Format Ligne save file in line format @@ -2285,22 +2285,22 @@ Le fichier associe n'est pas defini header does not match with matrix - + le mot clef keyword - + doit etre insere avant has to be inserted before - + insertion impossible unable to insert keyword - + doit etre insere apres has to be inserted after @@ -2324,6 +2324,176 @@ Le fichier associe n'est pas defini pas de regle de construction pour ce jeu de commandes No specific rules for building this dataset + + + Gestion Maillage + Mesh Menu + + + + Acquiert groupe mailles + Read elements mesh + + + + Acquisition Groupe Maille + Read elements mesh + + + + VERSION + VERSION_EN + + + + NUM + NUMBER + + + + FILETYPE + FILETYPE + + + + PARAMETERS + Parametres + + + + Fichier_maillage + FichierMaillage + + + + Echelle_du_maillage + MeshScale + + + + Formulation + Fomulation + + + + Timeproblem + TimeProblem + + + + spectral + EssaiSpectral + + + + Basis + Basis + + + + Fourier + Fourier + + + + Ordre + Ordre + + + + FREQUENCY + Frequency + + + + minimisation + Minimisation + + + + no + no + + + + yes + yes + + + + nb_procs_para + NbProcs + + + + POLYMER + Polymer_en_Anglais + + + + MODEL_DATABASE + MoDEL_DATa_Anglais + + + + Stabilise + Srabilise_Anglais + + + + Non Stabilise + Non Stabilise anglais + + + + Local + local_anglais + + + + ESSAI_OPTION + essai_option_anglais + + + + MATERIEL + mater_anglais + + + + Cable + cable_anglais + + + + Peinture + peinture_anglais + + + + Tuyauterie + tuyau_anglais + + + + Materiau_De_Cable + mat_cable_anglais + + + + PE + pe_anglais + + + + EPDM + epdm_anglais + + + + Modele + modele_anglais + ChoixCode @@ -2792,7 +2962,7 @@ p, li { white-space: pre-wrap; } Save run - + Run run @@ -3456,6 +3626,39 @@ p, li { white-space: pre-wrap; } + + WidgetPlusieursPlie + + + Form + + + + + Affiche le rapport de validité du mot-clef + Display validity report for the keyword + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + manage list + + + + Détruit le mot-clef + Delete the keyword + + WidgetPlusieursTuple diff --git a/UiQT4/eficas_fr.ts b/UiQT4/eficas_fr.ts index a0fcea24..71b2974d 100644 --- a/UiQT4/eficas_fr.ts +++ b/UiQT4/eficas_fr.ts @@ -779,7 +779,7 @@ Le fichier associe n'est pas defini - + n'est pas un index valide pour append_brother @@ -1195,17 +1195,17 @@ Le fichier associe n'est pas defini - + Entrez - + Entrez entre - + et @@ -1309,7 +1309,7 @@ Le fichier associe n'est pas defini - + valeurs @@ -1433,11 +1433,6 @@ Le fichier associe n'est pas defini Acquiert Groupe Maille - - - Accquisition Groupe Maille - - Specificites Maille @@ -1769,7 +1764,7 @@ Le fichier associe n'est pas defini - + RepCarmel @@ -1819,7 +1814,7 @@ Le fichier associe n'est pas defini - + Sauve Format Ligne @@ -1899,22 +1894,22 @@ Le fichier associe n'est pas defini - + nb min de valeurs : - + nb max de valeurs atteint - + TraduitV10V11 - + TraduitV11V12 @@ -2276,22 +2271,22 @@ Le fichier associe n'est pas defini - + le mot clef - + doit etre insere avant - + insertion impossible - + doit etre insere apres @@ -2320,6 +2315,176 @@ Le fichier associe n'est pas defini pas de regle de construction pour ce jeu de commandes + + + Gestion Maillage + + + + + Acquiert groupe mailles + + + + + Acquisition Groupe Maille + + + + + VERSION + + + + + NUM + + + + + FILETYPE + + + + + PARAMETERS + + + + + Fichier_maillage + + + + + Echelle_du_maillage + + + + + Formulation + + + + + Timeproblem + + + + + spectral + + + + + Basis + + + + + Fourier + + + + + Ordre + + + + + FREQUENCY + + + + + minimisation + + + + + no + + + + + yes + + + + + nb_procs_para + + + + + POLYMER + + + + + MODEL_DATABASE + + + + + Stabilise + + + + + Non Stabilise + + + + + Local + + + + + ESSAI_OPTION + + + + + MATERIEL + + + + + Cable + + + + + Peinture + + + + + Tuyauterie + + + + + Materiau_De_Cable + + + + + PE + + + + + EPDM + + + + + Modele + + ChoixCode @@ -2788,7 +2953,7 @@ p, li { white-space: pre-wrap; } - + Run @@ -3437,6 +3602,39 @@ p, li { white-space: pre-wrap; } + + WidgetPlusieursPlie + + + Form + + + + + Affiche le rapport de validité du mot-clef + + + + + ... + + + + + <html><head/><body><p>aaa</p><p>dqsklmdqm</p></body></html> + + + + + permet de gérer la liste + + + + + Détruit le mot-clef + + + WidgetPlusieursTuple diff --git a/UiQT4/makefile b/UiQT4/makefile index 7dd76fa4..e22224e4 100644 --- a/UiQT4/makefile +++ b/UiQT4/makefile @@ -13,7 +13,7 @@ PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCo desWidgetPlusieursIntoOrdonne.py desWidgetPlusieursTuple.py desWidgetRadioButton.py \ desWidget4a6RadioButton.py desWidgetSimpBase.py desWidgetSDCOInto.py desWidgetSimpBool.py \ desWidgetSimpComplexe.py desWidgetSimpFichier.py desWidgetSimpTxt.py desWidgetTuple2.py \ - desWidgetTuple3.py desWidgetVide.py desWidgetUniqueSDCO.py + desWidgetTuple3.py desWidgetVide.py desWidgetUniqueSDCO.py desWidgetPlusieursPlie.py -- 2.39.2