X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetSimpBase.py;h=ef4c5cea810fda7efdd2b1d661fd0a85da1b12ea;hb=5a28801efd8fd7e6487d1957dabac40b1f932cb4;hp=9788f9dc6245a42d649fd3177f70b924ee06cf1f;hpb=796ae9061bdbb9bbaffe59639526dd550b2839fb;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetSimpBase.py b/InterfaceQT4/monWidgetSimpBase.py index 9788f9dc..ef4c5cea 100644 --- a/InterfaceQT4/monWidgetSimpBase.py +++ b/InterfaceQT4/monWidgetSimpBase.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D +# Copyright (C) 2007-2017 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 @@ -18,30 +18,46 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # # Modules Python -import string,types,os +from __future__ import absolute_import +try : + from builtins import str +except : pass + +import types,os # Modules Eficas -from PyQt4.QtGui import * -from PyQt4.QtCore import * +from PyQt5.QtWidgets import QLineEdit +from PyQt5.QtCore import Qt from Extensions.i18n import tr -from feuille import Feuille +from .feuille import Feuille from desWidgetSimpBase import Ui_WidgetSimpBase -from politiquesValidation import PolitiqueUnique -from qtSaisie import SaisieValeur +from .politiquesValidation import PolitiqueUnique +from .qtSaisie import SaisieValeur class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) - print "MonWidgetSimpBase", nom - self.parentQt.commandesLayout.insertWidget(-1,self) + self.parentQt.commandesLayout.insertWidget(-1,self,1) self.setFocusPolicy(Qt.StrongFocus) - self.connect(self.lineEditVal,SIGNAL("returnPressed()"),self.LEValeurPressed) + self.lineEditVal.returnPressed.connect(self.LEvaleurPressed) self.AAfficher=self.lineEditVal self.maCommande.listeAffichageWidget.append(self.lineEditVal) + self.lineEditVal.focusInEvent=self.monFocusInEvent + self.lineEditVal.focusOutEvent=self.monFocusOutEvent + + def monFocusInEvent(self,event): + self.editor.nodeEnCours = self + QLineEdit.focusInEvent(self.lineEditVal,event) + + def monFocusOutEvent(self,event): + if self.oldValeurTexte != self.lineEditVal.text(): + self.oldValeurTexte= self.lineEditVal.text() + self.LEvaleurPressed() + QLineEdit.focusOutEvent(self.lineEditVal,event) #def showEvent(self, event): # if self.prendLeFocus==1 : @@ -51,23 +67,25 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): # QWidget.showEvent(self,event) def setValeurs(self): + #print ("dans setValeurs") self.politique=PolitiqueUnique(self.node,self.editor) - valeur=self.node.item.get_valeur() - valeurTexte=self.politique.GetValeurTexte(valeur) - chaine=QString("") + valeur=self.node.item.getValeur() + valeurTexte=self.politique.getValeurTexte(valeur) + chaine="" if valeurTexte != None : from decimal import Decimal if isinstance(valeurTexte,Decimal): chaine=str(valeurTexte) elif repr(valeurTexte.__class__).find("PARAMETRE") > 0: - chaine = QString(repr(valeur)) + chaine = repr(valeur) else : #PN ???? #try : # chaine=QString("").setNum(valeurTexte) #except : - chaine=QString(str(valeurTexte)) + chaine=str(valeurTexte) + self.oldValeurTexte=chaine self.lineEditVal.setText(chaine) @@ -79,22 +97,28 @@ class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille): 'Matrice' : tr(u'Une Matrice est attendue. '), 'Fichier' : tr(u'Un fichier est attendu. '), 'FichierNoAbs' : tr(u'Un fichier est attendu. '), - 'Repertoire' : tr(u'Un repertoire est attendu. ')} - if mc.type[0] != types.ClassType: + 'Repertoire' : tr(u'Un repertoire est attendu. '), + 'FichierOuRepertoire' : tr(u'Un repertoire ou un fichier est attendu. '), + 'Heure' : tr(u'Heure sous la forme HH:MM'), + 'Date' : tr(u'Date sous la forme JJ/MM/AA')} + if mc.type[0] != type: commentaire = d_aides.get(mc.type[0], tr("Type de base inconnu")) else : commentaire="" return commentaire - def LEValeurPressed(self): - if str(self.lineEditVal.text())=="" or str(self.lineEditVal.text())==None : return - SaisieValeur.LEValeurPressed(self) + def LEvaleurPressed(self): + # pour les soucis d encoding + try : + if str(self.lineEditVal.text())=="" or str(self.lineEditVal.text())==None : return + except : pass + SaisieValeur.LEvaleurPressed(self) self.parentQt.donneFocus() self.setValeurs() self.reaffiche() #if self.objSimp.parent.nom == "MODEL" : - # if self.objSimp.isvalid(): + # if self.objSimp.isValid(): # self.objSimp.parent.change_fichier="1" - #self.node.item.parent.build_include(None,"") + #self.node.item.parent.buildInclude(None,"")