From 0ebea67f5bd6eb0ea2a15a3e9f249d621ecb4488 Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Mon, 9 Nov 2020 13:22:55 +0100 Subject: [PATCH] gestion des listes sauf ASSD --- InterfaceQT4/gereListe.py | 178 +++------ InterfaceQT4/gereListe_afetrMT.py | 360 ------------------ InterfaceQT4/monWidgetCreeUserAssd.py | 2 +- .../monWidgetPlusieursASSDIntoOrdonne.py | 12 +- InterfaceQT4/monWidgetPlusieursBase.py | 188 +++++---- .../monWidgetPlusieursCreeUserAssd.py | 220 +++++++++++ InterfaceQT4/monWidgetPlusieursInto.py | 3 +- InterfaceQT4/monWidgetPlusieursIntoOrdonne.py | 12 +- InterfaceQT4/monWidgetPlusieursTuple.py | 4 +- 9 files changed, 385 insertions(+), 594 deletions(-) delete mode 100644 InterfaceQT4/gereListe_afetrMT.py create mode 100644 InterfaceQT4/monWidgetPlusieursCreeUserAssd.py diff --git a/InterfaceQT4/gereListe.py b/InterfaceQT4/gereListe.py index 634bcabd..30750ba5 100644 --- a/InterfaceQT4/gereListe.py +++ b/InterfaceQT4/gereListe.py @@ -45,79 +45,46 @@ class LECustom(QLineEdit): Constructor """ QLineEdit.__init__(self,parent) - + self.parentQt=parentQt self.num=i self.dansUnTuple=False self.numDsLaListe=-1 self.parentTuple=None self.valeur=None - self.textEdited.connect(self.edited) - self.parentWidgetPlusieurs = parent - self.oldValeur=None - self.editingFinished.connect(self.editFinished) - self.returnPressed.connect(self.changeValeur) - - def edited(self,text): - #print ('dans textEdited') - self.parentQt.changeUnLineEdit=True def focusInEvent(self,event): #print ("dans focusInEvent de LECustom") self.parentQt.aEuLeFocus=True - self.parentQt.numlineEditEnCours=self.num - self.parentQt.lineEditEnEdition=self + self.aEuLeFocus=True + self.parentQt.LineEditEnCours=self + self.parentQt.numLineEditEnCours=self.num self.parentQt.textSelected=self.text() self.setStyleSheet("border: 2px solid gray") - self.oldValeur=self.text() QLineEdit.focusInEvent(self,event) def focusOutEvent(self,event): - #print ("dans focusOutEvent de LECustom") + #print (self.aEuLeFocus) self.setStyleSheet("border: 0px") if self.dansUnTuple : self.setStyleSheet("background:rgb(235,235,235); border: 0px;") elif self.num % 2 == 1 : self.setStyleSheet("background:rgb(210,210,210)") else : self.setStyleSheet("background:rgb(235,235,235)") - if (self.oldValeur == self.text()): QLineEdit.focusOutEvent(self,event);return - self.changeValeur() + if self.aEuLeFocus: + self.aEuLeFocus=False + self.litValeur() + if self.dansUnTuple : self.parentTuple.getValeur() QLineEdit.focusOutEvent(self,event) - - def editFinished(self): - #print ("dans editFinished de LECustom") - #print (self.oldValeur, self.text()) - if (self.oldValeur == self.text()): return - self.changeValeur() - - def changeValeur(self): - if (self.oldValeur == self.text()): return - self.litValeur() - #print ('changeValeur', self.parentQt.indexDernierLabel) - self.parentQt.lineEditEnEdition=self - self.parentQt.changeValeur(self, numero=self.num) + def litValeur(self): - #print ("dans litValeur de LECustom", self.num) - #if (self.oldValeur == self.text()): return - self.oldValeur = self.text() + #print ("dans litValeur de LECustom") + self.aEuLeFocus=False val=str(self.text()) - - # on verifie les ',' - lval=val.split(',') - if len (lval) == 2 : - msgBox=QMessageBox() - msgBox.setText("separator ',' ") - msgBox.setInformativeText("Do you want to enter " + '.'.join(lval) + "?") - msgBox.setStandardButtons( QMessageBox.Ok | QMessageBox.Cancel) - msgBox.setDefaultButton(QMessageBox.Ok) - ret = msgBox.exec_() - if ret != 1024 : self.setText("") - else : self.setText('.'.join(lval)) - self.litValeur() - if len (lval) > 2 : - self.setText("") - self.litValeur() - if str(val)=="" or val==None : self.valeur=None; return - try : valeur=eval(val,{}) + if str(val)=="" or val==None : + self.valeur=None + return + try : + valeur=eval(val,{}) except : try : d=self.parentQt.parentQt.objSimp.jdc.getContexteAvant(self.parentQt.objSimp. etape) @@ -125,27 +92,19 @@ class LECustom(QLineEdit): except : valeur=val self.valeur=valeur - #print ('on met self.valeur', self.valeur) - - + #print ('self.valeur', self.valeur) + + def clean(self): self.setText("") - self.oldValeur=None - self.valeur=None def getValeur(self): - if self.oldValeur != self.text(): self.litValeur() - if self.oldValeur == None or self.oldValeur == '' : self.litValeur() - if self.valeur == None or self.valeur == '' : self.litValeur() - self.oldValeur = self.text() - #print ('ds getValeur',self.num, self.valeur) + #return self.text() + self.litValeur() return self.valeur def setValeur(self,valeur): - #print ('ds setValeur',self.num, valeur, ' a la place de ',self.valeur) - if valeur != None : self.setText(str(valeur)) - else : self.setText('') - self.oldValeur=None + self.setText(valeur) @@ -204,7 +163,7 @@ class GereListe(object): if i.find(self.filtre) == 0 :l.append(i) self.listeAAfficher=l if self.alpha : self.listeAAfficher.sort() - + def LEFiltreReturnPressed(self): self.filtre= self.LEFiltre.text() self.prepareListeResultatFiltre() @@ -226,70 +185,60 @@ class GereListe(object): def hautPushed(self): if self.numLineEditEnCours == 0 : return - if self.numlineEditEnCours == 1 : return - else : numEchange=self.numlineEditEnCours-1 - self.echange(self.numlineEditEnCours,numEchange) - self.lineEditEnCours.setFocus(True) - self.scrollArea.ensureWidgetVisible(self.lineEditEnCours) + if self.numLineEditEnCours == 1 : return + else : numEchange=self.numLineEditEnCours-1 + self.echange(self.numLineEditEnCours,numEchange) + self.LineEditEnCours.setFocus(True) + self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) def basPushed(self): if self.numLineEditEnCours == 0 : return - if self.numlineEditEnCours == self.indexDernierLabel : return - else : numEchange=self.numlineEditEnCours+1 - self.echange(self.numlineEditEnCours,numEchange) - self.lineEditEnCours.setFocus(True) - self.scrollArea.ensureWidgetVisible(self.lineEditEnCours) + if self.numLineEditEnCours == self.indexDernierLabel : return + else : numEchange=self.numLineEditEnCours+1 + self.echange(self.numLineEditEnCours,numEchange) + self.LineEditEnCours.setFocus(True) + self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) def echange(self,num1,num2): # on donne le focus au a celui ou on a bouge # par convention le 2 nomLineEdit=self.nomLine+str(num1) - #print nomLineEdit + #print (nomLineEdit) courant=getattr(self,nomLineEdit) valeurAGarder=courant.text() nomLineEdit2=self.nomLine+str(num2) - #print nomLineEdit2 + #print (nomLineEdit2) courant2=getattr(self,nomLineEdit2) - courant.setValeur(courant2.text()) - courant2.setValeur(valeurAGarder) - # pour monWidgetCreeUserAssd - self.num1=num1 - self.num2=num2 + courant.setText(courant2.text()) + courant2.setText(valeurAGarder) self.changeValeur(changeDePlace=False) - self.numlineEditEnCours=num2 - self.lineEditEnCours=courant2 - self.lineEditEnCours.setFocus(True) + self.numLineEditEnCours=num2 + self.LineEditEnCours=courant2 + self.LineEditEnCours.setFocus(True) def moinsPushed(self): # on supprime le dernier - #print ('moinsPushed', self.numlineEditEnCours, self.indexDernierLabel) - if self.numlineEditEnCours == 0 : return + if self.numLineEditEnCours == 0 : return if self.indexDernierLabel == 0 : return - if self.numlineEditEnCours==self.indexDernierLabel : + if self.numLineEditEnCours==self.indexDernierLabel : nomLineEdit=self.nomLine+str(self.indexDernierLabel) courant=getattr(self,nomLineEdit) courant.clean() else : - #print (self.numlineEditEnCours, self.indexDernierLabel) - nomLineEdit=self.nomLine+str(self.indexDernierLabel) - courant=getattr(self,nomLineEdit) - valeurARemonter=courant.getValeur() - courant.clean() - i=self.indexDernierLabel - while i != self.numlineEditEnCours : - #print ('_____________________') - i=i-1 + for i in range (self.numLineEditEnCours, self.indexDernierLabel): + aRemonter=i+1 + nomLineEdit=self.nomLine+str(aRemonter) + courant=getattr(self,nomLineEdit) + valeurARemonter=courant.getValeur() nomLineEdit=self.nomLine+str(i) courant=getattr(self,nomLineEdit) - newValeur=courant.getValeur() if valeurARemonter != None : courant.setValeur(valeurARemonter) else : courant.clean() - valeurARemonter=newValeur - courant.setFocus(True) - #print ('moinsPushed', self.numlineEditEnCours, self.indexDernierLabel) + nomLineEdit=self.nomLine+str(self.indexDernierLabel) + courant=getattr(self,nomLineEdit) + courant.clean() self.changeValeur(changeDePlace=False,oblige=True) - #print (self.listeValeursCourantes) self.setValide() def plusPushed(self): @@ -297,9 +246,7 @@ class GereListe(object): if len(self.listeValeursCourantes) < self.monSimpDef.max : self.chercheLigneVide() else : self.editor.afficheInfos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint',Qt.red) return - if len(self.listeValeursCourantes) == self.indexDernierLabel : - self.ajoutLineEdit() - return + self.ajoutLineEdit() self.descendLesLignes() self.chercheLigneVide() QTimer.singleShot(1, self.rendVisibleLigne) @@ -309,29 +256,27 @@ class GereListe(object): nomLineEdit=self.nomLine+str(i+1) courant=getattr(self,nomLineEdit) valeur=courant.getValeur() - if valeur=="" or valeur == None : + if valeur=="" or valeur == None : courant.setFocus(True) self.estVisible=courant return + def descendLesLignes(self): - #print ('descendLesLignes', self.indexDernierLabel,self.numlineEditEnCours) - if self.numlineEditEnCours==self.indexDernierLabel : return - nomLineEdit=self.nomLine+str(self.numlineEditEnCours+1) + if self.numLineEditEnCours==self.indexDernierLabel : return + nomLineEdit=self.nomLine+str(self.numLineEditEnCours+1) courant=getattr(self,nomLineEdit) valeurADescendre=courant.getValeur() courant.clean() - for i in range (self.numlineEditEnCours+1, self.indexDernierLabel): + for i in range (self.numLineEditEnCours+1, self.indexDernierLabel): aDescendre=i+1 nomLineEdit=self.nomLine+str(aDescendre) courant=getattr(self,nomLineEdit) valeurAGarder=courant.getValeur() courant.setValeur(valeurADescendre) valeurADescendre=valeurAGarder - if valeurADescendre != None : self.ajoutLineEdit(valeurADescendre) - self.changeValeur(changeDePlace=True) - if hasattr (self, 'lineEditEnCours') :self.scrollArea.ensureWidgetVisible(self.lineEditEnCours) - #print ('descendLesLignes', self.indexDernierLabel,self.numlineEditEnCours) + self.changeValeur(changeDePlace=False) + if hasattr (self, 'LineEditEnCours') :self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) def voisListePushed(self): texteValeurs="" @@ -368,7 +313,7 @@ class GereListe(object): self.LEFiltre.setText("") self.listeCbRouge = [] - + # ----------- # class GerePlie(object): # ----------- # @@ -390,6 +335,3 @@ class GerePlie(object): def selectWidgetPlie(self): self.editor.listeDesListesOuvertes.remove(self.node.item) self.reaffichePourDeplier() - - - diff --git a/InterfaceQT4/gereListe_afetrMT.py b/InterfaceQT4/gereListe_afetrMT.py deleted file mode 100644 index 681b6430..00000000 --- a/InterfaceQT4/gereListe_afetrMT.py +++ /dev/null @@ -1,360 +0,0 @@ -# -*- coding: utf-8 -*- -# 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 -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# -# Modules Python - -from __future__ import absolute_import -try : - from builtins import str - from builtins import object -except : pass - -import types,os -import traceback - - -from PyQt5.QtWidgets import QLineEdit, QLabel, QFileDialog, QMessageBox -from PyQt5.QtCore import QEvent, Qt, QTimer -from PyQt5.QtGui import QIcon, QPalette - -from Extensions.i18n import tr -from InterfaceQT4.monViewTexte import ViewText - - -# ---------------------- # -class LECustom(QLineEdit): -# ---------------------- # - def __init__(self,parent,parentQt,i): - """ - Constructor - """ - QLineEdit.__init__(self,parent) - - self.parentQt=parentQt - self.num=i - self.dansUnTuple=False - self.numDsLaListe=-1 - self.parentTuple=None - self.valeur=None - self.editingFinished.connect(self.editFinished) - self.textEdited.connect(self.edited) - self.parentWidgetPlusieurs = parent - self.oldValeur=None - - def edited(self,text): - #print ('dans textEdited') - self.parentQt.changeUnLineEdit=True - - def focusInEvent(self,event): - #print ("dans focusInEvent de LECustom") - self.parentQt.aEuLeFocus=True - self.parentQt.numLineEditEnCours=self.num - self.parentQt.textSelected=self.text() - self.setStyleSheet("border: 2px solid gray") - self.oldValeur=self.text() - QLineEdit.focusInEvent(self,event) - - def focusOutEvent(self,event): - #print ("dans focusOutEvent de LECustom") - self.setStyleSheet("border: 0px") - if self.dansUnTuple : self.setStyleSheet("background:rgb(235,235,235); border: 0px;") - elif self.num % 2 == 1 : self.setStyleSheet("background:rgb(210,210,210)") - else : self.setStyleSheet("background:rgb(235,235,235)") - if (self.oldValeur == self.text()): QLineEdit.focusOutEvent(self,event);return - self.litValeur() - QLineEdit.focusOutEvent(self,event) - - def editFinished(self): - #print ("dans editFinished de LECustom") - if (self.oldValeur == self.text()): return - self.litValeur() - - def litValeur(self): - #print ("dans litValeur de LECustom") - if (self.oldValeur == self.text()): return - self.oldValeur = self.text() - val=str(self.text()) - - # on verifie les ',' - lval=val.split(',') - if len (lval) == 2 : - msgBox=QMessageBox() - msgBox.setText("separator ',' ") - msgBox.setInformativeText("Do you want to enter " + '.'.join(lval) + "?") - msgBox.setStandardButtons( QMessageBox.Ok | QMessageBox.Cancel) - msgBox.setDefaultButton(QMessageBox.Ok) - ret = msgBox.exec_() - if ret != 1024 : self.setText("") - else : self.setText('.'.join(lval)) - self.litValeur() - if len (lval) > 2 : - self.setText("") - self.litValeur() - if str(val)=="" or val==None : self.valeur=None; return - try : valeur=eval(val,{}) - except : - try : - d=self.parentQt.parentQt.objSimp.jdc.getContexteAvant(self.parentQt.objSimp. etape) - valeur=eval(val,d) - except : - valeur=val - self.valeur=valeur - #print ('self.valeur', self.valeur) - - - def clean(self): - self.setText("") - - def getValeur(self): - #return self.text() - return self.valeur - - def setValeur(self,valeur): - self.setText(valeur) - - - -# --------------------------- # -class LECustomTuple(LECustom): -# --------------------------- # - def __init__(self,parent): - # index sera mis a jour par TupleCustom - parentQt=parent.parent().parent().parent() - LECustom. __init__(self,parent,parentQt,0) - #print (dir(self)) - -# ---------------------------- # -class MonLabelListeClic(QLabel): -# ---------------------------- # - def __init__(self,parent): - QLabel.__init__(self,parent) - self.parent=parent - - def event(self,event) : - if event.type() == QEvent.MouseButtonRelease: - self.texte=self.text() - self.parent.traiteClicSurLabelListe(self.texte) - return QLabel.event(self,event) - - - - -# ------------- # -class GereListe(object): -# ------------- # - - def __init__(self): - self.connecterSignaux() - - - def connecterSignaux(self): - if hasattr(self,'RBHaut'): - self.RBHaut.clicked.connect(self.hautPushed) - self.RBBas.clicked.connect(self.basPushed) - self.RBMoins.clicked.connect(self.moinsPushed) - self.RBPlus.clicked.connect(self.plusPushed) - self.RBVoisListe.clicked.connect(self.voisListePushed) - if hasattr(self,'PBAlpha'): - self.PBCata.clicked.connect(self.cataPushed) - self.PBAlpha.clicked.connect(self.alphaPushed) - self.PBFind.clicked.connect(self.findPushed) - self.LEFiltre.returnPressed.connect(self.LEFiltreReturnPressed) - if hasattr(self, 'PBValideFeuille'): - self.PBValideFeuille.clicked.connect(self.changeValeur) - - def filtreListe(self): - l=[] - if self.filtre != "" : - for i in self.listeAAfficher : - if i.find(self.filtre) == 0 :l.append(i) - self.listeAAfficher=l - if self.alpha : self.listeAAfficher.sort() - - def LEFiltreReturnPressed(self): - self.filtre= self.LEFiltre.text() - self.prepareListeResultatFiltre() - - def findPushed(self): - self.filtre= self.LEFiltre.text() - self.prepareListeResultatFiltre() - - def alphaPushed(self): - #print "alphaPushed" ,self.alpha - if self.alpha == 1 : return - self.alpha=1 - self.prepareListeResultat() - - def cataPushed(self): - if self.alpha == 0 : return - self.alpha=0 - self.prepareListeResultat() - - def hautPushed(self): - if self.numLineEditEnCours == 1 : return - else : numEchange=self.numLineEditEnCours-1 - self.echange(self.numLineEditEnCours,numEchange) - self.LineEditEnCours.setFocus(True) - self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) - - - def basPushed(self): - if self.numLineEditEnCours == self.indexDernierLabel : return - else : numEchange=self.numLineEditEnCours+1 - self.echange(self.numLineEditEnCours,numEchange) - self.LineEditEnCours.setFocus(True) - self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) - - def echange(self,num1,num2): - # on donne le focus au a celui ou on a bouge - # par convention le 2 - nomLineEdit=self.nomLine+str(num1) - #print nomLineEdit - courant=getattr(self,nomLineEdit) - valeurAGarder=courant.text() - nomLineEdit2=self.nomLine+str(num2) - #print nomLineEdit2 - courant2=getattr(self,nomLineEdit2) - courant.setText(courant2.text()) - courant2.setText(valeurAGarder) - self.changeValeur(changeDePlace=False) - self.numLineEditEnCours=num2 - self.LineEditEnCours=courant2 - self.LineEditEnCours.setFocus(True) - - def moinsPushed(self): - # on supprime le dernier - if self.numLineEditEnCours == 0 : return - if self.indexDernierLabel == 0 : return - if self.numLineEditEnCours==self.indexDernierLabel : - nomLineEdit=self.nomLine+str(self.indexDernierLabel) - courant=getattr(self,nomLineEdit) - courant.clean() - else : - for i in range (self.numLineEditEnCours, self.indexDernierLabel): - aRemonter=i+1 - nomLineEdit=self.nomLine+str(aRemonter) - courant=getattr(self,nomLineEdit) - valeurARemonter=courant.getValeur() - nomLineEdit=self.nomLine+str(i) - courant=getattr(self,nomLineEdit) - if valeurARemonter != None : courant.setValeur(valeurARemonter) - else : courant.clean() - nomLineEdit=self.nomLine+str(self.indexDernierLabel) - courant=getattr(self,nomLineEdit) - courant.clean() - self.changeValeur(changeDePlace=False,oblige=True) - self.setValide() - - def plusPushed(self): - if self.indexDernierLabel == self.monSimpDef.max: - if len(self.listeValeursCourantes) < self.monSimpDef.max : self.chercheLigneVide() - else : self.editor.afficheInfos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint',Qt.red) - return - self.ajoutLineEdit() - self.descendLesLignes() - self.chercheLigneVide() - QTimer.singleShot(1, self.rendVisibleLigne) - - def chercheLigneVide(self): - for i in range(self.indexDernierLabel) : - nomLineEdit=self.nomLine+str(i+1) - courant=getattr(self,nomLineEdit) - valeur=courant.getValeur() - if valeur=="" : - courant.setFocus(True) - self.estVisible=courant - return - - - def descendLesLignes(self): - if self.numLineEditEnCours==self.indexDernierLabel : return - nomLineEdit=self.nomLine+str(self.numLineEditEnCours+1) - courant=getattr(self,nomLineEdit) - valeurADescendre=courant.getValeur() - courant.clean() - for i in range (self.numLineEditEnCours+1, self.indexDernierLabel): - aDescendre=i+1 - nomLineEdit=self.nomLine+str(aDescendre) - courant=getattr(self,nomLineEdit) - valeurAGarder=courant.getValeur() - courant.setValeur(valeurADescendre) - valeurADescendre=valeurAGarder - self.changeValeur(changeDePlace=False) - if hasattr (self, 'LineEditEnCours') :self.scrollArea.ensureWidgetVisible(self.LineEditEnCours) - - def voisListePushed(self): - texteValeurs="" - for v in self.node.item.getListeValeurs(): - texteValeurs+=str(v)+", " - entete="Valeurs pour "+self.nom - f=ViewText(self,self.editor,entete,texteValeurs[0:-2]) - f.show() - - - def selectInFile(self): - init=str( self.editor.maConfiguration.savedir) - fn = QFileDialog.getOpenFileName(self.node.appliEficas, - tr("Fichier de donnees"), - init, - tr('Tous les Fichiers (*)',)) - fn=fn[0] - if fn == None : return - if fn == "" : return - ulfile = os.path.abspath(fn) - self.editor.maConfiguration.savedir=os.path.split(ulfile)[0] - - from .monSelectVal import MonSelectVal - MonSelectVal(file=fn,parent=self).show() - - def noircirResultatFiltre(self): - filtre=str(self.LEFiltre.text()) - for cb in self.listeCbRouge: - palette = QPalette(Qt.red) - palette.setColor(QPalette.WindowText,Qt.black) - cb.setPalette(palette) - t=cb.text() - cb.setText(t) - self.LEFiltre.setText("") - self.listeCbRouge = [] - - -# ----------- # -class GerePlie(object): -# ----------- # - - def gereIconePlier(self): - if not(hasattr(self,'BFermeListe')) : return - self.editor.listeDesListesOuvertes.add(self.node.item) - repIcon=self.node.editor.appliEficas.repIcon - if not (self.editor.afficheListesPliees): - fichier=os.path.join(repIcon, 'empty.png') - icon = QIcon(fichier) - self.BFermeListe.setIcon(icon) - return - fichier=os.path.join(repIcon, 'minusnode.png') - icon = QIcon(fichier) - self.BFermeListe.setIcon(icon) - self.BFermeListe.clicked.connect( self.selectWidgetPlie) - - def selectWidgetPlie(self): - self.editor.listeDesListesOuvertes.remove(self.node.item) - self.reaffichePourDeplier() - - - diff --git a/InterfaceQT4/monWidgetCreeUserAssd.py b/InterfaceQT4/monWidgetCreeUserAssd.py index ba6cd4b9..3a161d4a 100644 --- a/InterfaceQT4/monWidgetCreeUserAssd.py +++ b/InterfaceQT4/monWidgetCreeUserAssd.py @@ -69,7 +69,7 @@ class MonWidgetCreeListeUserAssd ( MonWidgetPlusieursBase): MonWidgetPlusieursBase.ajout1Valeur(self,valeur) def changeValeur(self,changeDePlace=False,oblige=False,numero=None): - #print ('dans changeValeur du CreeUserAssd', changeDePlace,numero) + print ('dans changeValeur du CreeUserAssd', changeDePlace,numero) self.changeUnLineEdit=False if numero==None : self.echangeDeuxValeurs() diff --git a/InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py b/InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py index 172a5cf6..de514a5c 100644 --- a/InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py +++ b/InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py @@ -21,7 +21,6 @@ from __future__ import absolute_import try : from builtins import str - from builtins import range except : pass import types,os,sys @@ -31,6 +30,7 @@ from Extensions.i18n import tr from .monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne from .politiquesValidation import PolitiquePlusieurs +from six.moves import range from PyQt5.QtWidgets import QScrollBar @@ -52,14 +52,10 @@ class MonWidgetPlusieursASSDIntoOrdonne (MonWidgetPlusieursIntoOrdonne): if len(self.listeAAfficher) == 0 : self.ajoutLE(0) return + - if len(self.listeAAfficher)*30 > 400 : self.setMinimumHeight(400) - else : - if self.monSimpDef.min > len(self.listeAAfficher) : self.setMinimumHeight(self.monSimpDef.min*30+30) - if self.monSimpDef.max > len(self.listeAAfficher) : self.setMinimumHeight(180) - else : self.setMinimumHeight(len(self.listeAAfficher)*30+30) - self.adjustSize() - + if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400) + else : self.setMinimumHeight(len(self.listeAAfficher)*30) self.politique=PolitiquePlusieurs(self.node,self.editor) for i in range(1,len(self.listeAAfficher)+1): self.ajoutLE(i) for i in range(len(self.listeAAfficher)): diff --git a/InterfaceQT4/monWidgetPlusieursBase.py b/InterfaceQT4/monWidgetPlusieursBase.py index ee3ea901..e35b243c 100644 --- a/InterfaceQT4/monWidgetPlusieursBase.py +++ b/InterfaceQT4/monWidgetPlusieursBase.py @@ -21,12 +21,12 @@ from __future__ import absolute_import try : from builtins import str - from builtins import range from builtins import object except : pass import types,os,sys +from six.moves import range from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QApplication, QMessageBox, QScrollArea from PyQt5.QtCore import QTimer, QSize, Qt @@ -42,103 +42,98 @@ from InterfaceQT4.gereListe import GereListe from InterfaceQT4.gereListe import GerePlie from InterfaceQT4.gereListe import LECustom -dicoLongueur = {2:90,3:100,4:123,5:145,6:160,float('inf'):200} -hauteurMaxFenetre = 200 -nbMinimumDeQLineEdit=7 +dicoLongueur={2:95,3:125,4:154,5:183,6:210,float('inf'):210} +hauteurMax=253 class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - print ('MonWidgetPlusieursBase', nom) - self.inFocusOutEvent = False - self.changeUnLineEdit = False - self.nomLine = "lineEditVal" - self.inInit = True # pour l affichage quand on cree le lineEdit - self.indexDernierLabel = 0 - self.numLineEditEnCours = 0 - self.changeUnLineEdit = None - self.listeAffichageWidget = [] - self.dictLE = {} - self.politique = PolitiquePlusieurs(node,parentQt) + #print "MonWidgetPlusieursBase", nom + self.inFocusOutEvent=False + self.nomLine="lineEditVal" + self.inInit=True + self.indexDernierLabel=0 + self.numLineEditEnCours=0 + self.listeAffichageWidget=[] Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) GereListe.__init__(self) self.gereIconePlier() self.BSelectFichier.clicked.connect(self.selectInFile) if sys.platform[0:5]!="linux": - repIcon = self.node.editor.appliEficas.repIcon - fichierUp = os.path.join(repIcon, 'arrow_up.png') - iconUp = QIcon(fichierUp) - self.RBHaut.setIcon(iconUp) + repIcon=self.node.editor.appliEficas.repIcon + fichier=os.path.join(repIcon, 'arrow_up.png') + icon = QIcon(fichier) + self.RBHaut.setIcon(icon) self.RBHaut.setIconSize(QSize(32, 32)) - fichierDown = os.path.join(repIcon, 'arrow_down.png') - iconDown = QIcon(fichierDown) - self.RBBas.setIcon(iconArrowDown) - fichierExp = os.path.join(repIcon, 'file-explorer.png') - iconExp = QIcon(fichierExp) - self.BSelectFichier.setIcon(iconExp) + fichier2=os.path.join(repIcon, 'arrow_down.png') + icon2 = QIcon(fichier2) + self.RBBas.setIcon(icon2) + fichier3=os.path.join(repIcon, 'file-explorer.png') + icon3 = QIcon(fichier2) + self.BSelectFichier.setIcon(icon3) self.BSelectFichier.setIconSize(QSize(32, 32)) + icon=QIcon(self.repIcon+"/MoinsBleu.png") + self.RBMoins.setIcon(icon) + icon=QIcon(self.repIcon+"/PlusBleu.png") + self.RBPlus.setIcon(icon) + icon=QIcon(self.repIcon+"/verre-loupe-icone-6087-64.png") + self.RBVoisListe.setIcon(icon) - iconMoins = QIcon (self.repIcon+"/MoinsBleu.png") - self.RBMoins.setIcon(iconMoins) - iconPlus = QIcon(self.repIcon+"/PlusBleu.png") - self.RBPlus.setIcon(iconPlus) - iconLoupe =QIcon(self.repIcon+"/verre-loupe-icone-6087-64.png") - self.RBVoisListe.setIcon(iconLoupe) - - - self.vScrollBar = self.scrollArea.verticalScrollBar() - - if self.monSimpDef.max < 7 : - hauteurMax = dicoLongueur[self.monSimpDef.max] - self.RBVoisListe.close() - self.RBMoins.close() - self.RBPlus.close() - aConstruire = self.monSimpDef.max - else : - hauteurMax = hauteurMaxFenetre - aConstruire = nbMinimumDeQLineEdit - self.setMinimumHeight(hauteurMax) - for i in range(1,aConstruire): self.ajoutLineEdit() + self.listeValeursCourantes=self.node.item.getListeValeurs() + if self.monSimpDef.max != "**" and self.monSimpDef.max < 7: + hauteurMax=dicoLongueur[self.monSimpDef.max] + else : + hauteurMax=220 + # if self.monSimpDef.max == self.monSimpDef.min : self.setMaximumHeight(hauteur) + self.resize(self.width(),hauteurMax) + self.setMinimumHeight(hauteurMax) + self.finCommentaireListe() self.parentQt.commandesLayout.insertWidget(-1,self) - self.maCommande.listeAffichageWidget.append(self.lineEditVal1) - self.AAfficher = self.lineEditVal1 - self.inInit = False + self.AAfficher=self.lineEditVal1 + self.inInit=False # PNPN a completer __ si tuple le type des tuples sinon le tuple - self.finCommentaireListe() self.monCommentaireLabel.setText(self.finCommentaireListe()) self.scrollArea.leaveEvent = self.leaveEventScrollArea - self.selectLE(len(self.listeValeursCourantes)+1) - print ('iiiiiiiiiiiiiiiiiiiiiiiii') - def setValeurs(self): - # uniquement appele a l initialisation. - # les lineEdit ont deja ete crees + 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 + 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) self.listeValeursCourantes=self.node.item.getListeValeurs() index=1 for valeur in self.listeValeursCourantes : - val = self.politique.getValeurTexte(valeur) - nomLineEdit = "lineEditVal"+str(index) + val=self.politique.getValeurTexte(valeur) + nomLineEdit="lineEditVal"+str(index) if hasattr(self,nomLineEdit) : - courant = getattr(self,nomLineEdit) + courant=getattr(self,nomLineEdit) if 'R' in self.objSimp.definition.type and str(val) != repr(val) : courant.setText(repr(val)) - else : courant.setText(str(val)) + else : courant.setText(str(val)) else : self.ajoutLineEdit(val) index=index+1 + # 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) def ajoutLineEdit(self,valeur=None,): - #print ('ajoutLineEdit, monWidgetPlusieursBase', self.indexDernierLabel) self.indexDernierLabel=self.indexDernierLabel+1 nomLineEdit="lineEditVal"+str(self.indexDernierLabel) if hasattr(self,nomLineEdit) : - #print ('ajoutLineEdit, monWidgetPlusieursBase', self.indexDernierLabel) self.indexDernierLabel=self.indexDernierLabel-1 return nouveauLE = LECustom(self.scrollArea,self,self.indexDernierLabel) @@ -147,27 +142,15 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) if self.indexDernierLabel % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)") else : nouveauLE.setStyleSheet("background:rgb(235,235,235)") nouveauLE.setFrame(False) - # fait dans le init pour pouvoir passer le numero du LE mai 20 - #nouveauLE.returnPressed.connect(self.changeValeur) + nouveauLE.returnPressed.connect(self.changeValeur) setattr(self,nomLineEdit,nouveauLE) self.listeAffichageWidget.append(nouveauLE) self.etablitOrdre() - if valeur != None : - nouveauLE.setText(str(valeur)) - self.dictLE[self.indexDernierLabel] = valeur - else : - self.dictLE[self.indexDernierLabel] = None + if valeur != None : nouveauLE.setText(str(valeur)) # deux lignes pour que le ensureVisible fonctionne self.estVisible=nouveauLE if self.inInit==False :QTimer.singleShot(1, self.rendVisibleLigne) - #print ('ajoutLineEdit, monWidgetPlusieursBase', self.indexDernierLabel) - - def selectLE(self, int): - nomLineEdit="lineEditVal"+str(int) - if hasattr(self,nomLineEdit) : - aSelect=getattr(self,nomLineEdit) - #aSelect.select() def etablitOrdre(self): i=0 @@ -178,7 +161,6 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) # si on boucle on perd l'ordre - def rendVisibleLigne(self): QApplication.processEvents() self.estVisible.setFocus() @@ -189,8 +171,6 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) return self.finCommentaireListe() def ajout1Valeur(self,valeur=None): - #import traceback - #traceback.print_stack() if valeur == None : return liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur)) if validite == 0 : return @@ -216,26 +196,30 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) def ajoutNValeur(self,liste): #---------------------------- # attention quand on charge par un fichier, on ne peut pas se contenter d ajouter N fois 1 valeur - # car alors le temps de verification devient prohibitif reconstructution et verification a + # car alors le temps de verification devient prohibitif reconstructu=ion et verification a # chaque valeur. d ou l ajout de ajoutNTuple a politique plusieurs listeFormatee=list(liste) min,max=self.node.item.getMinMax() - if self.objSimp.valeur == None : listeComplete = listeFormatee - else : listeComplete = self.objSimp.valeur + listeFormatee + if self.objSimp.valeur == None : listeComplete=listeFormatee + else : listeComplete =self.objSimp.valeur + listeFormatee if len(listeComplete) > max : texte=tr("Nombre maximum de valeurs ")+str(max)+tr(" atteint") self.editor.afficheInfos(texte,Qt.red) return - validite,comm,comm2 = self.politique.ajoutNTuple(listeComplete) + validite,comm,comm2,listeRetour= self.politique.ajoutNTuple(listeComplete) if not validite : - self.editor.afficheInfos(comm2,Qt.red) + self.editor.affiche_infos(texte,Qt.red) return + # on calcule le dernier lineedit rempli avant de changer la valeur + if self.objSimp.valeur != None : indexDernierRempli=len(self.objSimp.valeur) + else : indexDernierRempli=0 + self.politique.recordValeur(listeComplete) indexDernierRempli=0 @@ -250,22 +234,35 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) indexDernierRempli = indexDernierRempli + 1 - def changeValeur(self,changeDePlace=True,oblige=False,numero=None): - #print ('monWidgetPlusieursBase changeValeur') - self.changeUnLineEdit = False + def changeValeur(self,changeDePlace=True,oblige=False): donneFocus=None derniereValeur=None self.listeValeursCourantes = [] fin=self.indexDernierLabel + for i in range (1, fin): + nomLineEdit="lineEditVal"+str(i) + courant=getattr(self,nomLineEdit) + valeur=courant.text() + lval=valeur.split(',') + if len (lval) > 1 : + msgBox=QMessageBox() + msgBox.setText("separator ',' ") + msgBox.setInformativeText("Do you want to enter " + str (lval) + "?") + msgBox.setStandardButtons( QMessageBox.Ok | QMessageBox.Cancel) + msgBox.setDefaultButton(QMessageBox.Ok) + ret = msgBox.exec_() + if ret != 1024 : + courant.setText("") + return + courant.setText(lval[0]) + self.ajoutNValeur(lval[1:]) + self.listeValeursCourantes = [] for i in range (1, self.indexDernierLabel+1): nomLineEdit="lineEditVal"+str(i) courant=getattr(self,nomLineEdit) valeur=courant.text() if valeur != None and valeur != "" : - # c est ce qui est long mais permet d avoir - # une bonne connaissance des erreurs - # et de traiter le changede place commentaire=self.ajout1Valeur(valeur) if (commentaire != None ): self.editor.afficheInfos(commentaire,Qt.red) @@ -292,19 +289,14 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe,GerePlie) self.editor.afficheInfos(tr('nb min de valeurs : ')+str( self.monSimpDef.min)) if len(self.listeValeursCourantes) < min and oblige==True: return if len(self.listeValeursCourantes) > max : return - self.node.item.setValeur(self.listeValeursCourantes) - #print (self.listeValeursCourantes) + retour=self.node.item.setValeur(self.listeValeursCourantes) if len(self.listeValeursCourantes) == self.monSimpDef.max : self.editor.afficheInfos(tr('nb max de valeurs atteint')) self.setValide() self.reaffiche() - def leaveEventScrollArea(self,event): - #print ('monWidgetPlusBase leaveEventScrollArea', self.changeUnLineEdit) - if self.changeUnLineEdit : self.changeValeur(changeDePlace=False) - QScrollArea.leaveEvent(self.scrollArea,event) - - - + self.changeValeur(changeDePlace=False) + QScrollArea.leaveEvent(self.scrollArea,event) +# Avertissement quand on quitte le widget diff --git a/InterfaceQT4/monWidgetPlusieursCreeUserAssd.py b/InterfaceQT4/monWidgetPlusieursCreeUserAssd.py new file mode 100644 index 00000000..a4f4577f --- /dev/null +++ b/InterfaceQT4/monWidgetPlusieursCreeUserAssd.py @@ -0,0 +1,220 @@ +# -*- coding: utf-8 -*- +# 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 +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +# Modules Python +from __future__ import absolute_import +import types,os,sys + +from InterfaceQT4.monWidgetPlusieursCreeUserAssd import MonWidgetPlusieursCreeUserAssd + +class MonWidgetPlusieursCreeAssd (MonWidgetPlusieursBase): + + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + MonWidgetPlusieursBase.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): + print ('MonWidgetPlusieursBase', nom) +# +# +# +# def setValeurs(self): +# # uniquement appele a l initialisation. +# # les lineEdit ont deja ete crees +# self.listeValeursCourantes=self.node.item.getListeValeurs() +# index=1 +# for valeur in self.listeValeursCourantes : +# val = self.politique.getValeurTexte(valeur) +# nomLineEdit = "lineEditVal"+str(index) +# if hasattr(self,nomLineEdit) : +# courant = getattr(self,nomLineEdit) +# if 'R' in self.objSimp.definition.type and str(val) != repr(val) : courant.setText(repr(val)) +# else : courant.setText(str(val)) +# else : +# self.ajoutLineEdit(val) +# index=index+1 +# if self.indexDernierLabel < self.monSimpDef.max : self.ajoutLineEdit() +# +# +# def ajoutLineEdit(self,valeur=None,): +# #print ('ajoutLineEdit, monWidgetPlusieursBase', self.indexDernierLabel) +# self.indexDernierLabel=self.indexDernierLabel+1 +# nomLineEdit="lineEditVal"+str(self.indexDernierLabel) +# if hasattr(self,nomLineEdit) : +# #print ('ajoutLineEdit, monWidgetPlusieursBase', self.indexDernierLabel) +# self.indexDernierLabel=self.indexDernierLabel-1 +# return +# nouveauLE = LECustom(self.scrollArea,self,self.indexDernierLabel) +# self.verticalLayoutLE.insertWidget(self.indexDernierLabel-1,nouveauLE) +# nouveauLE.setText("") +# if self.indexDernierLabel % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)") +# else : nouveauLE.setStyleSheet("background:rgb(235,235,235)") +# nouveauLE.setFrame(False) +# # fait dans le init pour pouvoir passer le numero du LE mai 20 +# #nouveauLE.returnPressed.connect(self.changeValeur) +# +# setattr(self,nomLineEdit,nouveauLE) +# self.listeAffichageWidget.append(nouveauLE) +# self.etablitOrdre() +# if valeur != None : +# nouveauLE.setText(str(valeur)) +# self.dictLE[self.indexDernierLabel] = valeur +# else : +# self.dictLE[self.indexDernierLabel] = None +# # deux lignes pour que le ensureVisible fonctionne +# self.estVisible=nouveauLE +# if self.inInit==False :QTimer.singleShot(1, self.rendVisibleLigne) +# #print ('ajoutLineEdit, monWidgetPlusieursBase', self.indexDernierLabel) +# +# def etablitOrdre(self): +# i=0 +# while(i +1 < len(self.listeAffichageWidget)): +# self.listeAffichageWidget[i].setFocusPolicy(Qt.StrongFocus) +# self.setTabOrder(self.listeAffichageWidget[i],self.listeAffichageWidget[i+1]) +# i=i+1 +# # si on boucle on perd l'ordre +# +# +# +# def rendVisibleLigne(self): +# QApplication.processEvents() +# self.estVisible.setFocus() +# self.scrollArea.ensureWidgetVisible(self.estVisible,0,0) +# +# +# def finCommentaire(self): +# return self.finCommentaireListe() +# +# def ajout1Valeur(self,valeur=None): +# #import traceback +# #traceback.print_stack() +# if valeur == None : return +# liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur)) +# if validite == 0 : return +# if liste ==[] : return +# listeVal=[] +# for valeur in self.listeValeursCourantes : listeVal.append(valeur) +# validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(liste,-1,listeVal) +# if (comm2 != "" and comm != None) : return comm2 +# if validite : +# self.listeValeursCourantes=self.listeValeursCourantes+listeRetour +# if len(self.listeValeursCourantes) > self.monSimpDef.min : +# self.node.item.setValeur(self.listeValeursCourantes) +# self.reaffiche() +# return None +# else : +# return(comm2+" "+comm) +# +# def reaffiche(self): +# # A priori, on ne fait rien +# pass +# +# +# def ajoutNValeur(self,liste): +# #---------------------------- +# # attention quand on charge par un fichier, on ne peut pas se contenter d ajouter N fois 1 valeur +# # car alors le temps de verification devient prohibitif reconstructution et verification a +# # chaque valeur. d ou l ajout de ajoutNTuple a politique plusieurs +# +# +# listeFormatee=list(liste) +# +# min,max=self.node.item.getMinMax() +# if self.objSimp.valeur == None : listeComplete = listeFormatee +# else : listeComplete = self.objSimp.valeur + listeFormatee +# +# if len(listeComplete) > max : +# texte=tr("Nombre maximum de valeurs ")+str(max)+tr(" atteint") +# self.editor.afficheInfos(texte,Qt.red) +# return +# +# validite,comm,comm2 = self.politique.ajoutNTuple(listeComplete) +# if not validite : +# self.editor.afficheInfos(comm2,Qt.red) +# return +# +# self.politique.recordValeur(listeComplete) +# +# indexDernierRempli=0 +# while ( indexDernierRempli < len(liste) ) : +# texte=liste[indexDernierRempli] +# if indexDernierRempli < self.indexDernierLabel: +# nomLineEdit="lineEditVal"+str(indexDernierRempli+1) +# courant=getattr(self,nomLineEdit) +# courant.setText(str(texte)) +# else : +# self.ajoutLineEdit(texte) +# indexDernierRempli = indexDernierRempli + 1 +# +# +# def changeValeur(self,changeDePlace=True,oblige=False,numero=None): +# #print ('monWidgetPlusieursBase changeValeur') +# self.changeUnLineEdit = False +# donneFocus=None +# derniereValeur=None +# self.listeValeursCourantes = [] +# fin=self.indexDernierLabel +# +# for i in range (1, self.indexDernierLabel+1): +# nomLineEdit="lineEditVal"+str(i) +# courant=getattr(self,nomLineEdit) +# valeur=courant.text() +# if valeur != None and valeur != "" : +# # c est ce qui est long mais permet d avoir +# # une bonne connaissance des erreurs +# # et de traiter le changede place +# commentaire=self.ajout1Valeur(valeur) +# if (commentaire != None ): +# self.editor.afficheInfos(commentaire,Qt.red) +# courant.setText("") +# donneFocus=courant +# self.reaffiche() +# return +# else : +# self.editor.afficheInfos("") +# elif donneFocus==None : donneFocus=courant +# +# nomDernierLineEdit="lineEditVal"+str(self.indexDernierLabel) +# dernier=getattr(self,nomDernierLineEdit) +# derniereValeur=dernier.text() +# if changeDePlace: +# if donneFocus != None : +# donneFocus.setFocus() +# self.scrollArea.ensureWidgetVisible(donneFocus) +# elif self.indexDernierLabel < self.monSimpDef.max : +# self.ajoutLineEdit() +# if self.listeValeursCourantes == [] : return +# min,max = self.node.item.getMinMax() +# if len(self.listeValeursCourantes) < self.monSimpDef.min : +# self.editor.afficheInfos(tr('nb min de valeurs : ')+str( self.monSimpDef.min)) +# if len(self.listeValeursCourantes) < min and oblige==True: return +# if len(self.listeValeursCourantes) > max : return +# self.node.item.setValeur(self.listeValeursCourantes) +# #print (self.listeValeursCourantes) +# if len(self.listeValeursCourantes) == self.monSimpDef.max : +# self.editor.afficheInfos(tr('nb max de valeurs atteint')) +# self.setValide() +# self.reaffiche() +# +# +# def leaveEventScrollArea(self,event): +# #print ('monWidgetPlusBase leaveEventScrollArea', self.changeUnLineEdit) +# if self.changeUnLineEdit : self.changeValeur(changeDePlace=False) +# QScrollArea.leaveEvent(self.scrollArea,event) +# +# +# +# diff --git a/InterfaceQT4/monWidgetPlusieursInto.py b/InterfaceQT4/monWidgetPlusieursInto.py index d2914bba..ff271585 100644 --- a/InterfaceQT4/monWidgetPlusieursInto.py +++ b/InterfaceQT4/monWidgetPlusieursInto.py @@ -200,7 +200,8 @@ class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe) - def changeValeur(self,changeDePlace=False,oblige=True, numero=None): + def changeValeur(self): + #def changeValeur(self,changeDePlace=False,oblige=True, numero=None): #print ('changeValeur') if self.inhibe == True: return if hasattr(self,'LEFiltre') :self.noircirResultatFiltre() diff --git a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py index 06bc5753..2668376e 100644 --- a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py +++ b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py @@ -64,6 +64,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.prepareListeResultat() if len(self.listeAAfficher) < 20 : self.frameRecherche2.close() if len(self.listeAAfficher) < 20 : self.frameRecherche.close() + self.adjustSize() if sys.platform[0:5]!="linux": repIcon=self.node.editor.appliEficas.repIcon fichier=os.path.join(repIcon, 'arrow_up.png') @@ -107,12 +108,8 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.ajoutLE(0) return self.filtreListe() - if len(self.listeAAfficher)*30 > 400 : self.setMinimumHeight(400) - else : - if self.monSimpDef.min > len(self.listeAAfficher) : self.setMinimumHeight(self.monSimpDef.min*30+30) - if self.monSimpDef.max > len(self.listeAAfficher) : self.setMinimumHeight(180) - else : self.setMinimumHeight(len(self.listeAAfficher)*30+30) - self.adjustSize() + if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400) + else : self.setMinimumHeight(len(self.listeAAfficher)*30) self.politique=PolitiquePlusieurs(self.node,self.editor) for i in range(1,len(self.listeAAfficher)+1): self.ajoutLE(i) @@ -259,7 +256,8 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.changeValeur() self.setValeurs(first=False) - def changeValeur(self,changeDePlace=False,oblige=False, numero=None): + def changeValeur(self,changeDePlace=False,oblige=False): +#def changeValeur(self,changeDePlace=False,oblige=False, numero=None): #PN les 2 arg sont pour que la signature de ma fonction soit identique a monWidgetPlusieursBase listeVal=[] for i in range(1,self.indexDernierLabel+1): diff --git a/InterfaceQT4/monWidgetPlusieursTuple.py b/InterfaceQT4/monWidgetPlusieursTuple.py index 8f8e082d..c1c2d0ed 100644 --- a/InterfaceQT4/monWidgetPlusieursTuple.py +++ b/InterfaceQT4/monWidgetPlusieursTuple.py @@ -264,7 +264,9 @@ class MonWidgetPlusieursTuple(Feuille,GereListe): self.politique=PolitiquePlusieurs(self.node,self.editor) self.parentQt.commandesLayout.insertWidget(-1,self) - if sys.platform[0:5]!="linux": + #if sys.platform[0:5]!="linux": + if 1 : + #Pour MT repIcon=self.node.editor.appliEficas.repIcon fichier=os.path.join(repIcon, 'arrow_up.png') icon = QIcon(fichier) -- 2.39.2