X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetPlusieursPlie.py;h=60f96104ae220eae6579e65443b041788d4191cc;hb=934d2d925f8b071ffdce594fd2d42df45333764a;hp=bb5b066fd5a4587319f174f5a9fc38c1854fa98d;hpb=1b91010fc2c0a681db9177d6fa0e4e0af866ec31;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetPlusieursPlie.py b/InterfaceQT4/monWidgetPlusieursPlie.py index bb5b066f..60f96104 100644 --- a/InterfaceQT4/monWidgetPlusieursPlie.py +++ b/InterfaceQT4/monWidgetPlusieursPlie.py @@ -23,27 +23,41 @@ try : from builtins import str except : pass -import types,os,sys +import types,os,sys,re from PyQt5.QtWidgets import QFrame from PyQt5.QtCore import QTimer, QSize, Qt -from PyQt5.QtGui import QIcon +from PyQt5.QtGui import QIcon, QBrush, QColor from Extensions.i18n import tr 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 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.lineEditVal.returnPressed.connect(self.valeurEntree) self.BVisuListe.clicked.connect(self.selectWidgetDeplie) @@ -51,11 +65,40 @@ class MonWidgetPlusieursPlie (Ui_WidgetPlusieursPlie,Feuille): 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('')