From df0e1a1f57e70d3d99dd7fb381845500c3d3c6dd Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Mon, 9 Feb 2015 11:52:27 +0100 Subject: [PATCH] version labels traduits --- Editeur/TroisDPal.py | 5 +- Extensions/CreeTraductions/eficas.pro | 193 +++++------- Extensions/param2.py | 119 +++++--- InterfaceQT4/browser.py | 24 +- InterfaceQT4/compobloc.py | 5 +- InterfaceQT4/compocomm.py | 6 +- InterfaceQT4/compofact.py | 7 +- InterfaceQT4/compomclist.py | 10 +- InterfaceQT4/compooper.py | 10 +- InterfaceQT4/composimp.py | 42 +-- InterfaceQT4/editor.py | 18 +- InterfaceQT4/feuille.py | 31 +- InterfaceQT4/gereIcones.py | 32 +- InterfaceQT4/gereListe.py | 24 +- InterfaceQT4/groupe.py | 5 +- InterfaceQT4/monChoixCommande.py | 7 +- InterfaceQT4/monRecherche.py | 4 +- InterfaceQT4/monWidget4a6RadioButton.py | 5 +- InterfaceQT4/monWidgetBloc.py | 4 +- InterfaceQT4/monWidgetCB.py | 5 +- InterfaceQT4/monWidgetCommande.py | 49 +++- InterfaceQT4/monWidgetFact.py | 9 +- InterfaceQT4/monWidgetFactPlie.py | 4 +- InterfaceQT4/monWidgetOptionnel.py | 11 +- InterfaceQT4/monWidgetPlusieursBase.py | 27 +- InterfaceQT4/monWidgetPlusieursInto.py | 11 +- InterfaceQT4/monWidgetRadioButton.py | 41 ++- InterfaceQT4/monWidgetSimpBase.py | 21 +- InterfaceQT4/monWidgetSimpBool.py | 5 +- InterfaceQT4/monWidgetSimpComplexe.py | 9 +- InterfaceQT4/monWidgetSimpFichier.py | 6 +- InterfaceQT4/monWidgetSimpTxt.py | 7 +- InterfaceQT4/politiquesValidation.py | 5 + InterfaceQT4/qtEficas.py | 64 ++-- InterfaceQT4/qtSaisie.py | 139 +-------- Noyau/N_VALIDATOR.py | 6 +- UiQT4/aideQT.ui | 61 ++-- UiQT4/desWidget4a6RadioButton.ui | 66 ++--- UiQT4/desWidgetCommande.ui | 34 ++- UiQT4/desWidgetCommentaire.ui | 372 ++++++++++++++++++++++++ UiQT4/desWidgetFact.ui | 2 +- UiQT4/desWidgetPlusieursBase.ui | 15 +- UiQT4/desWidgetPlusieursInto.ui | 2 +- UiQT4/desWidgetSimpBase.ui | 6 + UiQT4/desWidgetSimpComplexe.ui | 9 + UiQT4/desWidgetSimpFichier.ui | 13 +- UiQT4/desWidgetSimpTuple.ui | 2 +- UiQT4/desWidgetSimpTxt.ui | 19 ++ UiQT4/desWidgetTuple2.ui | 14 + UiQT4/desWidgetTuple3.ui | 25 ++ generator/generator_CARMELCND.py | 93 +++--- generator/generator_openturns_study.py | 5 +- 52 files changed, 1114 insertions(+), 594 deletions(-) create mode 100644 UiQT4/desWidgetCommentaire.ui diff --git a/Editeur/TroisDPal.py b/Editeur/TroisDPal.py index e819275a..8c329c25 100644 --- a/Editeur/TroisDPal.py +++ b/Editeur/TroisDPal.py @@ -43,5 +43,8 @@ class TroisDPilote: print "Le generateur n'a pas ete trouve" print "Erreur ! Erreur!" return "" + from Extensions.param2 import originalMath + originalMath.toOriginal() self.appli.envoievisu(texte) - + originalMath.toSurcharge() + diff --git a/Extensions/CreeTraductions/eficas.pro b/Extensions/CreeTraductions/eficas.pro index 7fea16ea..bd077461 100644 --- a/Extensions/CreeTraductions/eficas.pro +++ b/Extensions/CreeTraductions/eficas.pro @@ -93,76 +93,62 @@ SOURCES = ../../convert/autre_parseur.py \ ../../Ihm/I_REGLE.py \ ../../Ihm/I_UN_PARMI.py \ ../../Ihm/I_VALIDATOR.py \ - ../../InterfaceQT4/browser.py \ - ../../InterfaceQT4/compobase.py \ - ../../InterfaceQT4/compobloc.py \ - ../../InterfaceQT4/compocommandecomm.py \ - ../../InterfaceQT4/compocomm.py \ - ../../InterfaceQT4/compoerror.py \ - ../../InterfaceQT4/compofact.py \ - ../../InterfaceQT4/compoformule.py \ - ../../InterfaceQT4/compojdc.py \ - ../../InterfaceQT4/compomacro.py \ - ../../InterfaceQT4/compomclist.py \ - ../../InterfaceQT4/componiveau.py \ - ../../InterfaceQT4/componuplet.py \ - ../../InterfaceQT4/compooper.py \ - ../../InterfaceQT4/compoparam.py \ - ../../InterfaceQT4/compoproc.py \ - ../../InterfaceQT4/composimp.py \ - ../../InterfaceQT4/configuration.py \ - ../../InterfaceQT4/editor.py \ - ../../InterfaceQT4/eficas_go.py \ - ../../InterfaceQT4/gereTraduction.py \ - ../../InterfaceQT4/monChoixCata.py \ - ../../InterfaceQT4/monChoixCode.py \ - ../../InterfaceQT4/monChoixMap.py \ - ../../InterfaceQT4/monCommandePanel.py \ - ../../InterfaceQT4/monCommentairePanel.py \ - ../../InterfaceQT4/monFonctionPanel.py \ - ../../InterfaceQT4/monFormulePanel.py \ - ../../InterfaceQT4/monInactifPanel.py \ - ../../InterfaceQT4/monIncludePanel.py \ - ../../InterfaceQT4/monListeParamPanel.py \ - ../../InterfaceQT4/monMacroPanel.py \ - ../../InterfaceQT4/monMatricePanel.py \ - ../../InterfaceQT4/monMCFactPanel.py \ - ../../InterfaceQT4/monMCListAjoutPanel.py \ - ../../InterfaceQT4/monOptions_ASTER.py \ - ../../InterfaceQT4/monOptions_CUVE2DG.py \ - ../../InterfaceQT4/monOptions_MAP.py \ - ../../InterfaceQT4/monOptions_OPENTURNS_STUDY.py \ - ../../InterfaceQT4/monOptions_OPENTURNS_WRAPPER.py \ - ../../InterfaceQT4/monOptionsPdf.py \ - ../../InterfaceQT4/monParamPanel.py \ - ../../InterfaceQT4/monPixmap.py \ - ../../InterfaceQT4/monPlusieursASSDPanel.py \ - ../../InterfaceQT4/monPlusieursBasePanel.py \ - ../../InterfaceQT4/monPlusieursIntoPanel.py \ - ../../InterfaceQT4/monPoursuitePanel.py \ - ../../InterfaceQT4/monRacinePanel.py \ - ../../InterfaceQT4/monRecherche.py \ - ../../InterfaceQT4/monSelectImage.py \ - ../../InterfaceQT4/monSelectVal.py \ - ../../InterfaceQT4/monUniqueASSDPanel.py \ - ../../InterfaceQT4/monUniqueBasePanel.py \ - ../../InterfaceQT4/monUniqueBoolPanel.py \ - ../../InterfaceQT4/monUniqueCompPanel.py \ - ../../InterfaceQT4/monUniqueIntoPanel.py \ - ../../InterfaceQT4/monUniqueSDCOIntoPanel.py \ - ../../InterfaceQT4/monUniqueSDCOPanel.py \ - ../../InterfaceQT4/monVisu.py \ - ../../InterfaceQT4/politiquesValidation.py \ - ../../InterfaceQT4/qtCommun.py \ - ../../InterfaceQT4/qtEficas.py \ - ../../InterfaceQT4/qtSaisie.py \ - ../../InterfaceQT4/readercata.py \ - ../../InterfaceQT4/ssIhm.py \ - ../../InterfaceQT4/typeNode.py \ - ../../InterfaceQT4/utilIcons.py \ - ../../InterfaceQT4/viewManager.py \ - ../../Tools/optparse.py \ - ../../Tools/textwrap.py \ + ../../InterfaceQT4/browser.py \ + ../../InterfaceQT4/compobloc.py \ + ../../InterfaceQT4/compocomm.py \ + ../../InterfaceQT4/compofact.py \ + ../../InterfaceQT4/compoformule.py \ + ../../InterfaceQT4/compojdc.py \ + ../../InterfaceQT4/compomacro.py \ + ../../InterfaceQT4/compomclist.py \ + ../../InterfaceQT4/compooper.py \ + ../../InterfaceQT4/compoparam.py \ + ../../InterfaceQT4/compoproc.py \ + ../../InterfaceQT4/composimp.py \ + ../../InterfaceQT4/configuration.py \ + ../../InterfaceQT4/editor.py \ + ../../InterfaceQT4/eficas_go.py \ + ../../InterfaceQT4/feuille.py \ + ../../InterfaceQT4/gereIcones.py \ + ../../InterfaceQT4/gereListe.py \ + ../../InterfaceQT4/gereTraduction.py \ + ../../InterfaceQT4/getVersion.py \ + ../../InterfaceQT4/groupe.py \ + ../../InterfaceQT4/monBoutonValide.py \ + ../../InterfaceQT4/monChoixCata.py \ + ../../InterfaceQT4/monChoixCommande.py \ + ../../InterfaceQT4/monRecherche.py \ + ../../InterfaceQT4/monViewTexte.py \ + ../../InterfaceQT4/monVisu.py \ + ../../InterfaceQT4/monWidget4a6RadioButton.py \ + ../../InterfaceQT4/monWidgetBloc.py \ + ../../InterfaceQT4/monWidgetCB.py \ + ../../InterfaceQT4/monWidgetCommande.py \ + ../../InterfaceQT4/monWidgetCommentaire.py \ + ../../InterfaceQT4/monWidgetFactPlie.py \ + ../../InterfaceQT4/monWidgetFact.py \ + ../../InterfaceQT4/monWidgetOptionnel.py \ + ../../InterfaceQT4/monWidgetPlusieursBase.py \ + ../../InterfaceQT4/monWidgetPlusieursInto.py \ + ../../InterfaceQT4/monWidgetRadioButton.py \ + ../../InterfaceQT4/monWidgetSimpBase.py \ + ../../InterfaceQT4/monWidgetSimpBool.py \ + ../../InterfaceQT4/monWidgetSimpComplexe.py \ + ../../InterfaceQT4/monWidgetSimpFichier.py \ + ../../InterfaceQT4/monWidgetSimpTuple2.py \ + ../../InterfaceQT4/monWidgetSimpTuple3.py \ + ../../InterfaceQT4/monWidgetSimpTuple.py \ + ../../InterfaceQT4/monWidgetSimpTxt.py \ + ../../InterfaceQT4/MonWidgetSimpTxt.py \ + ../../InterfaceQT4/politiquesValidation.py \ + ../../InterfaceQT4/qtEficas.py \ + ../../InterfaceQT4/qtEficas_with_log.py \ + ../../InterfaceQT4/qtSaisie.py \ + ../../InterfaceQT4/readercata.py \ + ../../InterfaceQT4/ssIhm.py \ + ../../InterfaceQT4/typeNode.py \ + ../../InterfaceQT4/utilIcons.py \ + ../../InterfaceQT4/viewManager.py \ ../../Traducteur/calcG.py \ ../../Traducteur/changeValeur.py \ ../../Traducteur/dictErreurs.py \ @@ -180,55 +166,36 @@ SOURCES = ../../convert/autre_parseur.py \ ../../Traducteur/traduitV9V10.py \ ../../Traducteur/utils.py \ ../../Traducteur/visiteur.py \ - ../../Utilites/appels.py \ - ../../Utilites/developpeur.py \ - ../../Utilites/execute.py \ - ../../Utilites/funcname.py \ - ../../Utilites/ici.py \ - ../../Utilites/message.py \ - ../../Utilites/modification.py \ - ../../Utilites/pause.py \ ../../Validation/V_A_CLASSER.py \ - ../../Noyau/N_VALIDATOR.py + ../../Noyau/N_VALIDATOR.py \ + ../../CarmelCND/PourTraductionCarmel.py -FORMS = ../../UiQT4/aideQT.ui \ +FORMS= ../../UiQT4/aideQT.ui \ + ../../UiQT4/desBaseWidget.ui \ ../../UiQT4/desChoixCata.ui \ - ../../UiQT4/desChoixCode.ui \ - ../../UiQT4/desChoixMap.ui \ - ../../UiQT4/desCommande.ui \ - ../../UiQT4/desCommentaire.ui \ - ../../UiQT4/desError.ui \ - ../../UiQT4/desFormule.ui \ - ../../UiQT4/desImage.ui \ - ../../UiQT4/desInactif.ui \ - ../../UiQT4/desInclude.ui \ - ../../UiQT4/desListeParam.ui \ - ../../UiQT4/desMatrice.ui \ - ../../UiQT4/desMCFact.ui \ - ../../UiQT4/desMCListAjout.ui \ - ../../UiQT4/desParam.ui \ - ../../UiQT4/desPixmap.ui \ - ../../UiQT4/desPlusieursBase.ui \ - ../../UiQT4/desPlusieursInto.ui \ - ../../UiQT4/desPoursuite.ui \ - ../../UiQT4/desRacine.ui \ + ../../UiQT4/desChoixCommandes.ui \ ../../UiQT4/desRecherche.ui \ ../../UiQT4/desSelectVal.ui \ - ../../UiQT4/desUniqueASSD.ui \ - ../../UiQT4/desUniqueBase.ui \ - ../../UiQT4/desUniqueBool.ui \ - ../../UiQT4/desUniqueComp.ui \ - ../../UiQT4/desUniqueInto.ui \ - ../../UiQT4/desUniqueSDCOInto.ui \ - ../../UiQT4/desUniqueSDCO.ui \ ../../UiQT4/desViewTexte.ui \ - ../../UiQT4/desVisu.ui \ + ../../UiQT4/desWidget4a6RadioButton.ui \ + ../../UiQT4/desWidgetBloc.ui \ + ../../UiQT4/desWidgetCB.ui \ + ../../UiQT4/desWidgetCommande.ui \ + ../../UiQT4/desWidgetCommentaire.ui \ + ../../UiQT4/desWidgetFactPlie.ui \ + ../../UiQT4/desWidgetFact.ui \ + ../../UiQT4/desWidgetOptionnel.ui \ + ../../UiQT4/desWidgetPlusieursBase.ui \ + ../../UiQT4/desWidgetPlusieursInto.ui \ + ../../UiQT4/desWidgetRadioButton.ui \ + ../../UiQT4/desWidgetSimpBase.ui \ + ../../UiQT4/desWidgetSimpBool.ui \ + ../../UiQT4/desWidgetSimpComplexe.ui \ + ../../UiQT4/desWidgetSimpFichier.ui \ + ../../UiQT4/desWidgetSimpTuple.ui \ + ../../UiQT4/desWidgetSimpTxt.ui \ + ../../UiQT4/desWidgetTuple2.ui \ + ../../UiQT4/desWidgetTuple3.ui \ ../../UiQT4/myMain.ui \ - ../../UiQT4/OptionsCuve.ui \ - ../../UiQT4/OptionsEditeur.ui \ - ../../UiQT4/OptionsMAP.ui \ - ../../UiQT4/OptionsOT.ui \ - ../../UiQT4/OptionsPdf.ui TRANSLATIONS = ../../UiQT4/eficas_fr.ts ../../UiQT4/eficas_en.ts - diff --git a/Extensions/param2.py b/Extensions/param2.py index 90b74af8..eabdadb7 100644 --- a/Extensions/param2.py +++ b/Extensions/param2.py @@ -180,7 +180,6 @@ class Variable(Formula): def __str__(self): return self._name def __adapt__(self,validator): return validator.adapt(self._value) - def Eval(f): if isinstance(f,Formula): f=f.eval() @@ -191,47 +190,99 @@ def Eval(f): return f -#surcharge de la fonction cos de Numeric pour les parametres -original_ncos=Numeric.cos def cos(f): return Unop('ncos', f) -Unop.opmap['ncos']=lambda x: original_ncos(x) -Numeric.cos=cos - -#surcharge de la fonction sin de Numeric pour les parametres -original_nsin=Numeric.sin def sin(f): return Unop('nsin', f) -Unop.opmap['nsin']=lambda x: original_nsin(x) -Numeric.sin=sin - -#surcharge de la fonction array de Numeric pour les parametres -original_narray=Numeric.array def array(f,*tup,**args): """array de Numeric met en défaut la mécanique des parametres on la supprime dans ce cas. Il faut que la valeur du parametre soit bien définie """ return original_narray(Eval(f),*tup,**args) -Numeric.array=array - -#surcharge de la fonction sin de math pour les parametres -original_sin=math.sin def sin(f): return Unop('sin', f) -Unop.opmap['sin']=lambda x: original_sin(x) -math.sin=sin - -#surcharge de la fonction cos de math pour les parametres -original_cos=math.cos -Unop.opmap['cos']=lambda x: original_cos(x) def cos(f): return Unop('cos', f) -math.cos=cos - -#surcharge de la fonction sqrt de math pour les parametres -original_sqrt=math.sqrt +def ceil(f): return Unop('ceil', f) def sqrt(f): return Unop('sqrt', f) -Unop.opmap['sqrt']=lambda x: original_sqrt(x) -math.sqrt=sqrt -#surcharge de la fonction ceil de math pour les parametres -original_ceil=math.ceil -Unop.opmap['ceil']=lambda x: original_ceil(x) -def ceil(f): return Unop('ceil', f) -math.ceil=ceil +def pi2():return Unop('pi') + +class OriginalMath(object): + _instance = None + def __new__(cls, *args, **kwargs): + if not cls._instance: + cls._instance = super(OriginalMath, cls).__new__( + cls, *args, **kwargs) + + return cls._instance + + def __init__(self): + if hasattr(self,'pi') :return + import math + self.toSurcharge() + + def toSurcharge(self): + self.numeric_ncos=Numeric.cos + self.numeric_nsin=Numeric.sin + self.numeric_narray=Numeric.array + self.sin=math.sin + self.cos=math.cos + self.sqrt=math.sqrt + self.ceil=math.ceil + self.pi=math.pi + + #surcharge de la fonction cos de Numeric pour les parametres + original_ncos=Numeric.cos + Unop.opmap['ncos']=lambda x: original_ncos(x) + Numeric.cos=cos + + #surcharge de la fonction sin de Numeric pour les parametres + original_nsin=Numeric.sin + Unop.opmap['nsin']=lambda x: original_nsin(x) + Numeric.sin=sin + + #surcharge de la fonction array de Numeric pour les parametres + original_narray=Numeric.array + Numeric.array=array + + #surcharge de la fonction sin de math pour les parametres + original_sin=math.sin + Unop.opmap['sin']=lambda x: original_sin(x) + math.sin=sin + + #surcharge de la fonction cos de math pour les parametres + original_cos=math.cos + Unop.opmap['cos']=lambda x: original_cos(x) + math.cos=cos + + #surcharge de la fonction sqrt de math pour les parametres + original_sqrt=math.sqrt + Unop.opmap['sqrt']=lambda x: original_sqrt(x) + math.sqrt=sqrt + + #surcharge de la fonction ceil de math pour les parametres + original_ceil=math.ceil + Unop.opmap['ceil']=lambda x: original_ceil(x) + math.ceil=ceil + + original_pi=math.pi + Unop.opmap['pi']=lambda x: original_pi + pi=Variable('pi',pi2) + math.pi=pi + + def toOriginal(self): + import math + try: + import Numeric + except: + import numpy + Numeric = numpy + + Numeric.cos=originalMath.numeric_ncos + Numeric.sin=originalMath.numeric_nsin + Numeric.array=originalMath.numeric_narray + math.sin=originalMath.sin + math.cos=originalMath.cos + math.sqrt=originalMath.sqrt + math.ceil=originalMath.ceil + math.pi=originalMath.pi + + +originalMath=OriginalMath() diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index 9d49531a..fe5e0681 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -99,14 +99,16 @@ class JDCTree( QTreeWidget ): pass def handleDoubleClickedOnItem(self,item,int): - print "handleDoubleClickedOnItem on ",item - print "handleDoubleClickedOnItem on ",item.fenetre - if item.fenetre == None : - while not (hasattr (item,'getPanel2')) : item=item.treeParent - item.affichePanneau() - self.expandItem(item) - else: - print item.fenetre + #if item.fenetre == None : + # while not (hasattr (item,'getPanel2')) : item=item.treeParent + # item.affichePanneau() + # self.expandItem(item) + #else: + # item.fenetre.rendVisible() + itemParent=item + while not (hasattr (itemParent,'getPanel2')) : itemParent=item.treeParent + itemParent.affichePanneau() + if itemParent!=item: item.fenetre.rendVisible() def choisitPremier(self,name): @@ -178,7 +180,6 @@ class JDCNode(QTreeWidgetItem): """ Construit la liste des enfants de self """ """ Se charge de remettre les noeuds Expanded dans le meme etat """ #print "*********** build_children ",self.item, self.item.GetLabelText() - #print self.childrenComplete listeExpanded=[] for item in self.childrenComplete : @@ -209,7 +210,8 @@ class JDCNode(QTreeWidgetItem): def affichePanneau(self) : - #print "dans affichePanneau" + print "dans affichePanneau", self.item.GetLabelText() + #if self.item.GetLabelText()[0]=='VCUT : ' : print y if self.item.isactif(): panel=self.getPanel2() else: @@ -393,10 +395,10 @@ class JDCNode(QTreeWidgetItem): if recalcule : jdc.recalcule_etat_correlation() from InterfaceQT4 import compojdc # cas ou on detruit dans l arbre sans affichage - if self.treeParent.fenetre== None : return if isinstance(self.treeParent,compojdc.Node) : toselect.affichePanneau() else : + if self.treeParent.fenetre== None : return self.treeParent.fenetre.reaffiche(toselect) def deleteMultiple(self,liste=()): diff --git a/InterfaceQT4/compobloc.py b/InterfaceQT4/compobloc.py index 5ed8201b..96c30c98 100644 --- a/InterfaceQT4/compobloc.py +++ b/InterfaceQT4/compobloc.py @@ -39,14 +39,15 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self) - def getPanelGroupe(self,parentQt): + def getPanelGroupe(self,parentQt,commande): maDefinition=self.item.get_definition() monObjet=self.item.object monNom=self.item.nom + maCommande=commande if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1 else : self.niveau=1 from monWidgetBloc import MonWidgetBloc - widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau) + widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) class BLOCTreeItem(compofact.FACTTreeItem): diff --git a/InterfaceQT4/compocomm.py b/InterfaceQT4/compocomm.py index f86c5696..d3e15102 100644 --- a/InterfaceQT4/compocomm.py +++ b/InterfaceQT4/compocomm.py @@ -30,11 +30,11 @@ from Extensions.eficas_exception import EficasException class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel): - def getPanel( self ): + def getPanel2( self ): """ """ - from monCommentairePanel import MonCommentairePanel - return MonCommentairePanel(self,parent=self.editor) + from monWidgetCommentaire import MonWidgetCommentaire + return MonWidgetCommentaire(self,self.editor,self.item.object) def createPopUpMenu(self): typeNode.PopUpMenuNodePartiel.createPopUpMenu(self) diff --git a/InterfaceQT4/compofact.py b/InterfaceQT4/compofact.py index dbda4218..ad38ea5b 100644 --- a/InterfaceQT4/compofact.py +++ b/InterfaceQT4/compofact.py @@ -36,18 +36,19 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel): from monMCFactPanel import MonMCFactPanel return MonMCFactPanel(self,parent=self.editor) - def getPanelGroupe(self,parentQt): + def getPanelGroupe(self,parentQt,commande): maDefinition=self.item.get_definition() monObjet=self.item.object monNom=self.item.nom + maCommande=commande if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1 else : self.niveau=1 if hasattr(self,'plie') and self.plie==True : from monWidgetFactPlie import MonWidgetFactPlie - widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau) + widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) else: from monWidgetFact import MonWidgetFact - widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau) + widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) return widget diff --git a/InterfaceQT4/compomclist.py b/InterfaceQT4/compomclist.py index 3fe2baf5..cc8c8a8a 100644 --- a/InterfaceQT4/compomclist.py +++ b/InterfaceQT4/compomclist.py @@ -49,22 +49,24 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): def createPopUpMenu(self): typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self) - def getPanelGroupe(self,parentQt): + def getPanelGroupe(self,parentQt,commande): maDefinition=self.item.get_definition() monObjet=self.item.object monNom=self.item.nom + maCommande=commande + print parentQt if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1 else : self.niveau=1 if not (monObjet.isMCList()) : if hasattr(self,'plie') and self.plie==True : from monWidgetFactPlie import MonWidgetFactPlie - widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau) + widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) else: from monWidgetFact import MonWidgetFact - widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau) + widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) else : from monWidgetBloc import MonWidgetBloc - widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau) + widget=MonWidgetBloc(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande) return widget diff --git a/InterfaceQT4/compooper.py b/InterfaceQT4/compooper.py index c2abae39..80f98593 100644 --- a/InterfaceQT4/compooper.py +++ b/InterfaceQT4/compooper.py @@ -36,11 +36,11 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode): def select(self): browser.JDCNode.select(self) - self.treeParent.tree.openPersistentEditor(self,1) - self.monWidgetNom=self.treeParent.tree.itemWidget(self,1) - self.treeParent.tree.connect(self.monWidgetNom,SIGNAL("returnPressed()"), self.nomme) - if self.item.GetIconName() == "ast-red-square" : self.monWidgetNom.setDisabled(True) - else : self.monWidgetNom.setFocus() ;self.monWidgetNom.setDisabled(False) + #self.treeParent.tree.openPersistentEditor(self,1) + #self.monWidgetNom=self.treeParent.tree.itemWidget(self,1) + #self.treeParent.tree.connect(self.monWidgetNom,SIGNAL("returnPressed()"), self.nomme) + #if self.item.GetIconName() == "ast-red-square" : self.monWidgetNom.setDisabled(True) + #else : self.monWidgetNom.setFocus() ;self.monWidgetNom.setDisabled(False) def nomme(self): nom=str(self.monWidgetNom.text()) diff --git a/InterfaceQT4/composimp.py b/InterfaceQT4/composimp.py index 3ab7af47..d72a2498 100644 --- a/InterfaceQT4/composimp.py +++ b/InterfaceQT4/composimp.py @@ -35,7 +35,6 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): """ """ klass = None - # Attention l ordre des if est important if self.item.wait_matrice (): @@ -114,73 +113,81 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self) - def getPanelGroupe(self,parentQt): + def getPanelGroupe(self,parentQt,commande): maDefinition=self.item.get_definition() monObjet=self.item.object monNom=self.item.nom + maCommande=commande # Attention l ordre des if est important # Attention il faut gerer les blocs et les facteurs # a gerer comme dans composimp # Gerer les matrices --> Actuellement pas dans ce type de panneau + #print "____________________________", self.item.wait_tuple() if maDefinition.max == 1 : if maDefinition.into != [] and maDefinition.into != None: # a revoir if len(maDefinition.into) < 4 : from monWidgetRadioButton import MonWidgetRadioButton - widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif len(maDefinition.into) < 7 : from monWidget4a6RadioButton import MonWidget4a6RadioButton - widget=MonWidget4a6RadioButton(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidget4a6RadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : from monWidgetCB import MonWidgetCB - widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_bool() : from monWidgetSimpBool import MonWidgetSimpBool - widget=MonWidgetSimpBool(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetSimpBool(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_fichier(): from monWidgetSimpFichier import MonWidgetSimpFichier - widget=MonWidgetSimpFichier(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetSimpFichier(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_tuple() : # Pas fait - from monWidgetSimpTuple import MonWidgetSimpTuple - widget=MonWidgetSimpTuple(self,maDefinition,monNom,monObjet,parentQt) + if self.item.object.definition.type[0].ntuple == 2: + from monWidgetSimpTuple2 import MonWidgetSimpTuple2 + widget=MonWidgetSimpTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande) + elif self.item.object.definition.type[0].ntuple == 3 : + from monWidgetSimpTuple3 import MonWidgetSimpTuple3 + widget=MonWidgetSimpTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande) + else : + print "Pas fait" elif self.item.wait_complex(): # Pas fait from monWidgetSimpComplexe import MonWidgetSimpComplexe - widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_co(): # Pas fait from monWidgetSimpASSD import MonWidgetSimpASSD - widget=MonWidgetSimpASSD(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetSimpASSD(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_Salome() and self.editor.salome: # Pas fait from monWidgetSimpSalome import MonWidgetSimpSalome - widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_TXM(): # Pas fait from monWidgetSimpTxt import MonWidgetSimpTxt - widget=MonWidgetSimpTxt(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetSimpTxt(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : from monWidgetSimpBase import MonWidgetSimpBase - widget=MonWidgetSimpBase(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetSimpBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : if maDefinition.into != [] and maDefinition.into != None: #Pas encore traité from monWidgetPlusieursInto import MonWidgetPlusieursInto - widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) else : from monWidgetPlusieursBase import MonWidgetPlusieursBase - widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt) + widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande) return widget @@ -355,9 +362,6 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): """ La validation est realisee directement par l'objet """ - print self.object - print item - print self.object.valide_item return self.object.valide_item(item) def valide_liste_partielle(self,item,listecourante): diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 1dcfac5a..dc96afa1 100644 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -162,6 +162,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): if self.jdc: self.jdc.appli = self self.jdc.lang = self.appli.langue + print self.jdc.lang txt_exception = None if not jdc: self.jdc.analyse() @@ -1179,24 +1180,12 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): from acquiertGroupes import getGroupes erreur,self.listeGroupes,self.nomMaillage,self.dicoCoord=getGroupes(self.fichierMED) if erreur != "" : print "a traiter" - #else : - # from monBoutonSalome import MonBoutonSalome - # desBoutonSalome = MonBoutonSalome() - # icon = QIcon() - # icon = QIcon(self.appli.repIcon+"/image240.png") - # desBoutonSalome.pushButton.setIcon(icon) - # desBoutonSalome.setMinimumSize(QtCore.QSize(453, 103)) - - # self.openfile=QFileDialog(self.appli,caption='Fichier Med',filter=extensions) - # self.openfile.layout().addWidget(desBoutonSalome) - # self.connect(desBoutonSalome.pushButton,SIGNAL("clicked()"),self.BoutonSalomePressed) - # self.connect(self.openfile,SIGNAL("fileSelected(QString)"),self.BoutonFileSelected) - # r=self.openfile.exec_() texteComm="COMMENTAIRE(u'Cree - fichier : "+self.fichierMED +" - Nom Maillage : "+self.nomMaillage+"');\nPARAMETRES()\n" texteSources="" texteCond="" texteNoCond="" texteVcut="" + texteZs="" for groupe in self.listeGroupes : if groupe[0:8]=='CURRENT_': texteSources +=groupe[8:]+"=SOURCE(" @@ -1204,7 +1193,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): if groupe[0:5]=='COND_': texteCond +=groupe[5:]+"=CONDUCTEUR();\n" if groupe[0:7]=='NOCOND_': texteNoCond +=groupe[7:]+"=NOCOND();\n" if groupe[0:5]=='VCUT_': texteVcut +='V_'+groupe[5:]+"=VCUT();\n" - texte=texteComm+texteSources+texteCond+texteNoCond+texteVcut + if groupe[0:3]=='ZS_': texteZs +=groupe[3:]+"=ZS();\n" + texte=texteComm+texteSources+texteCond+texteNoCond+texteVcut+texteZs self.newTexteCND=texte self.modified=1 return texte diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index 2e6baa98..126b2f9a 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -30,12 +30,13 @@ from gereIcones import ContientIcones from gereIcones import FacultatifOuOptionnel from qtSaisie import SaisieValeur +nomMax=26 # ---------------------------------------------------------------------- # class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): # --------------------------------------------------------------------- # - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "Feuille", monSimpDef,nom,objSimp QWidget.__init__(self,None) self.node=node @@ -54,6 +55,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): self.nom=nom self.objSimp=objSimp self.node.fenetre=self + self.maCommande=commande self.aRedimensionner=0 self.setSuggestion() @@ -68,12 +70,13 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): def setNom(self): self.debutToolTip="" - if len(self.objSimp.nom) >= 17 : - nom=self.objSimp.nom[0:15]+'...' - self.label.setText(nom) - self.debutToolTip=self.objSimp.nom+"\n" + nomTraduit=tr(self.objSimp.nom) + if len(nomTraduit) >= nomMax : + nom=nomTraduit[0:nomMax]+'...' + self.label.setText(nomTraduit) + self.debutToolTip=nomTraduit+"\n" else : - self.label.setText(self.objSimp.nom) + self.label.setText(nomTraduit) def setValeurs(self): @@ -90,16 +93,16 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): if hasattr(self,'lineEditVal'): self.lineEditVal.setToolTip(suggere) def setCommentaire(self): - #print "dans setCommentaire" - c = self.debutToolTip + if self.node.item.definition.validators : c+=self.node.item.definition.validators.aide() if self.objSimp.get_fr() != None and self.objSimp.get_fr() != "": - c2 = '

