X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetPlusieursIntoOrdonne.py;h=c51ff7b8f7ba5de72a1509e6e3cb028fce5d7c92;hb=3b2aa4435996023b38c1c749799a956909684b7c;hp=c08781ecb2efe2317be6a65469c2a60e73783433;hpb=502db4f836eebcd5d2b859d99f6fd23e76ec8c8e;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py index c08781ec..c51ff7b8 100644 --- a/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py +++ b/InterfaceQT4/monWidgetPlusieursIntoOrdonne.py @@ -18,41 +18,54 @@ # 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 -# Modules Eficas -from PyQt4.QtGui import * -from PyQt4.QtCore import * -from Extensions.i18n import tr +import types,os,sys -from feuille import Feuille +# Modules Eficas +from .feuille import Feuille from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne -from politiquesValidation import PolitiquePlusieurs -from qtSaisie import SaisieValeur -from gereListe import GereListe -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 six.moves import range +from PyQt5.QtWidgets import QFrame, QApplication, QScrollBar +from PyQt5.QtCore import QTimer, QSize, Qt +from PyQt5.QtGui import QIcon -class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe): +class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe,GerePlie): - def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - #print "MonWidgetPlusieursInto", nom, self + def __init__(self,node,monSimpDef,nom,objSimp,parent,commande): self.nomLine="LEResultat" self.listeLE=[] - Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) + self.ouAjouter=0 + self.NumLineEditEnCours=0 + self.alpha=0 + self.filtre="" + Feuille.__init__(self,node,monSimpDef,nom,objSimp,parent,commande) GereListe.__init__(self) - self.parentQt.commandesLayout.insertWidget(-1,self) + #self.finCommentaireListe() + self.gereIconePlier() + self.listeValeursCourantes=self.node.item.GetListeValeurs() try : self.maCommande.listeAffichageWidget.append(self.lineEditVal1) except : # cas ou on ne peut rien ajouter pass - self.ouAjouter=0 self.prepareListeResultat() + if len(self.listeAAfficher) < 20 : self.frameRecherche2.close() + if len(self.listeAAfficher) < 8 : self.frameRecherche.close() self.adjustSize() - self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar() if sys.platform[0:5]!="linux": repIcon=self.node.editor.appliEficas.repIcon fichier=os.path.join(repIcon, 'arrow_up.png') @@ -62,30 +75,42 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere fichier2=os.path.join(repIcon, 'arrow_down.png') icon2 = QIcon(fichier2) self.RBBas.setIcon(icon2) + if self.editor.salome : + 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.parentQt.commandesLayout.insertWidget(-1,self) - def setValeurs(self): - for i in self.listeLE: - i.close() + def prepareListeResultat(self): + for i in self.listeLE: i.close() self.listeLE=[] - listeValeursCourantes=self.node.item.GetListeValeurs() + self.vScrollBar = self.scrollArea.verticalScrollBar() + self.listeValeursCourantes=self.node.item.GetListeValeurs() if hasattr(self.node.item.definition.validators,'set_MCSimp'): obj=self.node.item.getObject() self.node.item.definition.validators.set_MCSimp(obj) if self.node.item.isvalid() == 0 : liste=[] - for item in listeValeursCourantes: + for item in self.listeValeursCourantes: if self.node.item.definition.validators.verif_item(item)==1: liste.append(item) self.listeAAfficher=self.node.item.get_liste_possible(liste) else: self.listeAAfficher=self.node.item.get_liste_possible([]) else : - self.listeAAfficher=self.node.item.get_liste_possible(listeValeursCourantes) + self.listeAAfficher=self.node.item.get_liste_possible(self.listeValeursCourantes) + if self.listeAAfficher==[] : + self.ajoutLE(0) + return + self.filtreListe() if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400) else : self.setMinimumHeight(len(self.listeAAfficher)*30) - self.vScrollBar = self.scrollArea.verticalScrollBar() 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)): @@ -93,21 +118,24 @@ 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) < 30 and hasattr(self,'frameRecherche') : self.frameRecherche.close() - def prepareListeResultat(self): - listeValeursCourantes=self.node.item.GetListeValeurs() - if self.monSimpDef.max == "**" : aConstruire=7 + + def setValeurs(self): + self.listeValeursCourantes=self.node.item.GetListeValeurs() + if self.monSimpDef.max == "**" or self.monSimpDef.max == float('inf') : aConstruire=7 else : aConstruire=self.monSimpDef.max - if len(listeValeursCourantes) > aConstruire : aConstruire=len(listeValeursCourantes) + if len(self.listeValeursCourantes) > aConstruire : aConstruire=len(self.listeValeursCourantes) for i in range(1,aConstruire+1): self.ajoutLEResultat(i) self.indexDernierLabel=aConstruire index=1 - for val in listeValeursCourantes : + for val in self.listeValeursCourantes : nomLE="LEResultat"+str(index) courant=getattr(self,nomLE) courant.setText(str(val)) courant.setReadOnly(True) index=index+1 + self.prepareListeResultat() def moinsPushed(self): self.ouAjouter=self.ouAjouter-1 @@ -126,7 +154,8 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere nouveauLE.setReadOnly(True) if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)") else : nouveauLE.setStyleSheet("background:rgb(240,240,240)") - self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum) + self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar() + self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum) setattr(self,nomLE,nouveauLE) self.estVisibleRE=nouveauLE if valeur != None : @@ -139,7 +168,7 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.CBLayout.insertWidget(index -1,nouveauLE) self.listeLE.append(nouveauLE) nouveauLE.setFrameShape(QFrame.NoFrame) - qApp.processEvents() + QApplication.processEvents() nouveauLE.setText("") if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)") else : nouveauLE.setStyleSheet("background:rgb(240,240,240)") @@ -147,28 +176,8 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere nouveauLE.setFocus() setattr(self,nomLE,nouveauLE) - - def finCommentaire(self): - commentaire="" - mc = self.node.item.get_definition() - d_aides = { 'TXM' : 'chaines de caracteres', - 'R' : 'reels', - 'I' : 'entiers', - 'C' : 'complexes'} - type = mc.type[0] - if not d_aides.has_key(type) : - if mc.min == mc.max: - commentaire=tr("Entrez ")+str(mc.min)+tr(" valeurs ") - else : - commentaire=tr("Entrez entre ")+str(mc.min)+tr(" et ")+str(mc.max)+tr(" valeurs ") - else : - if mc.min == mc.max: - commentaire=tr("Entrez ")+str(mc.min)+" "+tr(d_aides[type]) - else : - commentaire=tr("Entrez entre ")+str(mc.min)+(" et ")+str(mc.max) +" " +tr(d_aides[type]) - aideval=self.node.item.aide() - com=commentaire + " " + QString.toUtf8(QString(aideval)) - return str(com) + def ajoutLineEdit(self): + self.ajoutLEResultat (self.indexDernierLabel) def traiteClicSurLabelListe(self,valeur): @@ -178,13 +187,13 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere if liste ==[] : return listeVal=[] - listeValeursCourantes=self.node.item.GetListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() min,max = self.node.item.GetMinMax() - if len(listeValeursCourantes) +1 > max : + if len(self.listeValeursCourantes) +1 > max : self.editor.affiche_infos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red) return else : - self.editor.affiche_infos(tr("")) + self.editor.affiche_infos("") affiche=False for i in range(1,self.indexDernierLabel+1): @@ -220,9 +229,9 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(listeVal,-1,[]) - listeValeursCourantes=self.node.item.GetListeValeurs() + self.listeValeursCourantes=self.node.item.GetListeValeurs() min,max = self.node.item.GetMinMax() - if len(listeValeursCourantes) < min : + if len(self.listeValeursCourantes) < min : self.editor.affiche_infos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red) else : self.editor.affiche_infos("") @@ -237,7 +246,9 @@ class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,Gere self.setValide() # def rendVisibleLigneRE(self): - qApp.processEvents() + QApplication.processEvents() self.estVisibleRE.setFocus() self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0) # + +