X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetPlusieursIntoOrdonne.py;h=584a93d2be428f799358975fa08df4f3ed9008a4;hb=9a70f047c05012091a3cf8c6efc48b39ab2bb6e9;hp=c7e9451dc4fd2901c7e5408d95667be8a54114be;hpb=07d3d286fca1060db90d2f3a0a616c11624ff30d;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py index c7e9451d..584a93d2 100644 --- a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py +++ b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2007-2013 EDF R&D +# 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 @@ -18,27 +18,29 @@ # 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 + from builtins import range +except : pass + +import types,os,sys # Modules Eficas -from feuille import Feuille +from .feuille import Feuille from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne -from politiquesValidation import PolitiquePlusieurs -from qtSaisie import SaisieValeur -from gereListe import GereListe -from gereListe import GerePlie -from gereListe import LECustom -from gereListe import MonLabelListeClic +from .politiquesValidation import PolitiquePlusieurs +from .qtSaisie import SaisieValeur +from .gereListe import GereListe +from .gereListe import GerePlie +from .gereListe import LECustom +from .gereListe import MonLabelListeClic from Extensions.i18n import tr -from determine import monEnvQT5 -if monEnvQT5: - from PyQt5.QtWidgets import QFrame, QApplication, QScrollBar - from PyQt5.QtCore import QTimer, QSize, Qt - from PyQt5.QtGui import QIcon -else : - from PyQt4.QtGui import * - from PyQt4.QtCore import * +from six.moves import range +from PyQt5.QtWidgets import QFrame, QApplication, QScrollBar +from PyQt5.QtCore import QTimer, QSize, Qt +from PyQt5.QtGui import QIcon, QPalette class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe,GerePlie): @@ -52,7 +54,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.filtre="" Feuille.__init__(self,node,monSimpDef,nom,objSimp,parent,commande) GereListe.__init__(self) - self.finCommentaireListe() + #self.finCommentaireListe() self.gereIconePlier() self.listeValeursCourantes=self.node.item.GetListeValeurs() try : @@ -61,9 +63,8 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere # cas ou on ne peut rien ajouter pass self.prepareListeResultat() - if len(self.listeAAfficher) < 8 : - self.frameRecherche1.close() - self.frameRecherche2.close() + 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 @@ -74,7 +75,16 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere fichier2=os.path.join(repIcon, 'arrow_down.png') icon2 = QIcon(fichier2) self.RBBas.setIcon(icon2) + 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) + + self.PBClean.clicked.connect(self.cleanListeResultatFiltre) self.parentQt.commandesLayout.insertWidget(-1,self) + self.listeRouge=[] def prepareListeResultat(self): @@ -109,16 +119,19 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere courant=getattr(self,nomLE) courant.setText(str(self.listeAAfficher[i])) self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum) - if len(self.listeAAfficher) < 25 and hasattr(self,'frameRecherche') : self.frameRecherche.close() + if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche') : self.frameRecherche.close() + if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche2') : self.frameRecherche2.close() - def setValeurs(self): + def setValeurs(self,first=True): self.listeValeursCourantes=self.node.item.GetListeValeurs() - if self.monSimpDef.max == "**" : aConstruire=7 - else : aConstruire=self.monSimpDef.max - if len(self.listeValeursCourantes) > aConstruire : aConstruire=len(self.listeValeursCourantes) - for i in range(1,aConstruire+1): self.ajoutLEResultat(i) - self.indexDernierLabel=aConstruire + if first : + if self.monSimpDef.max == "**" or self.monSimpDef.max == float('inf') : aConstruire=7 + else : aConstruire=self.monSimpDef.max + if len(self.listeValeursCourantes) > aConstruire : aConstruire=len(self.listeValeursCourantes) + self.indexDernierLabel = aConstruire + for i in range(1,aConstruire+1): self.ajoutLEResultat(i) + else : self.indexDernierLabel= len(self.listeValeursCourantes) index=1 for val in self.listeValeursCourantes : nomLE="LEResultat"+str(index) @@ -126,33 +139,64 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere courant.setText(str(val)) courant.setReadOnly(True) index=index+1 - self.prepareListeResultat() + #self.prepareListeResultat() def moinsPushed(self): self.ouAjouter=self.ouAjouter-1 GereListe.moinsPushed(self) - self.setValeurs() + self.setValeurs(first=False) + + def prepareListeResultatFiltre(self): + for i in self.listeRouge : + nomLE="lineEditVal"+str(i+1) + courant=getattr(self,nomLE) + texte=courant.text() + palette = QPalette(Qt.black) + palette.setColor(QPalette.WindowText,Qt.black) + courant.setPalette(palette) + courant.setText(texte) + + self.listeRouge = [] + filtre=str(self.LEFiltre.text()) + if filtre == '' : return + for i in range(len(self.listeAAfficher)): + nomLE="lineEditVal"+str(i+1) + courant=getattr(self,nomLE) + texte=courant.text() + if texte.find(filtre) == 0 : + palette = QPalette(Qt.red) + palette.setColor(QPalette.WindowText,Qt.red) + courant.setPalette(palette) + courant.setText(texte) + self.listeRouge.append(i) + def cleanListeResultatFiltre(self): + self.LEFiltre.setText('') + self.prepareListeResultatFiltre() def ajoutLEResultat (self,index,valeur=None): + #print ('ajoutLEResultat', index, valeur) nomLE="LEResultat"+str(index) - if hasattr(self,nomLE) : return - nouveauLE = LECustom(self.scrollAreaRE,self,index) - nouveauLE.setFrame(False) - self.CBChoisis.insertWidget(self.ouAjouter,nouveauLE) - self.ouAjouter=self.ouAjouter+1 - nouveauLE.setText("") - nouveauLE.setReadOnly(True) - if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)") - else : nouveauLE.setStyleSheet("background:rgb(240,240,240)") - self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar() - self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum) - setattr(self,nomLE,nouveauLE) - self.estVisibleRE=nouveauLE - if valeur != None : - nouveauLE.setText(valeur) + if not (hasattr(self,nomLE)) : + nouveauLE = LECustom(self.scrollAreaRE,self,index) + nouveauLE.setFrame(False) + self.CBChoisis.insertWidget(self.ouAjouter,nouveauLE) + self.ouAjouter=self.ouAjouter+1 + nouveauLE.setReadOnly(True) + if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)") + else : nouveauLE.setStyleSheet("background:rgb(240,240,240)") + self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar() + self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum) + setattr(self,nomLE,nouveauLE) + self.estVisibleRE=nouveauLE + else : + nouveauLE=getattr(self,nomLE) + + if valeur == None : nouveauLE.setText("") + else : nouveauLE.setText(str(valeur)) def ajoutLE(self,index,valeur=None): + #print ('ajoutLE') nomLE="lineEditVal"+str(index) nouveauLE = MonLabelListeClic(self) #self.CBLayout.addWidget(nouveauLE) @@ -168,6 +212,8 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere setattr(self,nomLE,nouveauLE) def ajoutLineEdit(self): + #print ('ajoutLineEdit') + self.indexDernierLabel=self.indexDernierLabel+1 self.ajoutLEResultat (self.indexDernierLabel) @@ -204,7 +250,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum) QTimer.singleShot(1, self.rendVisibleLigneRE) self.changeValeur() - self.setValeurs() + self.setValeurs(first=False) def changeValeur(self,changeDePlace=False,oblige=False): #PN les 2 arg sont pour que la signature de ma fonction soit identique a monWidgetPlusieursBase