# -*- 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
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
# Modules Python
-import string,types,os
+
+from __future__ import absolute_import
+try :
+ from builtins import str
+ from builtins import range
+ from builtins import object
+except : pass
+
+import types,os
import traceback
-from determine import monEnvQT5
-if monEnvQT5:
- from PyQt5.QtWidgets import QLineEdit, QLabel, QIcon
- from PyQt5.QtCore import QEvent
-else :
- from PyQt4.QtGui import *
- from PyQt4.QtCore import *
+
+from PyQt5.QtWidgets import QLineEdit, QLabel, QFileDialog
+from PyQt5.QtCore import QEvent, Qt, QTimer
+from PyQt5.QtGui import QIcon, QPalette
from Extensions.i18n import tr
-from monViewTexte import ViewText
+from InterfaceQT4.monViewTexte import ViewText
# ---------------------- #
Constructor
"""
QLineEdit.__init__(self,parent)
+
self.parentQt=parentQt
self.num=i
self.dansUnTuple=False
+ self.numDsLaListe=-1
+ self.parentTuple=None
+ self.valeur=None
def focusInEvent(self,event):
- #print "dans focusInEvent de LECustom"
+ #print ("dans focusInEvent de LECustom")
+ self.parentQt.aEuLeFocus=True
+ self.aEuLeFocus=True
self.parentQt.LineEditEnCours=self
- self.parentQt.NumLineEditEnCours=self.num
+ self.parentQt.numLineEditEnCours=self.num
+ self.parentQt.textSelected=self.text()
self.setStyleSheet("border: 2px solid gray")
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.aEuLeFocus:
+ self.aEuLeFocus=False
+ self.litValeur()
+ if self.dansUnTuple : self.parentTuple.getValeur()
QLineEdit.focusOutEvent(self,event)
+
+ def litValeur(self):
+ #print ("dans litValeur de LECustom")
+ self.aEuLeFocus=False
+ val=str(self.text())
+ 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.text()
+ return self.valeur
def setValeur(self,valeur):
self.setText(valeur)
+
+
# --------------------------- #
class LECustomTuple(LECustom):
# --------------------------- #
# index sera mis a jour par TupleCustom
parentQt=parent.parent().parent().parent()
LECustom. __init__(self,parent,parentQt,0)
+ #print (dir(self))
# ---------------------------- #
class MonLabelListeClic(QLabel):
# ------------- #
-class GereListe:
+class GereListe(object):
# ------------- #
def __init__(self):
- if monEnvQT5 :self.connecterSignaux()
- else : self.connecterSignauxQT4()
+ self.connecterSignaux()
- def connecterSignauxQT4(self):
- self.connect(self.RBHaut,SIGNAL("clicked()"),self.hautPushed)
- self.connect(self.RBBas,SIGNAL("clicked()"),self.basPushed)
- self.connect(self.RBMoins,SIGNAL("clicked()"),self.moinsPushed)
- self.connect(self.RBPlus,SIGNAL("clicked()"),self.plusPushed)
- self.connect(self.RBVoisListe,SIGNAL("clicked()"),self.voisListePushed)
def connecterSignaux(self):
- 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,'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)
+ 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)
+ 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)
courant.setText(courant2.text())
courant2.setText(valeurAGarder)
self.changeValeur(changeDePlace=False)
- self.NumLineEditEnCours=num2
+ self.numLineEditEnCours=num2
self.LineEditEnCours=courant2
self.LineEditEnCours.setFocus(True)
def moinsPushed(self):
# on supprime le dernier
- if self.NumLineEditEnCours==self.indexDernierLabel :
+ 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):
+ for i in range (self.numLineEditEnCours, self.indexDernierLabel):
aRemonter=i+1
nomLineEdit=self.nomLine+str(aRemonter)
courant=getattr(self,nomLineEdit)
def plusPushed(self):
if self.indexDernierLabel == self.monSimpDef.max:
- self.editor.affiche_infos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint',Qt.red)
+ 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)
+ 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)
courant.setValeur(valeurADescendre)
valeurADescendre=valeurAGarder
self.changeValeur(changeDePlace=False)
- self.scrollArea.ensureWidgetVisible(self.LineEditEnCours)
+ if hasattr (self, 'LineEditEnCours') :self.scrollArea.ensureWidgetVisible(self.LineEditEnCours)
def voisListePushed(self):
texteValeurs=""
- for v in self.node.item.GetListeValeurs():
+ for v in self.node.item.getListeValeurs():
texteValeurs+=str(v)+", "
entete="Valeurs pour "+self.nom
f=ViewText(self,self.editor,entete,texteValeurs[0:-2])
def selectInFile(self):
- init=QString( self.editor.CONFIGURATION.savedir)
+ 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(unicode(fn))
- self.editor.CONFIGURATION.savedir=os.path.split(ulfile)[0]
+ ulfile = os.path.abspath(fn)
+ self.editor.maConfiguration.savedir=os.path.split(ulfile)[0]
- from monSelectVal import MonSelectVal
+ 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:
+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')
fichier=os.path.join(repIcon, 'minusnode.png')
icon = QIcon(fichier)
self.BFermeListe.setIcon(icon)
- if monEnvQT5 : self.BFermeListe.clicked.connect( self.selectWidgetPlie)
- else : self.connect(self.BFermeListe,SIGNAL("clicked()"), self.selectWidgetPlie)
+ self.BFermeListe.clicked.connect( self.selectWidgetPlie)
def selectWidgetPlie(self):
self.editor.listeDesListesOuvertes.remove(self.node.item)
self.reaffichePourDeplier()
-
-
-