X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetRadioButton.py;h=1ba3e9cf59d5dc021ecf3f6a46baaafa6e2195a7;hb=96176d0080e0d4efbd29d98c0df700a64a82acdc;hp=ae75024f92004c9f744f14c4fb0b73d3cea77b52;hpb=8da5de6cb594bf9b703b723ace2514f644d866b8;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetRadioButton.py b/InterfaceQT4/monWidgetRadioButton.py index ae75024f..1ba3e9cf 100644 --- a/InterfaceQT4/monWidgetRadioButton.py +++ b/InterfaceQT4/monWidgetRadioButton.py @@ -18,17 +18,25 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # # Modules Python -import string,types,os +from __future__ import absolute_import +from __future__ import print_function +try : + from builtins import str +except : pass + +import types,os + +from PyQt5.QtCore import Qt +from PyQt5.QtWidgets import QWidget # Modules Eficas -from PyQt4.QtGui import * -from PyQt4.QtCore import * + from Extensions.i18n import tr -from feuille import Feuille +from .feuille import Feuille from desWidgetRadioButton import Ui_WidgetRadioButton -from politiquesValidation import PolitiqueUnique -from qtSaisie import SaisieValeur +from .politiquesValidation import PolitiqueUnique +from .qtSaisie import SaisieValeur class MonWidgetRadioButtonCommun (Feuille): @@ -40,15 +48,17 @@ class MonWidgetRadioButtonCommun (Feuille): self.determineChoix() self.setValeursApresBouton() self.parentQt.commandesLayout.insertWidget(-1,self) + self.AAfficher=self.radioButton_1 self.maCommande.listeAffichageWidget.append(self.radioButton_1) def setValeursApresBouton(self): if self.objSimp.get_valeur()==None : return valeur=self.objSimp.get_valeur() - if not(type(valeur) in types.StringTypes) : valeur=str(valeur) + if not(type(valeur) == str) : valeur=str(valeur) try : self.dict_bouton[valeur].setChecked(True) + self.dict_bouton[valeur].setFocus(True) except : pass @@ -57,16 +67,16 @@ class MonWidgetRadioButtonCommun (Feuille): i=1 j=len(self.maListeDeValeur) if j > self.maxI : - print "poumbadaboum" + print ("poumbadaboum") return while i < j+1 : nomBouton="radioButton_"+str(i) bouton=getattr(self,nomBouton) valeur=self.maListeDeValeur[i-1] - if not(type(valeur) in types.StringTypes) : valeur=str(valeur) - bouton.setText(valeur) + if not(type(valeur) == str) : valeur=str(valeur) + bouton.setText(tr(valeur)) self.dict_bouton[valeur]=bouton - self.connect(bouton,SIGNAL("clicked()"),self.boutonclic) + bouton.clicked.connect(self.boutonclic) bouton.keyPressEvent=self.keyPressEvent setattr(self,nomBouton,bouton) i=i+1 @@ -77,7 +87,7 @@ class MonWidgetRadioButtonCommun (Feuille): i=i+1 def boutonclic(self): - for valeur in self.dict_bouton.keys(): + for valeur in self.dict_bouton: if self.dict_bouton[valeur].isChecked(): #print "dans boutonclic is checked", valeur, type(valeur) SaisieValeur.LEValeurPressed(self,valeur) @@ -87,12 +97,13 @@ class MonWidgetRadioButtonCommun (Feuille): def keyPressEvent(self, event): if event.key() == Qt.Key_Right : self.selectSuivant(); return if event.key() == Qt.Key_Left : self.selectPrecedent(); return + if event.key() == Qt.Key_Return or event.key() == Qt.Key_Space : self.checkFocused(); return QWidget.keyPressEvent(self,event) def selectSuivant(self): aLeFocus=self.focusWidget() nom=aLeFocus.objectName()[12:] - i=nom.toInt()[0]+1 + i=int(nom)+1 if i == len(self.maListeDeValeur) +1 : i=1 nomBouton="radioButton_"+str(i) courant=getattr(self,nomBouton) @@ -101,17 +112,30 @@ class MonWidgetRadioButtonCommun (Feuille): def selectPrecedent(self): aLeFocus=self.focusWidget() nom=aLeFocus.objectName()[12:] - i=nom.toInt()[0]-1 + i=int(nom)-1 if i == 0 : i= len(self.maListeDeValeur) nomBouton="radioButton_"+str(i) courant=getattr(self,nomBouton) courant.setFocus(True) + def checkFocused(self): + aLeFocus=self.focusWidget() + nom=aLeFocus.objectName()[12:] + i=int(nom) + if i > 0 and i <= len(self.maListeDeValeur): + nomBouton="radioButton_"+str(i) + courant=getattr(self,nomBouton) + if not courant.isChecked(): + courant.setChecked(True) + self.boutonclic() + class MonWidgetRadioButton (Ui_WidgetRadioButton,MonWidgetRadioButtonCommun): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "MonWidgetRadioButton ", self - self.maListeDeValeur=monSimpDef.into + if type(monSimpDef.into) ==types.FunctionType : self.maListeDeValeur=monSimpDef.into() + else : self.maListeDeValeur=monSimpDef.into + MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) def setMaxI(self): @@ -121,7 +145,7 @@ class MonWidgetRadioButton (Ui_WidgetRadioButton,MonWidgetRadioButtonCommun): class MonWidgetRadioButtonSD (Ui_WidgetRadioButton,MonWidgetRadioButtonCommun): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - print "dans le init de MonWidgetRadioButtonSD",self + #print "dans le init de MonWidgetRadioButtonSD",self self.maListeDeValeur=node.item.get_sd_avant_du_bon_type() MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)