Salome HOME
nettoyage des GetPanel et affichage pler deplier selon l ancien etat
[tools/eficas.git] / InterfaceQT4 / gereListe.py
index b88ee9e7f245a0d7d6b3e24b025617bd62189367..518b24e6d8368d936f143fe360c6560afdb6079f 100644 (file)
@@ -35,16 +35,56 @@ class LECustom(QLineEdit):
         """
         Constructor
         """
-        QMainWindow.__init__(self,parent)
+        QLineEdit.__init__(self,parent)
         self.parentQt=parentQt
         self.num=i
+        self.dansUnTuple=False
 
  def focusInEvent(self,event):
-     print "dans focusInEvent de LECustom"
+     #print "dans focusInEvent de LECustom"
      self.parentQt.LineEditEnCours=self
      self.parentQt.NumLineEditEnCours=self.num
+     self.setStyleSheet("border: 2px solid gray")
      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)")
+     QLineEdit.focusOutEvent(self,event)
+
+ def clean(self):
+     self.setText("")
+
+ def getValeur(self):
+     return self.text()
+
+ 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)
+
+# ---------------------------- #
+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)
+
 
 
 
@@ -66,6 +106,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)
 
 
@@ -73,6 +114,7 @@ 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):
@@ -90,44 +132,52 @@ class GereListe:
        self.changeValeur(changeDePlace=False)
        self.NumLineEditEnCours=num2
        self.LineEditEnCours=courant2
+       self.LineEditEnCours.setFocus(True)
 
    def moinsPushed(self):
        # on supprime le dernier
        if self.NumLineEditEnCours==self.indexDernierLabel : 
-          nomLineEdit=self.nomLine+str(aRemonter)
+          nomLineEdit=self.nomLine+str(self.indexDernierLabel)
           courant=getattr(self,nomLineEdit)
-          courant.setText("")
+          courant.clean()
        else :
          for i in range (self.NumLineEditEnCours, self.indexDernierLabel):
              aRemonter=i+1
              nomLineEdit=self.nomLine+str(aRemonter)
+             print nomLineEdit
              courant=getattr(self,nomLineEdit)
-             valeurARemonter=courant.text()
+             valeurARemonter=courant.getValeur()
+             print valeurARemonter
              nomLineEdit=self.nomLine+str(i)
+             print nomLineEdit
              courant=getattr(self,nomLineEdit)
-             courant.setText(valeurARemonter)
+             if valeurARemonter != None : courant.setValeur(valeurARemonter)
+             else : courant.clean()
          nomLineEdit=self.nomLine+str(self.indexDernierLabel)
          courant=getattr(self,nomLineEdit)
-         courant.setText("")
+         courant.clean()
        self.changeValeur(changeDePlace=False,oblige=True)
        self.setValide()
 
    def plusPushed(self):
        if self.indexDernierLabel == self.monSimpDef.max:
-          self.editor.affiche_infos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint')
+          self.editor.affiche_infos('nb max de valeurs : '+str(self.monSimpDef.max)+' atteint',Qt.red)
           return
        self.ajoutLineEdit()
+       self.descendLesLignes()
+
+   def descendLesLignes(self):
        if self.NumLineEditEnCours==self.indexDernierLabel : return
        nomLineEdit=self.nomLine+str(self.NumLineEditEnCours+1)
        courant=getattr(self,nomLineEdit)
-       valeurADescendre=courant.text()
-       courant.setText("")
+       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.text()
-             courant.setText(valeurADescendre)
+             valeurAGarder=courant.getValeur()
+             courant.setValeur(valeurADescendre)
              valeurADescendre=valeurAGarder
        self.changeValeur(changeDePlace=False)
        self.scrollArea.ensureWidgetVisible(self.LineEditEnCours)