Salome HOME
dernieres modifs
[tools/eficas.git] / InterfaceQT4 / gereListe.py
index 3a846023d1ecc2fe9e45f09c4d82369384e02ec1..11a43dbd107289ad165fa959e50fa2d94137c391 100644 (file)
@@ -27,6 +27,7 @@ from PyQt4.QtCore import *
 from Extensions.i18n import tr
 from monViewTexte   import ViewText
 
+
 # ---------------------- #
 class LECustom(QLineEdit):
 # ---------------------- #
@@ -42,8 +43,26 @@ class LECustom(QLineEdit):
      print "dans focusInEvent de LECustom"
      self.parentQt.LineEditEnCours=self
      self.parentQt.NumLineEditEnCours=self.num
+     self.setFrame(True)
      QLineEdit.focusInEvent(self,event)
 
+ def focusOutEvent(self,event):
+     self.setFrame(False)
+     QLineEdit.focusOutEvent(self,event)
+
+# ---------------------------- #
+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)
+
 
 
 
@@ -65,6 +84,7 @@ class GereListe:
        if self.NumLineEditEnCours == 1 : return
        else : numEchange=self.NumLineEditEnCours-1
        self.echange(self.NumLineEditEnCours,numEchange)
+       self.LineEditEnCours.setFocus(True)
        self.scrollArea.ensureWidgetVisible(self.LineEditEnCours)
 
 
@@ -72,16 +92,17 @@ class GereListe:
        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="lineEditVal"+str(num1)
+       nomLineEdit=self.nomLine+str(num1)
        #print nomLineEdit
        courant=getattr(self,nomLineEdit)
        valeurAGarder=courant.text()
-       nomLineEdit2="lineEditVal"+str(num2)
+       nomLineEdit2=self.nomLine+str(num2)
        #print nomLineEdit2
        courant2=getattr(self,nomLineEdit2)
        courant.setText(courant2.text())
@@ -89,27 +110,28 @@ class GereListe:
        self.changeValeur(changeDePlace=False)
        self.NumLineEditEnCours=num2
        self.LineEditEnCours=courant2
+       self.LineEditEnCours.setFocus(True)
 
    def moinsPushed(self):
-       if self.indexDernierLabel < self.monSimpDef.min:
-          self.editor.affiche_infos('nb min de valeurs : '+str(self.monSimpDef.min)+' atteint')
-          return
        # on supprime le dernier
        if self.NumLineEditEnCours==self.indexDernierLabel : 
-          self.setText("")
+          nomLineEdit=self.nomLine+str(aRemonter)
+          courant=getattr(self,nomLineEdit)
+          courant.setText("")
        else :
          for i in range (self.NumLineEditEnCours, self.indexDernierLabel):
              aRemonter=i+1
-             nomLineEdit="lineEditVal"+str(aRemonter)
+             nomLineEdit=self.nomLine+str(aRemonter)
              courant=getattr(self,nomLineEdit)
              valeurARemonter=courant.text()
-             nomLineEdit="lineEditVal"+str(i)
+             nomLineEdit=self.nomLine+str(i)
              courant=getattr(self,nomLineEdit)
              courant.setText(valeurARemonter)
-         nomLineEdit="lineEditVal"+str(self.indexDernierLabel)
+         nomLineEdit=self.nomLine+str(self.indexDernierLabel)
          courant=getattr(self,nomLineEdit)
          courant.setText("")
-       self.changeValeur(changeDePlace=False)
+       self.changeValeur(changeDePlace=False,oblige=True)
+       self.setValide()
 
    def plusPushed(self):
        if self.indexDernierLabel == self.monSimpDef.max:
@@ -117,13 +139,13 @@ class GereListe:
           return
        self.ajoutLineEdit()
        if self.NumLineEditEnCours==self.indexDernierLabel : return
-       nomLineEdit="lineEditVal"+str(self.NumLineEditEnCours+1)
+       nomLineEdit=self.nomLine+str(self.NumLineEditEnCours+1)
        courant=getattr(self,nomLineEdit)
        valeurADescendre=courant.text()
        courant.setText("")
        for i in range (self.NumLineEditEnCours+1, self.indexDernierLabel):
              aDescendre=i+1
-             nomLineEdit="lineEditVal"+str(aDescendre)
+             nomLineEdit=self.nomLine+str(aDescendre)
              courant=getattr(self,nomLineEdit)
              valeurAGarder=courant.text()
              courant.setText(valeurADescendre)
@@ -143,3 +165,17 @@ class GereListe:
 
    def selectInFile(self):
        print "selectInFile"
+       init=QString( self.editor.CONFIGURATION.savedir)
+       fn = QFileDialog.getOpenFileName(self.node.appliEficas,
+                                         tr("Fichier de donnees"),
+                                         init,
+                                         tr('Tous les  Fichiers (*)',))
+       if fn == None : return
+       if fn == "" : return
+       ulfile = os.path.abspath(unicode(fn))
+       self.editor.CONFIGURATION.savedir=os.path.split(ulfile)[0]
+
+       from monSelectVal import MonSelectVal
+       MonSelectVal(file=fn,parent=self).show()
+
+