]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
gestion des listes sauf ASSD
authorpascale.noyret <pascale.noyret@edf.fr>
Mon, 9 Nov 2020 12:22:55 +0000 (13:22 +0100)
committerpascale.noyret <pascale.noyret@edf.fr>
Mon, 9 Nov 2020 12:22:55 +0000 (13:22 +0100)
InterfaceQT4/gereListe.py
InterfaceQT4/gereListe_afetrMT.py [deleted file]
InterfaceQT4/monWidgetCreeUserAssd.py
InterfaceQT4/monWidgetPlusieursASSDIntoOrdonne.py
InterfaceQT4/monWidgetPlusieursBase.py
InterfaceQT4/monWidgetPlusieursCreeUserAssd.py [new file with mode: 0644]
InterfaceQT4/monWidgetPlusieursInto.py
InterfaceQT4/monWidgetPlusieursIntoOrdonne.py
InterfaceQT4/monWidgetPlusieursTuple.py

index 634bcabd374bde85a96833f4d0f89e3a63871f77..30750ba5ae7837a6a17bba4943711c66e108b32d 100644 (file)
@@ -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 (file)
index 681b643..0000000
+++ /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()
-
-        
-     
index ba6cd4b9c3518206638ed0d5ccdf0b0a33ed042f..3a161d4a2d3ef77e819824345d50c8e1ae24dc13 100644 (file)
@@ -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()
index 172a5cf64b677bf6de4f9020b1e60c97129e3da4..de514a5ce58ec803ecd2fd9a9c9547ed5c000f70 100644 (file)
@@ -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)):
index ee3ea901a6f8afee18cac554c9d18b776f02aead..e35b243c5e4b2dab082dc5a4e5f8b24f73e66b1a 100644 (file)
 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 (file)
index 0000000..a4f4577
--- /dev/null
@@ -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)
+#
+#
+#
+#
index d2914bba0a8599847da02496c9ade0bdb0df9b04..ff2715852286e5a78346702fe6cc1a3c28d6466a 100644 (file)
@@ -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()
index 06bc57531c2c7a99cd6318ffa182edee43413ee2..2668376e579abffb8a502359b715f3d54a4a15fa 100644 (file)
@@ -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):
index 8f8e082d88abc1362201bf9b76f2c63e9b38ef4c..c1c2d0ed099bfaa1e66c84af9e8f8f4be880c1c6 100644 (file)
@@ -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)