From 38922a3cfdcc76f6983b987de74706c54f562168 Mon Sep 17 00:00:00 2001
From: "pascale.noyret"
'+c+self.objSimp.get_fr().decode('latin-1','replace')+"
" + #c2 = ''+c+self.objSimp.get_fr()+"
" self.label.setToolTip(c2) self.aide=self.objSimp.get_fr().decode('latin-1','ignore')+" "+c + #self.aide=self.objSimp.get_fr()+" "+c else : c+=self.finCommentaire() if c != "" and c != None : diff --git a/InterfaceQT4/monChoixCommande.py b/InterfaceQT4/monChoixCommande.py index ce11c7d5..09a0913f 100644 --- a/InterfaceQT4/monChoixCommande.py +++ b/InterfaceQT4/monChoixCommande.py @@ -194,8 +194,9 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): self.dicoCmd[tr(cmd)]=cmd rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) - rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick self.commandesLayout.addWidget(rbcmd) + if self.editor.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick + else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick self.buttonGroup.buttonClicked.connect(self.rbClique) elif self.affiche_groupe==1 : listeGroupes,dictGroupes=self.jdc.get_groups() @@ -217,7 +218,8 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) - rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + if self.editor.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick + else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick self.buttonGroup.buttonClicked.connect(self.rbClique) label2=QLabel(self) label2.setText(" ") @@ -236,7 +238,8 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) - rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick + if self.editor.simpleClic : rbcmd.mouseReleaseEvent=self.insereNoeudApresClick + else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick self.buttonGroup.buttonClicked.connect(self.rbClique) @@ -272,16 +275,18 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): rbcmd=QPushButton(tr(cmd)) rbcmd.setGeometry(QRect(40, 20, 211, 71)) rbcmd.setMaximumSize(QSize(250, 81)) - rbcmd.setStyleSheet("background-color : rgb(168, 227, 142);\n" + rbcmd.setStyleSheet("background-color : rgb(66, 165, 238);\n" "/*border-style : outset;*/\n" "border-radius : 20px;\n" "border-width : 30 px;\n" "border-color : beige;\n" -"text-align : left") - icon = QIcon() - icon.addPixmap(QPixmap("../monCode/images/essaiAster.png"), QIcon.Normal, QIcon.Off) - rbcmd.setIcon(icon) - rbcmd.setIconSize(QSize(48, 48)) +"text-align : center") + if cmd in self.editor.dicoImages : + fichier=self.editor.dicoImages[cmd] + icon = QIcon() + icon.addPixmap(QPixmap(fichier), QIcon.Normal, QIcon.Off) + rbcmd.setIcon(icon) + rbcmd.setIconSize(QSize(48, 48)) self.buttonGroup.addButton(rbcmd) self.maGrilleBouton.addWidget(rbcmd,ligne,col) @@ -295,7 +300,6 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget): self.insereNoeudApresClick(None) def rbClique(self,id): - #print ('ds rbClique') self.name=self.dicoCmd[str(id.text())] definitionEtape=getattr(self.jdc.cata[0],self.name) commentaire=getattr(definitionEtape,self.jdc.lang) diff --git a/InterfaceQT4/monWidgetPlusieursBase.py b/InterfaceQT4/monWidgetPlusieursBase.py index fe2ab640..d66aa6dc 100644 --- a/InterfaceQT4/monWidgetPlusieursBase.py +++ b/InterfaceQT4/monWidgetPlusieursBase.py @@ -43,7 +43,7 @@ from .gereListe import GereListe from .gereListe import GerePlie from .gereListe import LECustom -dicoLongueur={2:95,3:125,4:154,5:183,6:210} +dicoLongueur={2:95,3:125,4:154,5:183,6:210,float('inf'):210} hauteurMax=253 class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie): @@ -75,14 +75,16 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.BSelectFichier.setIconSize(QSize(32, 32)) 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) + #if self.monSimpDef.max != "**" and self.monSimpDef.max < 7: + # hauteur=dicoLongueur[self.monSimpDef.max] + # hauteur=dicoLongueur[2] + # print ('hauteur', hauteur) + # 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.finCommentaireListe() self.parentQt.commandesLayout.insertWidget(-1,self) self.maCommande.listeAffichageWidget.append(self.lineEditVal1) @@ -94,10 +96,10 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.vScrollBar = self.scrollArea.verticalScrollBar() self.politique=PolitiquePlusieurs(self.node,self.editor) # construction du min de valeur a entrer - if self.monSimpDef.max == "**" : aConstruire=7 - else : aConstruire=self.monSimpDef.max - #for i in range(1,aConstruire): - for i in range(1,7): + if self.monSimpDef.max == "**" : aConstruire=7 + elif self.monSimpDef.max == float('inf'): aConstruire=7 + else : aConstruire=self.monSimpDef.max + for i in range(1,aConstruire): self.ajoutLineEdit() QApplication.processEvents() self.scrollArea.ensureWidgetVisible(self.lineEditVal1) @@ -116,6 +118,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) # ajout d'une ligne vide ou affichage commentaire if self.indexDernierLabel < self.monSimpDef.max : self.ajoutLineEdit() else : self.scrollArea.setToolTip('nb max de valeurs atteint') + #self.adjustSize() #self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum) diff --git a/InterfaceQT4/monWidgetPlusieursPlie.py b/InterfaceQT4/monWidgetPlusieursPlie.py index bb5b066f..7da3e7ac 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('') diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py index 4ea5a099..82390b6f 100644 --- a/InterfaceQT4/qtSaisie.py +++ b/InterfaceQT4/qtSaisie.py @@ -124,7 +124,8 @@ class SaisieValeur(object): elif type(valeur) == bytes: listeValeurs=valeur.split(',') else: - listeValeurs.append(valeurBrute) + #listeValeurs.append(valeurBrute) + listeValeurs.append(valeur) return listeValeurs,1 -- 2.39.2