X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetPlusieursPlie.py;h=60f96104ae220eae6579e65443b041788d4191cc;hb=96176d0080e0d4efbd29d98c0df700a64a82acdc;hp=a12875fc67e52e41751d1368b5d1fa87ddde42a0;hpb=42895950e564e837c445896b5bac263370bdf37b;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetPlusieursPlie.py b/InterfaceQT4/monWidgetPlusieursPlie.py index a12875fc..60f96104 100644 --- a/InterfaceQT4/monWidgetPlusieursPlie.py +++ b/InterfaceQT4/monWidgetPlusieursPlie.py @@ -18,47 +18,87 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # # Modules Python -import string,types,os,sys +from __future__ import absolute_import +try : + from builtins import str +except : pass -# Modules Eficas -from determine import monEnvQT5 -#if monEnvQT5: -# from PyQt5.QtWidgets import Qicon, QScrollbar, QFrame -# from PyQt5.QtCore import QTimer, QSize, QT -#else : -# from PyQt4.QtGui import * -# from PyQt4.QtCore import +import types,os,sys,re + +from PyQt5.QtWidgets import QFrame +from PyQt5.QtCore import QTimer, QSize, Qt +from PyQt5.QtGui import QIcon, QBrush, QColor from Extensions.i18n import tr -from feuille import Feuille +from .feuille import Feuille from desWidgetPlusieursPlie import Ui_WidgetPlusieursPlie +from .politiquesValidation import PolitiquePlusieurs +from .qtSaisie import SaisieValeur + +pattern_blanc = re.compile(r"^\s*$") + class MonWidgetPlusieursPlie (Ui_WidgetPlusieursPlie,Feuille): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - #print "MonWidgetPlusieursBase", nom + #print ("MonWidgetPlusieursBase", nom) Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) self.parentQt.commandesLayout.insertWidget(-1,self) self.AAfficher=self.lineEditVal self.maCommande.listeAffichageWidget.append(self.lineEditVal) - - if monEnvQT5 : - self.BVisuListe.clicked(self.selectWidgetDeplie) + if self.node.item.has_into() : + self.lineEditVal.setReadOnly(True) + self.lineEditVal.setStyleSheet("background:rgb(235,235,235);\n") + self.lineEditVal.setToolTip("Ensemble discret de valeurs possibles, pas de Saisie Manuelle") + #self.lineEditVal.setPen(QtGui.QColor(0,0,200)) + #b=QBrush(Qt.DiagCrossPattern) + #b.setColor(QColor(255,100,0)) + #self.lineEditVal.setBrush(b) else : - self.connect(self.BVisuListe,SIGNAL("clicked()"), self.selectWidgetDeplie) + self.lineEditVal.returnPressed.connect(self.valeurEntree) + self.BVisuListe.clicked.connect(self.selectWidgetDeplie) def setValeurs(self): self.listeValeursCourantes=self.node.item.GetListeValeurs() if self.listeValeursCourantes != [] : self.lineEditVal.setText(str(self.listeValeursCourantes)) else : self.lineEditVal.setText("") - self.lineEditVal.setReadOnly(True) + self.politique=PolitiquePlusieurs(self.node,self.editor) return def selectWidgetDeplie(self): self.editor.listeDesListesOuvertes.add(self.node.item) self.reaffichePourDeplier() + def valeurEntree(self): + valeurTexte=self.lineEditVal.text() + print (valeurTexte[0]) + print (valeurTexte[-1]) + if valeurTexte[0] == '[' or valeurTexte[0] == '(' : valeurTexte = valeurTexte[1:] + if valeurTexte[-1] == ']' or valeurTexte[-1] == ')' : valeurTexte = valeurTexte[:-1] + print (valeurTexte) + listeValeursBrutes=valeurTexte.split(',') + if listeValeursBrutes == [] or listeValeursBrutes == None : + self.lineEditVal.setText(str(self.listeValeursCourantes)) + return + listeValeur=[] + for v in listeValeursBrutes: + if v == None or pattern_blanc.match(v) : + self.editor.affiche_infos(str(listeValeur)+' Valeurs saisies incorrectes',Qt.red) + return + liste,validite=SaisieValeur.TraiteLEValeur(self,str(v)) + if not validite : + self.editor.affiche_infos(str(listeValeur) +' Valeurs saisies incorrectes',Qt.red) + return + listeValeur.append(liste[0]) + validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(listeValeur,-1,[]) + if validite : + self.node.item.set_valeur(listeValeur) + self.node.item.isvalid() + self.setValeurs() + else : + self.editor.affiche_infos(str(listeValeur) + ' ' +comm,Qt.red) + self.lineEditVal.setText('')