'+c+str(self.objSimp.get_fr())+"

" + c2 = '

'+c+str(self.objSimp.get_fr())+"

" self.label.setToolTip(c2) else : c+=self.finCommentaire() if c != "" and c != None : - c=str('

')+c+"

" + #c=str('

')+c+"

" + c=str('

')+c+"

" self.label.setToolTip(c) def setIcones(self): @@ -109,13 +112,9 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): if ( hasattr(self,"BFichier")): if mctype == "Repertoire": self.BRepertoire=self.BFichier - #icon = QIcon(self.repIcon+"/fichier.png") - #self.BRepertoire.setIcon(icon) self.connect(self.BRepertoire,SIGNAL("clicked()"),self.BRepertoirePressed) - #self.BVisuFichier.close() else : #icon = QIcon(self.repIcon+"/visuFichier.png") - #self.BVisuFichier.setIcon(icon) self.connect(self.BFichier,SIGNAL("clicked()"),self.BFichierPressed) self.connect(self.BVisuFichier,SIGNAL("clicked()"),self.BFichierVisu) return @@ -126,14 +125,10 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): (hasattr(mctype, "enable_salome_selection") and mctype.enable_salome_selection)) if enable_salome_selection: self.connect(self.BSalome,SIGNAL("pressed()"),self.BSalomePressed) - #icon = QIcon(self.repIcon+"/flecheSalome.png") - #self.BSalome.setIcon(icon) if not(('grma' in repr(mctype)) or ('grno' in repr(mctype))) or not(self.editor.salome): self.BView2D.close() else : - #icon = QIcon(self.repIcon+"/salomeLoupe.png") - #self.BView2D.setIcon(icon) self.connect(self.BView2D,SIGNAL("clicked()"),self.BView2DPressed) else: self.BSalome.close() diff --git a/InterfaceQT4/gereIcones.py b/InterfaceQT4/gereIcones.py index 98e5d519..cc8e84df 100644 --- a/InterfaceQT4/gereIcones.py +++ b/InterfaceQT4/gereIcones.py @@ -38,12 +38,37 @@ class FacultatifOuOptionnel: except : pass if listeRegles==() and hasattr(self,"RBRegle"): self.RBRegle.close() - if isinstance(self,MonWidgetCommande):return - cle_doc = self.node.item.get_docu() - if cle_doc == None and hasattr(self,"RBInfo") : self.RBInfo.close() + cle_doc=None + if not hasattr(self,"RBInfo"):return + if isinstance(self,MonWidgetCommande) and self.editor.code =="MAP": + self.cle_doc = self.chercheDocMAP() + else : + self.cle_doc = self.node.item.get_docu() + if self.cle_doc == None : self.RBInfo.close() + else : self.connect (self.RBInfo,SIGNAL("clicked()"),self.viewDoc) + def chercheDocMAP(self): + try : + clef=self.editor.CONFIGURATION.adresse+"/" + except : + return None + for k in self.editor.readercata.cata[0].JdC.dict_groupes.keys(): + if self.obj.nom in self.editor.readercata.cata[0].JdC.dict_groupes[k]: + clef+=k + break + clef+="/"+ self.obj.nom[0:-5].lower()+"/spec_"+self.obj.nom[0:-5].lower()+".html" + + return clef + def viewDoc(self): + try : + cmd="xdg-open "+self.cle_doc + os.system(cmd) + except: + QMessageBox.warning( self,tr( "Aide Indisponible"),tr( "l'aide n est pas installee ")) + + def setPoubelle(self): if not(hasattr(self,"RBPoubelle")):return if self.node.item.object.isoblig() : @@ -58,6 +83,7 @@ class FacultatifOuOptionnel: self.node.delete() def setValide(self): + #print " c est le moment de gerer le passage au suivant" if not(hasattr (self,'RBValide')) : return icon = QIcon() if self.node.item.object.isvalid() : diff --git a/InterfaceQT4/gereListe.py b/InterfaceQT4/gereListe.py index 21f50036..1645b1d0 100644 --- a/InterfaceQT4/gereListe.py +++ b/InterfaceQT4/gereListe.py @@ -78,12 +78,12 @@ class GereListe: def echange(self,num1,num2): # on donne le focus au a celui ou on a bouge # par convention le 2 - nomLineEdit="labelVal"+str(num1) - print nomLineEdit + nomLineEdit="lineEditVal"+str(num1) + #print nomLineEdit courant=getattr(self,nomLineEdit) valeurAGarder=courant.text() - nomLineEdit2="labelVal"+str(num2) - print nomLineEdit2 + nomLineEdit2="lineEditVal"+str(num2) + #print nomLineEdit2 courant2=getattr(self,nomLineEdit2) courant.setText(courant2.text()) courant2.setText(valeurAGarder) @@ -92,33 +92,39 @@ class GereListe: self.LineEditEnCours=courant2 def moinsPushed(self): + if self.indexDernierLabel < self.monSimpDef.min: + self.editor.affiche_infos('nb min de valeurs : '+str(self.monSimpDef.min)+' atteint') + return # on supprime le dernier if self.NumLineEditEnCours==self.indexDernierLabel : self.setText("") else : for i in range (self.NumLineEditEnCours, self.indexDernierLabel): aRemonter=i+1 - nomLineEdit="labelVal"+str(aRemonter) + nomLineEdit="lineEditVal"+str(aRemonter) courant=getattr(self,nomLineEdit) valeurARemonter=courant.text() - nomLineEdit="labelVal"+str(i) + nomLineEdit="lineEditVal"+str(i) courant=getattr(self,nomLineEdit) courant.setText(valeurARemonter) - nomLineEdit="labelVal"+str(self.indexDernierLabel) + nomLineEdit="lineEditVal"+str(self.indexDernierLabel) courant=getattr(self,nomLineEdit) courant.setText("") self.changeValeur(changeDePlace=False) def plusPushed(self): + if self.indexDernierLabel == self.monSimpDef.max: + self.editor.affiche_infos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint') + return self.ajoutLineEdit() if self.NumLineEditEnCours==self.indexDernierLabel : return - nomLineEdit="labelVal"+str(self.NumLineEditEnCours+1) + nomLineEdit="lineEditVal"+str(self.NumLineEditEnCours+1) courant=getattr(self,nomLineEdit) valeurADescendre=courant.text() courant.setText("") for i in range (self.NumLineEditEnCours+1, self.indexDernierLabel): aDescendre=i+1 - nomLineEdit="labelVal"+str(aDescendre) + nomLineEdit="lineEditVal"+str(aDescendre) courant=getattr(self,nomLineEdit) valeurAGarder=courant.text() courant.setText(valeurADescendre) diff --git a/InterfaceQT4/groupe.py b/InterfaceQT4/groupe.py index 6d17fae4..ede82a5e 100644 --- a/InterfaceQT4/groupe.py +++ b/InterfaceQT4/groupe.py @@ -32,7 +32,7 @@ import Accas class Groupe(QtGui.QWidget,FacultatifOuOptionnel): """ """ - def __init__(self,node,editor,parentQt,definition,obj,niveau): + def __init__(self,node,editor,parentQt,definition,obj,niveau,commande=None): QtGui.QWidget.__init__(self,None) self.node=node self.node.fenetre=self @@ -44,6 +44,7 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel): self.niveau=niveau self.definition=definition self.parentQt=parentQt + self.maCommande=commande self.listeFocus=[] self.appliEficas=self.editor.appliEficas self.repIcon=self.appliEficas.repIcon @@ -75,7 +76,7 @@ class Groupe(QtGui.QWidget,FacultatifOuOptionnel): # print "pas ", node.item.nom # continue if hasattr(self.node,'appartientAUnNoeudPlie') and self.node.appartientAUnNoeudPlie==True : return - else : widget=node.getPanelGroupe(self) + widget=node.getPanelGroupe(self,self.maCommande) #print node #print node.item.nom self.listeFocus.append(node.fenetre) diff --git a/InterfaceQT4/monChoixCommande.py b/InterfaceQT4/monChoixCommande.py index 111ee3db..a1c7b048 100644 --- a/InterfaceQT4/monChoixCommande.py +++ b/InterfaceQT4/monChoixCommande.py @@ -110,8 +110,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): if self.affiche_alpha==1 : liste=self.CreeListeCommande(filtre) for cmd in liste : -#PNPNPN Possibilite de tr ? - rbcmd=(QRadioButton(cmd)) + rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent @@ -121,7 +120,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): for grp in listeGroupes: if grp == "CACHE" : continue label=QLabel(self) - text=QString.fromUtf8('

Groupe : '+grp+'

') + text=QString.fromUtf8('

Groupe : '+tr(grp)+'

') label.setText(text) self.listeWidget.append(label) aAjouter=1 @@ -130,7 +129,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): if aAjouter == 1 : self.commandesLayout.addWidget(label) aAjouter=0 - rbcmd=(QRadioButton(cmd)) + rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent diff --git a/InterfaceQT4/monRecherche.py b/InterfaceQT4/monRecherche.py index 7511f974..10595c99 100644 --- a/InterfaceQT4/monRecherche.py +++ b/InterfaceQT4/monRecherche.py @@ -48,14 +48,13 @@ class DRecherche(Ui_desRecherche ,QtGui.QDialog): self.nodeSurligne=None def suivantClicked(self): - if self.motAChercher!=self.LERecherche.text(): self.recherche() + #if self.motAChercher!=self.LERecherche.text(): self.recherche() if self.listeTrouvee=={} : return if self.surLigne > len(self.listeTrouvee) -1 : return if self.nodeSurligne!=None : self.nodeSurligne.update_node_texte_in_black() #self.listeTrouvee[self.surLigne].update_node_texte_in_blue() #self.nodeSurligne=self.listeTrouvee[self.surLigne] self.listeTrouvee[self.surLigne].select() - self.listeTrouvee[self.surLigne].select() self.listeTrouvee[self.surLigne].affichePanneau() self.surLigne=self.surLigne+1 self.PBSuivant.setFocus() @@ -65,5 +64,4 @@ class DRecherche(Ui_desRecherche ,QtGui.QDialog): self.motAChercher=self.LERecherche.text() self.listeTrouvee=self.tree.findItems(self.motAChercher,Qt.MatchContains|Qt.MatchRecursive,1) self.surLigne=0 - self.suivantClicked() diff --git a/InterfaceQT4/monWidget4a6RadioButton.py b/InterfaceQT4/monWidget4a6RadioButton.py index 2e80821d..db3145ed 100644 --- a/InterfaceQT4/monWidget4a6RadioButton.py +++ b/InterfaceQT4/monWidget4a6RadioButton.py @@ -31,8 +31,9 @@ from desWidget4a6RadioButton import Ui_Widget4a6RadioButton class MonWidget4a6RadioButton (Ui_Widget4a6RadioButton,MonWidgetRadioButtonCommun): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): - MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + #print "dans le init de MonWidget4a6RadioButton" + MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) def setMaxI(self): self.maxI=6 diff --git a/InterfaceQT4/monWidgetBloc.py b/InterfaceQT4/monWidgetBloc.py index 727abf1e..0ac25d25 100644 --- a/InterfaceQT4/monWidgetBloc.py +++ b/InterfaceQT4/monWidgetBloc.py @@ -29,8 +29,8 @@ from Extensions.i18n import tr class MonWidgetBloc(Ui_WidgetBloc,Groupe): """ """ - def __init__(self,node,editor,parentQt,definition, obj, niveau): - Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau) + def __init__(self,node,editor,parentQt,definition, obj, niveau,commande): + Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) self.parentQt.commandesLayout.insertWidget(-1,self) diff --git a/InterfaceQT4/monWidgetCB.py b/InterfaceQT4/monWidgetCB.py index 15be1ee9..6fc70aef 100644 --- a/InterfaceQT4/monWidgetCB.py +++ b/InterfaceQT4/monWidgetCB.py @@ -33,13 +33,14 @@ from qtSaisie import SaisieValeur class MonWidgetCB (Ui_WidgetCB,Feuille): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.politique=PolitiqueUnique(self.node,self.editor) self.determineChoix() self.setValeursApresBouton() self.connect(self.CBChoix,SIGNAL("currentIndexChanged(int)"),self.ChoixSaisi) self.parentQt.commandesLayout.insertWidget(-1,self) + self.maCommande.listeAffichageWidget.append(self.CBChoix) def setValeursApresBouton(self): if self.objSimp.get_valeur()==None : diff --git a/InterfaceQT4/monWidgetCommande.py b/InterfaceQT4/monWidgetCommande.py index af62d6b9..79c3b809 100644 --- a/InterfaceQT4/monWidgetCommande.py +++ b/InterfaceQT4/monWidgetCommande.py @@ -37,24 +37,30 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): """ def __init__(self,node,editor,etape): #print "MonWidgetCommande ", self - Groupe.__init__(self,node,editor,None,etape.definition,etape,1) + self.listeAffichageWidget=[] + self.inhibe=0 + Groupe.__init__(self,node,editor,None,etape.definition,etape,1,self) if (etape.get_type_produit()==None): self.LENom.close() elif (hasattr (etape, 'sdnom')) and etape.sdnom != "sansnom" : self.LENom.setText(etape.sdnom) else : self.LENom.setText("") maPolice= QFont("Times", 10,) self.setFont(maPolice) self.repIcon=self.appliEficas.repIcon - self.labelNomCommande.setText(self.obj.nom) + self.labelNomCommande.setText(tr(self.obj.nom)) self.commandesLayout.addStretch() self.commandesLayout.focusInEvent=self.focusInEvent self.scrollAreaCommandes.focusInEvent=self.focusInEvent #self.RBValide.focusInEvent=FacultatifOuOptionnel.focusInEvent - self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue) + if self.editor.code in ['MAP','Adao','CARMELCND'] : self.bCatalogue.close() + else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue) self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange) self.racine=self.node.tree.racine if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True) self.setAcceptDrops(True) + self.etablitOrdre() + + if self.editor.code == "CARMELCND" : return #Pas de MC Optionnels pour Carmel from monWidgetOptionnel import MonWidgetOptionnel if hasattr(self.editor,'widgetOptionnel') : self.monOptionnel=self.editor.widgetOptionnel @@ -65,6 +71,40 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): self.afficheOptionnel() + def focusNextPrevChild(self, next): + print "je passe dans focusNextPrevChild" + print self.focusWidget().objectName() + try : + i= self.listeAffichageWidget.index(self.focusWidget()) + except : + i = -1 + 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 + if i==0 and next==False and not self.inhibe: + if hasattr(self.editor.fenetreCentraleAffichee,'scrollArea'): + self.editor.fenetreCentraleAffichee.scrollArea.ensureWidgetVisible(self.listeAffichageWidget[-1]) + self.listeAffichageWidget[-2].setFocus(7) + self.inhibe=1 + w=self.focusWidget() + w.focusNextChild() + self.inhibe=0 + return True + return QWidget.focusNextPrevChild(self, next) + + def etablitOrdre(self): + i=0 + for l in self.listeAffichageWidget: + print l.objectName() + while(i +1 < len(self.listeAffichageWidget)): + self.setTabOrder(self.listeAffichageWidget[i],self.listeAffichageWidget[i+1]) + i=i+1 + # si on boucle on perd l'ordre + def nomChange(self): nom = str(self.LENom.text()) nom = string.strip(nom) @@ -86,6 +126,7 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): def focusInEvent(self,event): #print "je mets a jour dans focusInEvent de monWidget Commande " + if self.editor.code == "CARMELCND" : return #Pas de MC Optionnels pour Carmel self.afficheOptionnel() @@ -97,7 +138,7 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(f) def afficheCatalogue(self): - self.monOptionnel.hide() + if self.editor.code != "CARMELCND" : self.monOptionnel.hide() self.racine.affichePanneau() if self.node : self.node.select() else : self.racine.select() diff --git a/InterfaceQT4/monWidgetFact.py b/InterfaceQT4/monWidgetFact.py index 7e536d1e..5f831e81 100644 --- a/InterfaceQT4/monWidgetFact.py +++ b/InterfaceQT4/monWidgetFact.py @@ -29,16 +29,15 @@ from Extensions.i18n import tr class MonWidgetFact(Ui_WidgetFact,Groupe): """ """ - def __init__(self,node,editor,parentQt,definition, obj, niveau): + def __init__(self,node,editor,parentQt,definition, obj, niveau,commande): #print "init de Fact" - Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau) + Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) labeltext,fonte,couleur = self.node.item.GetLabelText() - #self.groupBox.setTitle(labeltext) - self.GroupBox.setText(labeltext) + self.GroupBox.setText(tr(labeltext)) self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse) self.parentQt.commandesLayout.insertWidget(-1,self) def focusInEvent(self,event): print "je passe dans focusInEvent" - self.afficheOptionnel() + if self.editor.code != "CARMELCND" :self.afficheOptionnel() diff --git a/InterfaceQT4/monWidgetFactPlie.py b/InterfaceQT4/monWidgetFactPlie.py index 2cb68e4c..dc2b5768 100644 --- a/InterfaceQT4/monWidgetFactPlie.py +++ b/InterfaceQT4/monWidgetFactPlie.py @@ -29,9 +29,9 @@ from Extensions.i18n import tr class MonWidgetFactPlie(Ui_WidgetFactPlie,Groupe): """ """ - def __init__(self,node,editor,parentQt,definition, obj, niveau): + def __init__(self,node,editor,parentQt,definition, obj, niveau,commande): print "init de FactPlie" - Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau) + Groupe.__init__(self,node,editor,parentQt, definition,obj,niveau,commande) self.groupBox.setText(self.obj.nom) self.parentQt.commandesLayout.insertWidget(-1,self) diff --git a/InterfaceQT4/monWidgetOptionnel.py b/InterfaceQT4/monWidgetOptionnel.py index 4cfdf2d9..eaa6fce0 100644 --- a/InterfaceQT4/monWidgetOptionnel.py +++ b/InterfaceQT4/monWidgetOptionnel.py @@ -68,7 +68,16 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel): def affiche(self,liste): self.show() labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText() - self.GeneaLabel.setText(tr("Options pour \n") +labeltext) + l=labeltext + li=[] + while len(l) > 25: + li.append(l[0:24]) + l=l[24:] + li.append(l) + texte="" + for l in li : texte+=l+"\n" + texte=texte[0:-2] + self.GeneaLabel.setText(tr("Options pour \n") +texte) for cb in self.dicoCb.keys(): cb.close() diff --git a/InterfaceQT4/monWidgetPlusieursBase.py b/InterfaceQT4/monWidgetPlusieursBase.py index 05d653e1..8f12ce0e 100644 --- a/InterfaceQT4/monWidgetPlusieursBase.py +++ b/InterfaceQT4/monWidgetPlusieursBase.py @@ -32,16 +32,28 @@ from qtSaisie import SaisieValeur from gereListe import GereListe from gereListe import LECustom +dicoLongueur={2:95,3:125,4:154,5:183,6:210} +hauteurMax=253 + class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "MonWidgetPlusieursBase", nom self.index=1 self.indexDernierLabel=0 - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) GereListe.__init__(self) self.listeValeursCourantes=self.node.item.GetListeValeurs() + if self.monSimpDef.max != "**" and self.monSimpDef.max < 7: + hauteur=dicoLongueur[self.monSimpDef.max] + self.resize(self.width(),hauteur) + self.setMinimumHeight(hauteur) + if self.monSimpDef.max == self.monSimpDef.min : self.setMaximumHeight(hauteur) + else : + self.resize(self.width(),hauteurMax) + self.setMinimumHeight(hauteurMax) self.parentQt.commandesLayout.insertWidget(1,self) + self.maCommande.listeAffichageWidget.append(self.lineEditVal1) def setValeurs(self): @@ -54,12 +66,12 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe): for i in range(1,aConstruire): self.ajoutLineEdit() qApp.processEvents() - self.scrollArea.ensureWidgetVisible(self.labelVal1) + self.scrollArea.ensureWidgetVisible(self.lineEditVal1) self.listeValeursCourantes=self.node.item.GetListeValeurs() index=1 for valeur in self.listeValeursCourantes : val=self.politique.GetValeurTexte(valeur) - nomLineEdit="labelVal"+str(index) + nomLineEdit="lineEditVal"+str(index) if hasattr(self,nomLineEdit) : courant=getattr(self,nomLineEdit) courant.setText(str(val)) @@ -74,7 +86,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe): def ajoutLineEdit(self,valeur=None): self.indexDernierLabel=self.indexDernierLabel+1 - nomLineEdit="labelVal"+str(self.indexDernierLabel) + nomLineEdit="lineEditVal"+str(self.indexDernierLabel) if hasattr(self,nomLineEdit) : self.indexDernierLabel=self.indexDernierLabel-1 return @@ -146,7 +158,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe): derniereValeur=None self.listeValeursCourantes = [] for i in range (1, self.indexDernierLabel+1): - nomLineEdit="labelVal"+str(i) + nomLineEdit="lineEditVal"+str(i) courant=getattr(self,nomLineEdit) valeur=courant.text() if valeur != None and valeur != "" : @@ -156,7 +168,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe): courant.setText("") donneFocus=courant elif donneFocus==None : donneFocus=courant - nomDernierLineEdit="labelVal"+str(self.indexDernierLabel) + nomDernierLineEdit="lineEditVal"+str(self.indexDernierLabel) dernier=getattr(self,nomDernierLineEdit) derniereValeur=dernier.text() if changeDePlace: @@ -166,7 +178,6 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe): elif self.indexDernierLabel < self.monSimpDef.max : self.ajoutLineEdit() if self.indexDernierLabel == self.monSimpDef.max : - self.scrollArea.setToolTip('nb max de valeurs atteint') self.editor.affiche_infos('nb max de valeurs atteint') if self.listeValeursCourantes == [] : return min,max = self.node.item.GetMinMax() diff --git a/InterfaceQT4/monWidgetPlusieursInto.py b/InterfaceQT4/monWidgetPlusieursInto.py index 0afd3bc5..5002a4a2 100644 --- a/InterfaceQT4/monWidgetPlusieursInto.py +++ b/InterfaceQT4/monWidgetPlusieursInto.py @@ -33,12 +33,13 @@ from gereListe import GereListe class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "MonWidgetPlusieursInto", nom self.index=1 - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.listeValeursCourantes=self.node.item.GetListeValeurs() self.parentQt.commandesLayout.insertWidget(-1,self) + self.maCommande.listeAffichageWidget.append(self.lineEditVal1) def setValeurs(self): @@ -61,7 +62,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille): for i in range(1,len(self.listeAAfficher)+1): self.ajoutCB(i) for i in range(len(self.listeAAfficher)): - nomCB="labelVal"+str(i+1) + nomCB="lineEditVal"+str(i+1) courant=getattr(self,nomCB) courant.setText(str(self.listeAAfficher[i])) if self.monSimpDef.into[i] in self.listeValeursCourantes : @@ -71,7 +72,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille): def ajoutCB(self,index,valeur=None): - nomCB="labelVal"+str(index) + nomCB="lineEditVal"+str(index) if hasattr(self,nomCB) : return nouveauCB = QCheckBox(self.scrollArea) @@ -133,7 +134,7 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille): def changeValeur(self,etat): self.listeValeursCourantes = [] for i in range (1,len(self.monSimpDef.into)+1): - nomLineEdit="labelVal"+str(i) + nomLineEdit="lineEditVal"+str(i) courant=getattr(self,nomLineEdit) if not (courant.isChecked()):continue valeur=courant.text() diff --git a/InterfaceQT4/monWidgetRadioButton.py b/InterfaceQT4/monWidgetRadioButton.py index a3356259..82a15583 100644 --- a/InterfaceQT4/monWidgetRadioButton.py +++ b/InterfaceQT4/monWidgetRadioButton.py @@ -31,17 +31,16 @@ from politiquesValidation import PolitiqueUnique from qtSaisie import SaisieValeur - class MonWidgetRadioButtonCommun (Feuille): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): self.setMaxI() - #print "dans MonWidgetRadioButtonCommun", self.maxI - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.politique=PolitiqueUnique(self.node,self.editor) self.dict_bouton={} self.determineChoix() self.setValeursApresBouton() self.parentQt.commandesLayout.insertWidget(-1,self) + self.maCommande.listeAffichageWidget.append(self.radioButton_1) def setValeursApresBouton(self): @@ -68,6 +67,8 @@ class MonWidgetRadioButtonCommun (Feuille): bouton.setText(valeur) self.dict_bouton[valeur]=bouton self.connect(bouton,SIGNAL("clicked()"),self.boutonclic) + bouton.keyPressEvent=self.keyPressEvent + setattr(self,nomBouton,bouton) i=i+1 while i < self.maxI +1 : nomBouton="radioButton_"+str(i) @@ -82,9 +83,37 @@ class MonWidgetRadioButtonCommun (Feuille): SaisieValeur.LEValeurPressed(self,valeur) self.parentQt.reaffiche() + + def keyPressEvent(self, event): + if event.key() == Qt.Key_Right : self.selectSuivant(); return + if event.key() == Qt.Key_Left : self.selectPrecedent(); return + QWidget.keyPressEvent(self,event) + + def selectSuivant(self): + aLeFocus=self.focusWidget() + nom=aLeFocus.objectName()[12:] + i=nom.toInt()[0]+1 + if i == len(self.monSimpDef.into) +1 : i=1 + nomBouton="radioButton_"+str(i) + courant=getattr(self,nomBouton) + courant.setFocus(True) + + def selectPrecedent(self): + aLeFocus=self.focusWidget() + nom=aLeFocus.objectName()[12:] + i=nom.toInt()[0]-1 + print i + if i == 0 : i= len(self.monSimpDef.into) + print i + print "_______" + nomBouton="radioButton_"+str(i) + courant=getattr(self,nomBouton) + courant.setFocus(True) + + class MonWidgetRadioButton (Ui_WidgetRadioButton,MonWidgetRadioButtonCommun): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): - MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) def setMaxI(self): self.maxI=3 diff --git a/InterfaceQT4/monWidgetSimpBase.py b/InterfaceQT4/monWidgetSimpBase.py index c8202eb5..cb79fd3e 100644 --- a/InterfaceQT4/monWidgetSimpBase.py +++ b/InterfaceQT4/monWidgetSimpBase.py @@ -33,11 +33,12 @@ from qtSaisie import SaisieValeur class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.parentQt.commandesLayout.insertWidget(-1,self) self.setFocusPolicy(Qt.StrongFocus) self.connect(self.lineEditVal,SIGNAL("returnPressed()"),self.LEValeurPressed) + self.maCommande.listeAffichageWidget.append(self.lineEditVal) def showEvent(self, event): if self.prendLeFocus==1 : @@ -51,6 +52,7 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): valeur=self.node.item.get_valeur() valeurTexte=self.politique.GetValeurTexte(valeur) chaine=QString("") + if valeurTexte != None : from decimal import Decimal if isinstance(valeurTexte,Decimal): @@ -58,10 +60,11 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): elif repr(valeurTexte.__class__).find("PARAMETRE") > 0: chaine = QString(repr(valeur)) else : - try : - chaine=QString("").setNum(valeurTexte) - except : - chaine=QString(str(valeurTexte)) + #PN ???? + #try : + # chaine=QString("").setNum(valeurTexte) + #except : + chaine=QString(str(valeurTexte)) self.lineEditVal.setText(chaine) @@ -81,13 +84,11 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): def LEValeurPressed(self): - print "LEValeurPressed" - print SaisieValeur.LEValeurPressed + if str(self.lineEditVal.text())=="" or str(self.lineEditVal.text())==None : return SaisieValeur.LEValeurPressed(self) self.parentQt.donneFocus() + self.setValeurs() - print "je suis la aussi" - #PNPNPN - pas fait #if self.objSimp.parent.nom == "MODEL" : # if self.objSimp.isvalid(): # self.objSimp.parent.change_fichier="1" diff --git a/InterfaceQT4/monWidgetSimpBool.py b/InterfaceQT4/monWidgetSimpBool.py index c9711383..0cbb381b 100644 --- a/InterfaceQT4/monWidgetSimpBool.py +++ b/InterfaceQT4/monWidgetSimpBool.py @@ -33,12 +33,13 @@ from qtSaisie import SaisieValeur class MonWidgetSimpBool (Ui_WidgetSimpBool,Feuille): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.politique=PolitiqueUnique(self.node,self.editor) self.connect(self.RBTrue,SIGNAL("clicked()"),self.boutonTrueClic) self.connect(self.RBFalse,SIGNAL("clicked()"),self.boutonFalseClic) self.parentQt.commandesLayout.insertWidget(-1,self) + self.maCommande.listeAffichageWidget.append(self.RBTrue) def setValeurs(self): valeur=self.node.item.get_valeur() diff --git a/InterfaceQT4/monWidgetSimpComplexe.py b/InterfaceQT4/monWidgetSimpComplexe.py index 5e219dc5..fe7c54b8 100644 --- a/InterfaceQT4/monWidgetSimpComplexe.py +++ b/InterfaceQT4/monWidgetSimpComplexe.py @@ -33,8 +33,8 @@ from qtSaisie import SaisieValeur class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.parentQt.commandesLayout.insertWidget(-1,self) self.setFocusPolicy(Qt.StrongFocus) self.connect(self.LEImag,SIGNAL("returnPressed()"),self.LEImagRPressed) @@ -42,6 +42,11 @@ class MonWidgetSimpComplexe (Ui_WidgetSimpComplexe,Feuille): self.connect(self.RBRI,SIGNAL("clicked()"), self.ValeurPressed ) self.connect(self.RBMP,SIGNAL("clicked()"), self.ValeurPressed ) self.connect(self.LEComp,SIGNAL("returnPressed()"),self.LECompRPressed) + self.maCommande.listeAffichageWidget.append(self.LEComp) + #self.maCommande.listeAffichageWidget.append(self.RBRI) + #self.maCommande.listeAffichageWidget.append(self.RBMP) + #self.maCommande.listeAffichageWidget.append(self.LEReel) + #self.maCommande.listeAffichageWidget.append(self.LEImag) def setValeurs(self): diff --git a/InterfaceQT4/monWidgetSimpFichier.py b/InterfaceQT4/monWidgetSimpFichier.py index 4b45d35e..03cf456c 100644 --- a/InterfaceQT4/monWidgetSimpFichier.py +++ b/InterfaceQT4/monWidgetSimpFichier.py @@ -32,8 +32,10 @@ from monWidgetSimpBase import MonWidgetSimpBase class MonWidgetSimpFichier (Ui_WidgetSimpFichier,MonWidgetSimpBase): # c est juste la taille des differents widgets de base qui change - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): - MonWidgetSimpBase.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + MonWidgetSimpBase.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) + # deja fait dans MonWidgetSimpBase + #self.maCommande.listeAffichageWidget.append(self.lineEditVal) diff --git a/InterfaceQT4/monWidgetSimpTxt.py b/InterfaceQT4/monWidgetSimpTxt.py index a5c09d55..b740289a 100644 --- a/InterfaceQT4/monWidgetSimpTxt.py +++ b/InterfaceQT4/monWidgetSimpTxt.py @@ -32,8 +32,11 @@ from monWidgetSimpBase import MonWidgetSimpBase class MonWidgetSimpTxt (Ui_WidgetSimpTxt,MonWidgetSimpBase): # c est juste la taille des differents widgets de base qui change - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): - MonWidgetSimpBase.__init__(self,node,monSimpDef,nom,objSimp,parentQt) + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + MonWidgetSimpBase.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) + # deja fait dans MonWidgetSimpBase + #self.maCommande.listeAffichageWidget.append(self.lineEditVal) + print self.lineEditVal diff --git a/InterfaceQT4/politiquesValidation.py b/InterfaceQT4/politiquesValidation.py index bf65f728..3d5e6ed0 100644 --- a/InterfaceQT4/politiquesValidation.py +++ b/InterfaceQT4/politiquesValidation.py @@ -19,6 +19,7 @@ # # Modules Python import types, string +from Accas import PARAMETRE from Extensions.i18n import tr @@ -145,6 +146,10 @@ class PolitiqueUnique(Validation) : if self.parent.modified == 'n' : self.parent.init_modif() ancienne_val = self.node.item.get_valeur() valeur,validite,commentaire =self.TesteUneValeur(valeurentree) + if validite and ('R' in self.node.item.object.definition.type) and not(isinstance(valeur,PARAMETRE)) : + s=valeurentree + if (s.find('.')== -1 and s.find('e')== -1 and s.find('E')==-1) : s=s+'.' + valeur,validite,commentaire =self.TesteUneValeur(s) if validite : validite=self.node.item.set_valeur(valeur) if self.node.item.isvalid(): diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 4e667764..5f86da3f 100644 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -164,7 +164,8 @@ class Appli(Ui_Eficas,QMainWindow): self.actionCode.setEnabled(True) self.menuAide.addAction(self.actionCode) - def MAP(self): + + def ajoutExecution(self): self.menuExecution = self.menubar.addMenu(QApplication.translate("Eficas", "Execution", None, QApplication.UnicodeUTF8)) self.actionExecution = QAction(self) icon6 = QIcon(self.repIcon+"/roue.png") @@ -176,9 +177,9 @@ class Appli(Ui_Eficas,QMainWindow): self.actionExecution.setText(QApplication.translate("Eficas", "Execution ", None, QApplication.UnicodeUTF8)) self.connect(self.actionExecution,SIGNAL("activated()"),self.run) + def ajoutSauveExecution(self): self.actionSaveRun = QAction(self) icon7 = QIcon(self.repIcon+"/export_MAP.png") - #icon7 = QIcon(self.repIcon+"/saveRun.png") self.actionSaveRun.setIcon(icon7) self.actionSaveRun.setObjectName("actionSaveRun") self.menuExecution.addAction(self.actionSaveRun) @@ -187,27 +188,31 @@ class Appli(Ui_Eficas,QMainWindow): self.actionSaveRun.setText(QApplication.translate("Eficas", "Save Run", None, QApplication.UnicodeUTF8)) self.connect(self.actionSaveRun,SIGNAL("activated()"),self.saveRun) - self.menuOptions = self.menubar.addMenu("menuOptions") - self.menuOptions.addAction(self.actionParametres_Eficas) - self.menuOptions.setTitle(tr("Options")) + def griserActionsStructures(self): + self.actionCouper.setEnabled(False) + self.actionColler.setEnabled(False) + self.actionCopier.setEnabled(False) + self.actionSupprimer.setEnabled(False) + + def enleverNewInclude(self): + self.actionNouvel_Include.setVisible(False) + + def enleverRechercherDsCatalogue(self): + self.actionRechercherDsCatalogue.setVisible(False) def ZCRACKS(self): + self.enleverNewInclude() self.toolBar.addSeparator() - self.menuExecution = self.menubar.addMenu(QApplication.translate("Eficas", "Execution", None, QApplication.UnicodeUTF8)) - self.actionExecution = QAction(self) - icon6 = QIcon(self.repIcon+"/compute.png") - self.actionExecution.setIcon(icon6) - self.actionExecution.setObjectName("actionExecution") - self.menuExecution.addAction(self.actionExecution) - if not(self.actionExecution in self.toolBar.actions()): - self.toolBar.addAction(self.actionExecution) - self.actionExecution.setText(QApplication.translate("Eficas", "Execution ", None, QApplication.UnicodeUTF8)) - self.connect(self.actionExecution,SIGNAL("activated()"),self.run) + self.ajoutExecution() self.menuOptions = self.menubar.addMenu("menuOptions") self.menuOptions.addAction(self.actionParametres_Eficas) self.menuOptions.setTitle(tr("Options")) + def ADAO(self): + self.griserActionsStructures() + self.enleverNewInclude() + self.enleverRechercherDsCatalogue() def ASTER(self) : self.menuTraduction = self.menubar.addMenu("menuTraduction") @@ -223,24 +228,27 @@ class Appli(Ui_Eficas,QMainWindow): def CARMEL3D(self): #if self.salome == 0 : return + self.enleverNewInclude() self.menuMesh = self.menubar.addMenu("menuMesh") self.menuMesh.setObjectName("Mesh") self.menuMesh.addAction(self.actionChercheGrpMaille) + self.griserActionsStructures() def CARMELCND(self): - self.menuMesh = self.menubar.addMenu("Maillage") - self.menuMesh.setObjectName("Mesh") - self.menuMesh.addAction(self.actionChercheGrp) - self.menuExecution = self.menubar.addMenu(QApplication.translate("Eficas", "Execution", None, QApplication.UnicodeUTF8)) - self.actionExecution = QAction(self) - icon6 = QIcon(self.repIcon+"/compute.png") - self.actionExecution.setIcon(icon6) - self.actionExecution.setObjectName("actionExecution") - self.menuExecution.addAction(self.actionExecution) - if not(self.actionExecution in self.toolBar.actions()): - self.toolBar.addAction(self.actionExecution) - self.actionExecution.setText(QApplication.translate("Eficas", "Execution ", None, QApplication.UnicodeUTF8)) - self.connect(self.actionExecution,SIGNAL("activated()"),self.run) + self.enleverNewInclude() + self.enleverRechercherDsCatalogue() + self.ajoutExecution() + self.ajoutSauveExecution() + self.griserActionsStructures() + + def MAP(self): + self.enleverNewInclude() + self.toolBar.addSeparator() + self.ajoutExecution() + self.ajoutSauveExecution() + self.menuOptions = self.menubar.addMenu("menuOptions") + self.menuOptions.addAction(self.actionParametres_Eficas) + self.menuOptions.setTitle(tr("Options")) def ChercheGrpMesh(self): diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py index 40e1e521..1b7c2423 100644 --- a/InterfaceQT4/qtSaisie.py +++ b/InterfaceQT4/qtSaisie.py @@ -35,93 +35,6 @@ class SaisieValeur: def __init__(self): pass - def InitListBoxASSD(self): - listeNomsSD = self.node.item.get_sd_avant_du_bon_type() - for aSD in listeNomsSD: - self.listBoxASSD.addItem( aSD) - QObject.connect(self.listBoxASSD, SIGNAL("doubleClicked(QListWidgetItem*)" ), self.ClicASSD ) - min,max = self.node.item.GetMinMax() - l= self.node.item.GetListeValeurs() - - if (min == 1 and min == max and len(listeNomsSD)==1 and (l==[] or l==None)): - if ('R' not in self.node.item.get_type()) : - self.listBoxASSD.setCurrentRow(0) - - - def BuildLBValeurs(self): - self.LBValeurs.clear() - listeValeurs=self.node.item.GetListeValeurs() - #print self.node.item.definition.validators - for valeur in listeValeurs: - try : - val=self.politique.GetValeurTexte(valeur) - except : - val=valeur - self.LBValeurs.addItem(str(val)) - if listeValeurs != None and listeValeurs != [] : - self.LBValeurs.setCurrentRow(len(listeValeurs) - 1) - - - def RemplitPanel(self,listeDejaLa=[],alpha=0): - self.listBoxVal.clear() - # Traitement particulier pour le validator VerifExistence - # dont les valeurs possibles peuvent changer : into variable - if hasattr(self.node.item.definition.validators,'set_MCSimp'): - obj=self.node.item.getObject() - self.node.item.definition.validators.set_MCSimp(obj) - if self.node.item.isvalid() == 0 : - liste=[] - for item in listeDejaLa: - if self.node.item.definition.validators.verif_item(item)==1: - liste.append(item) - self.node.item.set_valeur(liste) - self.BuildLBValeurs() - self.listeValeursCourantes=liste - self.editor.affiche_infos(tr("Attention, valeurs modifiees"), Qt.red) - listeDejaLa=liste - lChoix=self.node.item.get_liste_possible(listeDejaLa) - if ((len(lChoix) < 10 ) and (hasattr (self,'BAlpha'))) : self.BAlpha.close() - if alpha==1 : lChoix.sort() - for valeur in lChoix : - self.listBoxVal.addItem( str(valeur) ) - if len(lChoix) == 1 : - self.listBoxVal.setCurrentRow(0) - self.listBoxVal.item(0).setSelected(1) - self.bOk.setFocus() - - - def ClicASSD(self): - if self.listBoxASSD.currentItem()== None : return - valeurQstring=self.listBoxASSD.currentItem().text() - commentaire = tr("Valeur selectionnee : ") - commentaire+=valeurQstring - self.Commentaire.setText(commentaire) - valeur=str(valeurQstring) - validite,commentaire=self.politique.RecordValeur(valeur) - self.Commentaire.setText(QString(commentaire)) - self.editor.affiche_infos(commentaire) - - def ClicValeur(self): - if self.listBoxVal.currentItem()== None : return - valeurQstring=self.listBoxVal.currentItem().text() - valeur=str(valeurQstring) - validite,commentaire=self.politique.RecordValeur(valeur) - #self.Commentaire.setText(QString(commentaire)) - self.editor.affiche_infos(commentaire) - - def BOkPressed(self): - if self.listBoxVal.currentItem()==None : - commentaire = tr("Pas de valeur selectionnee" ) - self.Commentaire.setText(QString(commentaire)) - else : - self.ClicValeur() - - def BOk2Pressed(self): - if str(self.lineEditVal.text())== "" : - commentaire = tr("Pas de valeur entree" ) - self.Commentaire.setText(QString(commentaire)) - else : - self.LEValeurPressed() def LEValeurPressed(self,valeur=None): if valeur == None : @@ -141,17 +54,17 @@ class SaisieValeur: self.setValide() - def TraiteLEValeurTuple(self) : - listeValeurs=[] - valeurBrute=str(self.LEValeur.text()) - listeValeursSplit=valeurBrute.split(',') - for val in listeValeursSplit : - try : - valeur=eval(val,{}) - except : - valeur=val - listeValeurs.append(valeur) - return listeValeurs + #def TraiteLEValeurTuple(self,valeurBrute=None) : + # listeValeurs=[] + # if valeurBrute== None :valeurBrute=str(self.LEValeur.text()) + # listeValeursSplit=valeurBrute.split(',') + # for val in listeValeursSplit : + # try : + # valeur=eval(val,{}) + # except : + # valeur=val + # listeValeurs.append(valeur) + # return listeValeurs def TraiteLEValeur(self,valeurTraitee=None) : # lit la chaine entree dans le line edit @@ -201,33 +114,3 @@ class SaisieValeur: return listeValeurs,1 -class SaisieSDCO : - def __init__(self): - pass - - def LESDCOReturnPressed(self): - """ - Lit le nom donné par l'utilisateur au concept de type CO qui doit être - la valeur du MCS courant et stocke cette valeur - """ - self.editor.init_modif() - anc_val = self.node.item.get_valeur() - if anc_val != None: - # il faut egalement propager la destruction de l'ancien concept - self.node.item.delete_valeur_co(valeur=anc_val) - # et on force le recalcul des concepts de sortie de l'etape - self.node.item.object.etape.get_type_produit(force=1) - # et le recalcul du contexte - self.node.item.object.etape.parent.reset_context() - nomConcept = str(self.LESDCO.text()) - if nomConcept == "" : return - - test,commentaire=self.node.item.set_valeur_co(nomConcept) - if test: - commentaire=tr("Valeur du mot-clef enregistree") - self.node.update_node_valid() - else : - cr = self.node.item.get_cr() - commentaire = tr("Valeur du mot-clef non autorisee :")+cr.get_mess_fatal() - self.node.item.set_valeur_co(anc_val) - self.Commentaire.setText(QString.fromUtf8(QString(commentaire))) diff --git a/Noyau/N_VALIDATOR.py b/Noyau/N_VALIDATOR.py index aee9cc88..326d90cf 100644 --- a/Noyau/N_VALIDATOR.py +++ b/Noyau/N_VALIDATOR.py @@ -1444,14 +1444,12 @@ class VerifTypeTuple(Valid, ListVal): self.cata_info = "" def info(self): - return _(u": vérifie les types dans un tuple") + return _(u"tuple de la forme :")+str(self.typeDesTuples) def info_erreur_liste(self): - return _(u"Les types entrés ne sont pas permis") + return _(u"Les types ne sont pas : ") +str(self.typeDesTuples) def default(self, valeur): - # if valeur in self.liste : raise ValError("%s est un doublon" % - # valeur) return valeur def is_list(self): diff --git a/UiQT4/aideQT.ui b/UiQT4/aideQT.ui index 44706313..722033bc 100644 --- a/UiQT4/aideQT.ui +++ b/UiQT4/aideQT.ui @@ -1,7 +1,8 @@ - + + Aide - - + + 0 0 @@ -9,67 +10,67 @@ 480 - + Aide - - - + + + - - - + + + 0 30 - + Index - - - + + + true - + 0 30 - + Back - - - + + + true - + 0 30 - + Forward - - - + + + Qt::Horizontal - + QSizePolicy::Expanding - + 311 20 @@ -79,8 +80,14 @@ - + qPixmapFromMimeSource + + PBIndex + PBBack + PBForward + TB1 + diff --git a/UiQT4/desWidget4a6RadioButton.ui b/UiQT4/desWidget4a6RadioButton.ui index 8783cebc..6927e614 100644 --- a/UiQT4/desWidget4a6RadioButton.ui +++ b/UiQT4/desWidget4a6RadioButton.ui @@ -38,9 +38,15 @@ 0 + + 2 + 0 + + 2 + @@ -86,6 +92,9 @@ 35 + + Qt::StrongFocus + border : 0px @@ -160,18 +169,6 @@ - - - 0 - 0 - - - - - 0 - 32 - - RadioButton @@ -179,12 +176,6 @@ - - - 0 - 0 - - RadioButton @@ -192,12 +183,6 @@ - - - 0 - 0 - - RadioButton @@ -209,18 +194,6 @@ - - - 0 - 0 - - - - - 0 - 32 - - RadioButton @@ -228,12 +201,6 @@ - - - 0 - 0 - - RadioButton @@ -241,12 +208,6 @@ - - - 0 - 0 - - RadioButton @@ -302,6 +263,9 @@ 31 + + Qt::StrongFocus + border : 0px @@ -344,6 +308,12 @@
monBoutonValide.h
+ + radioButton_1 + radioButton_4 + RBValide + RBPoubelle +
diff --git a/UiQT4/desWidgetCommande.ui b/UiQT4/desWidgetCommande.ui index f96c9240..acddf932 100644 --- a/UiQT4/desWidgetCommande.ui +++ b/UiQT4/desWidgetCommande.ui @@ -35,6 +35,9 @@ font : 'times' 9px + + 6 + @@ -50,6 +53,9 @@ font : 'times' 9px QFrame::Raised + + 0 + @@ -80,6 +86,9 @@ font : 'times' 9px 31 + + Qt::ClickFocus + Affiche le rapport de validité de la commande @@ -143,7 +152,7 @@ font : 'times' 9px - + Qt::Horizontal @@ -152,7 +161,7 @@ font : 'times' 9px - 162 + 2 40 @@ -195,11 +204,11 @@ QLineEdit:disabled Qt::Horizontal - QSizePolicy::Maximum + QSizePolicy::Ignored - 78 + 2 40 @@ -227,6 +236,9 @@ QLineEdit:disabled 31 + + Qt::ClickFocus + Lance un script associé à la commande @@ -262,6 +274,9 @@ QLineEdit:disabled 31 + + Qt::ClickFocus + ouvre un navigateur sur l'aide contextuelle @@ -297,6 +312,9 @@ QLineEdit:disabled 31 + + Qt::ClickFocus + affiche les régles de validité @@ -350,6 +368,9 @@ QLineEdit:disabled 31 + + Qt::ClickFocus + Détruit la commande @@ -419,6 +440,9 @@ QLineEdit:disabled 31 + + Qt::ClickFocus + Affiche les commandes possibles @@ -429,7 +453,7 @@ border-radius : 12px - &Catalogue + &Commandes Shift+A, Alt+A, Alt+A, Alt+A diff --git a/UiQT4/desWidgetCommentaire.ui b/UiQT4/desWidgetCommentaire.ui new file mode 100644 index 00000000..1a514061 --- /dev/null +++ b/UiQT4/desWidgetCommentaire.ui @@ -0,0 +1,372 @@ + + + WidgetCommentaire + + + + 0 + 0 + 1031 + 203 + + + + + 0 + 0 + + + + + 0 + 0 + + + + DCommandeUnique + + + + + + background-color : rgb(224,223,222); +font : 'times' 9px + + + + + + + + + 0 + 0 + + + + QFrame::Box + + + QFrame::Raised + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 17 + 31 + + + + + 21 + 31 + + + + Affiche le rapport de validité de la commande + + + border : 0px + + + ... + + + + ../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/ast-green-ball.png../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/ast-green-ball.png + + + + 21 + 31 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 13 + 20 + + + + + + + + + 0 + 0 + + + + + 150 + 31 + + + + QFrame::NoFrame + + + QFrame::Raised + + + <html><head/><body><p><span style=" color:#0000ff;">Commentaire</span></p></body></html> + + + + + + + Qt::Horizontal + + + QSizePolicy::Maximum + + + + 78 + 40 + + + + + + + + + 21 + 31 + + + + + 21 + 31 + + + + Détruit la commande + + + border : 0px + + + ... + + + + ../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png../../../../../../home/A96028/Install_EficasV1/ArbreEficas/Editeur/icons/deleteRond.png + + + + 21 + 31 + + + + + + RBValide + labelNomCommande + horizontalSpacer_3 + RBPoubelle + horizontalSpacer_5 + + + + + + 0 + + + QLayout::SetFixedSize + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + 0 + 0 + + + + + 160 + 31 + + + + Affiche les commandes possibles + + + background-color:rgb(104,110,149); +color :white; +border-radius : 12px + + + + &Catalogue + + + Shift+A, Alt+A, Alt+A, Alt+A + + + true + + + true + + + + + + + Qt::Vertical + + + QSizePolicy::Fixed + + + + 20 + 5 + + + + + + + + + + + + + 0 + 81 + + + + background : rgb(247,247,247) + + + + + + QFrame::NoFrame + + + Qt::ScrollBarAsNeeded + + + true + + + + + 0 + 0 + 1013 + 117 + + + + + + + 6 + + + + + background:rgb(240, 240, 240) + + + false + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + + + qPixmapFromMimeSource + + + MonBoutonValide + QToolButton +
monBoutonValide.h
+
+
+ + commentaireLE + RBPoubelle + bCatalogue + RBValide + scrollAreaCommandes + + + +
diff --git a/UiQT4/desWidgetFact.ui b/UiQT4/desWidgetFact.ui index c469fec4..ab260042 100644 --- a/UiQT4/desWidgetFact.ui +++ b/UiQT4/desWidgetFact.ui @@ -169,7 +169,7 @@
- TextLabel + <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html>
diff --git a/UiQT4/desWidgetPlusieursBase.ui b/UiQT4/desWidgetPlusieursBase.ui index 318a4cd8..720c822d 100644 --- a/UiQT4/desWidgetPlusieursBase.ui +++ b/UiQT4/desWidgetPlusieursBase.ui @@ -199,7 +199,7 @@ border: 1px solid gray; 0 0 - 594 + 514 251 @@ -645,6 +645,19 @@ border: 1px solid gray; + + scrollArea + RBValide + RBHaut + RBBas + RBMoins + RBPlus + RBVoisListe + RBSalome + RBSalomeVue + BSelectFichier + RBPoubelle + diff --git a/UiQT4/desWidgetPlusieursInto.ui b/UiQT4/desWidgetPlusieursInto.ui index b52133ec..dee582f9 100644 --- a/UiQT4/desWidgetPlusieursInto.ui +++ b/UiQT4/desWidgetPlusieursInto.ui @@ -133,7 +133,7 @@ - 220 + 300 24 diff --git a/UiQT4/desWidgetSimpBase.ui b/UiQT4/desWidgetSimpBase.ui index 47fca4b0..73fd5eb1 100644 --- a/UiQT4/desWidgetSimpBase.ui +++ b/UiQT4/desWidgetSimpBase.ui @@ -76,6 +76,9 @@ 35 + + Qt::ClickFocus + border : 0px @@ -196,6 +199,9 @@ border:0px; 31 + + Qt::ClickFocus + border : 0px diff --git a/UiQT4/desWidgetSimpComplexe.ui b/UiQT4/desWidgetSimpComplexe.ui index 389ec54c..48736ed3 100644 --- a/UiQT4/desWidgetSimpComplexe.ui +++ b/UiQT4/desWidgetSimpComplexe.ui @@ -309,6 +309,15 @@
monBoutonValide.h
+ + LEComp + RBRI + RBMP + LEReel + LEImag + RBPoubelle + RBValide + diff --git a/UiQT4/desWidgetSimpFichier.ui b/UiQT4/desWidgetSimpFichier.ui index ca35fbbc..588a7c50 100644 --- a/UiQT4/desWidgetSimpFichier.ui +++ b/UiQT4/desWidgetSimpFichier.ui @@ -7,7 +7,7 @@ 0 0 1064 - 37 + 41 @@ -106,7 +106,7 @@ - 220 + 300 24 @@ -160,7 +160,7 @@ border:0px; - 58 + 70 20 @@ -297,6 +297,13 @@ border:0px;
monBoutonValide.h
+ + lineEditVal + BFichier + BVisuFichier + RBPoubelle + RBValide + diff --git a/UiQT4/desWidgetSimpTuple.ui b/UiQT4/desWidgetSimpTuple.ui index 2dbaa1cc..430fda32 100644 --- a/UiQT4/desWidgetSimpTuple.ui +++ b/UiQT4/desWidgetSimpTuple.ui @@ -75,7 +75,7 @@ - 178 + 300 24 diff --git a/UiQT4/desWidgetSimpTxt.ui b/UiQT4/desWidgetSimpTxt.ui index df175fc0..dbcf0bec 100644 --- a/UiQT4/desWidgetSimpTxt.ui +++ b/UiQT4/desWidgetSimpTxt.ui @@ -79,6 +79,9 @@ 35 + + Qt::ClickFocus + border : 0px @@ -188,6 +191,9 @@ border:0px; 30 + + Qt::ClickFocus + border : 0px @@ -226,6 +232,9 @@ border:0px; 30 + + Qt::ClickFocus + border:0px @@ -274,6 +283,9 @@ border:0px; 31 + + Qt::ClickFocus + border : 0px @@ -303,6 +315,13 @@ border:0px;
monBoutonValide.h
+ + lineEditVal + BSalome + BView2D + RBValide + RBPoubelle + diff --git a/UiQT4/desWidgetTuple2.ui b/UiQT4/desWidgetTuple2.ui index 36981e86..c66b0645 100644 --- a/UiQT4/desWidgetTuple2.ui +++ b/UiQT4/desWidgetTuple2.ui @@ -76,6 +76,9 @@ 35 + + Qt::ClickFocus + border : 0px @@ -186,6 +189,9 @@ border:0px; 16777215 + + Qt::StrongFocus + background:rgb(235,235,235); border:0px; @@ -231,6 +237,9 @@ border:0px; 31 + + Qt::ClickFocus + border : 0px @@ -258,6 +267,11 @@ border:0px;
monBoutonValide.h
+ + lineEditVal1 + lineEditVal2 + RBValide + diff --git a/UiQT4/desWidgetTuple3.ui b/UiQT4/desWidgetTuple3.ui index 4991705c..55526bd0 100644 --- a/UiQT4/desWidgetTuple3.ui +++ b/UiQT4/desWidgetTuple3.ui @@ -76,6 +76,9 @@ 35 + + Qt::ClickFocus + border : 0px @@ -184,6 +187,9 @@ border:0px; 16777215 + + Qt::StrongFocus + background:rgb(235,235,235); border:0px; @@ -217,6 +223,9 @@ border:0px; 16777215 + + Qt::StrongFocus + background:rgb(235,235,235); border:0px; @@ -230,6 +239,19 @@ border:0px;
+ + + + Qt::Horizontal + + + + 40 + 20 + + + + @@ -244,6 +266,9 @@ border:0px; 31 + + Qt::ClickFocus + border : 0px diff --git a/generator/generator_CARMELCND.py b/generator/generator_CARMELCND.py index 3110e81a..ab6e28b9 100755 --- a/generator/generator_CARMELCND.py +++ b/generator/generator_CARMELCND.py @@ -27,7 +27,7 @@ from generator_python import PythonGenerator import Accas debutTextePhys ="[VERSION\n NUM 1\n FILETYPE PHYS\n]\n" -debutTextePhys+="[MATERIALS\n [CONDUCTOR\n" +debutTextePhys+="[MATERIALS\n" texteConductor =" [CONDUCTIVITY\n LAW LINEAR\n" texteConductor+=" HOMOGENEOUS TRUE\n" texteConductor+=" ISOTROPIC TRUE\n" @@ -45,16 +45,17 @@ debutTexteParam ="[VERSION\n NUM 1\n FILETYPE PARAM\n]\n" debutTexteParam+="[PROBLEM\n NAME HARMONIC\n]\n" debutTexteParam+="[CAR_FILES\n NAME " -debutTexteBav ="[ZSURFACIC\n NAME BAV\n [CONDUCTIVITY\n" -debutTexteBav+=" LAW LINEAR\n" -debutTexteBav+=" HOMOGENEOUS TRUE\n" -debutTexteBav+=" ISOTROPIC TRUE\n" -debutTexteBav+=" VALUE COMPLEX " -texteBav2 =" 0.0000000000000000E+00\n ]\n" -texteBav2 +=" [PERMEABILITY\n LAW LINEAR\n" -texteBav2 +=" HOMOGENEOUS TRUE\n" -texteBav2 +=" ISOTROPIC TRUE\n VALUE COMPLEX " -finTexteBav =" 0.0000000000000000E+00\n ]\n]\n" +debutTexteZs0 =" [ZSURFACIC\n NAME " +debutTexteZs ="\n [CONDUCTIVITY\n" +debutTexteZs+=" LAW LINEAR\n" +debutTexteZs+=" HOMOGENEOUS TRUE\n" +debutTexteZs+=" ISOTROPIC TRUE\n" +debutTexteZs+=" VALUE COMPLEX " +texteZs2 =" 0.0000000000000000E+00\n ]\n" +texteZs2 +=" [PERMEABILITY\n LAW LINEAR\n" +texteZs2 +=" HOMOGENEOUS TRUE\n" +texteZs2 +=" ISOTROPIC TRUE\n VALUE COMPLEX " +finTexteZs =" 0.0000000000000000E+00\n ]\n ]\n" def entryPoint(): """ @@ -102,37 +103,39 @@ class CARMELCNDGenerator(PythonGenerator): # ecriture #---------------------------------------------------------------------------------------- - def writeDefault(self,fn) : + def writeDefault(self,file) : +#file ne sert pas self.texteIngendof="" self.texteParam=debutTexteParam self.chercheFichier() self.traiteSourceVCut() - self.traiteZs_Bav() - fileIngendof = fn[:fn.rfind(".")] + '.ingendof' + fn=self.fnBase + fileIngendofDeb = fn[:fn.rfind(".")] + '.ingendof' + fileIngendof = os.path.join(self.sauveDirectory,fileIngendofDeb) f = open( str(fileIngendof), 'wb') f.write( self.texteIngendof ) f.close() - f = open( str("/tmp/toto"), 'wb') - f.write( self.texteIngendof ) - f.close() self.textePhys=debutTextePhys self.traiteMateriaux() - filePhys = fn[:fn.rfind(".")] + '.phys' + filePhysDeb = fn[:fn.rfind(".")] + '.phys' + filePhys = os.path.join(self.sauveDirectory,filePhysDeb) f = open( str(filePhys), 'wb') f.write( self.textePhys ) f.close() - fileParam = fn[:fn.rfind(".")] + '.param' + fileParamDeb = fn[:fn.rfind(".")] + '.param' + fileParam = os.path.join(self.sauveDirectory,fileParamDeb) self.traiteParam() f = open( str(fileParam), 'wb') f.write( self.texteParam ) f.close() - self.texteCMD="[ \n GLOBAL \n] \n[ \nVISU \nDomaine \nMED \nELEMENT \n] " - fileCMD = fn[:fn.rfind(".")] + '.cmd' + self.texteCMD="[ \n GLOBAL \n] \n[ \nVISU \n"+self.fnBase.split(".med")[0]+"\nMED \nELEMENT \n] " + fileCMDDeb = fn[:fn.rfind(".")] + '.cmd' + fileCMD =os.path.join(self.sauveDirectory,fileCMDDeb) f = open( str(fileCMD), 'wb') f.write( self.texteCMD ) f.close() @@ -140,13 +143,15 @@ class CARMELCNDGenerator(PythonGenerator): nomBaseFichier=os.path.basename(fileParam).split(".med")[0] self.texteInfcarmel=nomBaseFichier - fileInfcarmel = fn[:fn.rfind(".")] + '.infcarmel' + fileInfcarmelDeb = fn[:fn.rfind(".")] + '.infcarmel' + fileInfcarmel=os.path.join(self.sauveDirectory,fileInfcarmelDeb) f = open( str(fileInfcarmel), 'wb') f.write( self.texteInfcarmel ) f.close() self.texteInpostpro=nomBaseFichier+"\n"+nomBaseFichier.split(".param")[0]+'.xmat\n'+nomBaseFichier.split(".param")[0]+'.cmd' - fileInpostpro = fn[:fn.rfind(".")] + '.inpostprocess' + fileInpostproDeb = fn[:fn.rfind(".")] + '.inpostprocess' + fileInpostpro = os.path.join(self.sauveDirectory,fileInpostproDeb) f = open( str(fileInpostpro), 'wb') f.write( self.texteInpostpro ) f.close() @@ -164,22 +169,25 @@ class CARMELCNDGenerator(PythonGenerator): debut=e.valeur[17:] liste=debut.split(" - ") nomFichier=liste[0] - print 'nom=',nomFichier - print 'e.va=',e.valeur.split(" ")[-1] - print 'liste=',liste + #print 'nom=',nomFichier + #print 'e.va=',e.valeur.split(" ")[-1] + #print 'liste=',liste nomDomaine=e.valeur.split(" ")[-1] break + self.sauveDirectory=os.path.dirname(nomFichier) + self.fnBase=os.path.basename(nomFichier) self.texteIngendof =os.path.basename(nomFichier)+"\n" self.texteParam += os.path.basename(nomFichier).split(".med")[0]+".car\n]\n" self.texteParam +="[PHYS_FILES\n NAME "+os.path.basename(nomFichier).split(".med")[0]+".phys\n]\n" #---------------------------------------------------------------------------------------- -# analyse du dictionnaire pour trouver les sources et les VCut +# analyse du dictionnaire pour trouver les sources et les VCut et les ZS #---------------------------------------------------------------------------------------- def traiteSourceVCut(self) : listeSource=[] listeVCut=[] + self.listeZS=[] self.texteSourcePhys="[SOURCES\n" for k in self.dictMCVal.keys(): if k.find ("______SOURCE__") > -1 : @@ -188,10 +196,13 @@ class CARMELCNDGenerator(PythonGenerator): if k.find ("______VCUT__") > -1 : noms=k.split("_____") if noms[0] not in listeVCut : listeVCut.append(noms[0]) + if k.find ("______ZS") > -1 : + noms=k.split("_____") + if noms[0] not in self.listeZS : self.listeZS.append(noms[0]) listeSource.sort() for source in listeSource: debutKey=source+"______SOURCE__" - texteSource=self.dictMCVal[debutKey+"NomDomaine"]+"\n" + texteSource=self.dictMCVal[debutKey+"EnveloppeConnexeInducteur"]+"\n" texteSource+="2\n" for val in self.dictMCVal[debutKey+"VecteurDirecteur"] : texteSource+=str(val)+" " @@ -199,7 +210,7 @@ class CARMELCNDGenerator(PythonGenerator): for val in self.dictMCVal[debutKey+"Centre"] : texteSource+=str(val)+" " texteSource+="\n" - texteSource+=str(self.dictMCVal[debutKey+"SectionDomaine"])+"\n" + texteSource+=str(self.dictMCVal[debutKey+"SectionBobine"])+"\n" self.texteIngendof+=texteSource self.texteSourcePhys+=" [STRANDED_INDUCTOR\n" self.texteSourcePhys+=" NAME "+source+"\n" @@ -216,15 +227,6 @@ class CARMELCNDGenerator(PythonGenerator): if self.dictMCVal["__PARAMETRES__TypedeFormule"]=="APHI" :self.texteIngendof+="1\n" else : self.texteIngendof+="2\n" -#---------------------------------------------------------------------------------------- - def traiteZs_Bav(self): -#---------------------------------------------------------------------------------------- - if "__ZS_BAV__Permeabilite" in self.dictMCVal.keys(): - self.texteSourcePhys+=debutTexteBav - self.texteSourcePhys+=str(self.dictMCVal["__ZS_BAV__Conductivite"]) - self.texteSourcePhys+=texteBav2 - self.texteSourcePhys+=str(self.dictMCVal["__ZS_BAV__Permeabilite"]) - self.texteSourcePhys+=finTexteBav #---------------------------------------------------------------------------------------- @@ -241,13 +243,14 @@ class CARMELCNDGenerator(PythonGenerator): if noms[0] not in listeNoCond : listeNoCond.append(noms[0]) for c in listeCond: + self.textePhys +=" [CONDUCTOR\n" self.textePhys +=" NAME "+c+"\n" self.textePhys +=texteConductor self.textePhys+=" VALUE COMPLEX " self.textePhys+=str(self.dictMCVal[c+"______CONDUCTEUR__Conductivite"]) self.textePhys+=texteConducto2 self.textePhys+=" VALUE COMPLEX " - self.textePhys+=str(self.dictMCVal[c+"______CONDUCTEUR__Permeabilite"]) + self.textePhys+=str(self.dictMCVal[c+"______CONDUCTEUR__PermeabiliteRelative"]) self.textePhys+=" 0.0000000000000000E+00\n ]\n ]\n" for c in listeNoCond: @@ -255,9 +258,17 @@ class CARMELCNDGenerator(PythonGenerator): self.textePhys +=" NAME "+c+"\n" self.textePhys += texteNoCond self.textePhys+=" VALUE COMPLEX " - self.textePhys+=str(self.dictMCVal[c+"______NOCOND__Permeabilite"]) + self.textePhys+=str(self.dictMCVal[c+"______NOCOND__PermeabiliteRelative"]) self.textePhys+=" 0.0000000000000000E+00\n ]\n ]\n" + for zs in self.listeZS: + self.textePhys+=debutTexteZs0+zs + self.textePhys+=debutTexteZs + self.textePhys+=str(self.dictMCVal[zs+"______ZS__Conductivite"]) + self.textePhys+=texteZs2 + self.textePhys+=str(self.dictMCVal[zs+"______ZS__PermeabiliteRelative"]) + self.textePhys+=finTexteZs + self.textePhys+="]\n" self.textePhys+=self.texteSourcePhys @@ -265,7 +276,7 @@ class CARMELCNDGenerator(PythonGenerator): # Creation du fichier Param #---------------------------------------------------------------------------------------- def traiteParam(self): - self.texteParam +="[FREQUENCY\n SINGLE "+str(self.dictMCVal["__PARAMETRES__Frequence_en_Hz"])+"\n]\n" + self.texteParam +="[FREQUENCY\n SINGLE "+str(self.dictMCVal["__PARAMETRES__Frequence"])+"\n]\n" self.texteParam +="[SOLVER\n NAME BICGCR\n" self.texteParam +=" [ITERATIVE_PARAM\n" self.texteParam +=" NITERMAX "+str(self.dictMCVal["__PARAMETRES__Nb_Max_Iterations"])+"\n" diff --git a/generator/generator_openturns_study.py b/generator/generator_openturns_study.py index 0b0df3bd..e603d902 100644 --- a/generator/generator_openturns_study.py +++ b/generator/generator_openturns_study.py @@ -128,9 +128,8 @@ class OpenturnsGenerator(PythonGenerator): def writeDefault(self, fn): fileSTD = fn[:fn.rfind(".")] + '.py' - f = open( str(fileSTD), 'wb') - f.write( self.texteSTD ) - f.close() + with open(fileSTD, 'w') as f: + f.write(self.texteSTD) def getGenerateur (self): print "IDM: getGenerateur dans generator_openturns_study.py" -- 2.39.2