Salome HOME
onItem=Deplie
[tools/eficas.git] / InterfaceQT4 / monWidgetPlusieursTuple.py
index f0a3e02fbaa528288fdae1297255a18335b33cf9..a928d7579f5730a6ead5e350dd35ecd02e9376f2 100644 (file)
@@ -18,7 +18,7 @@
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import string,types,os
+import string,types,os,sys
 
 # Modules Eficas
 from PyQt4.QtGui import *
@@ -44,6 +44,7 @@ class TupleCustom :
       self.valeur=None
       self.index=index
 
+
       for i in range(self.tailleTuple):
          nomLE="lineEditVal_"+str(i+1)
          courant=getattr(self,nomLE)
@@ -101,7 +102,6 @@ class TupleCustom :
       else                    : self.valeur=listeVal
 
   def getValeur(self):
-      listeVal=[]
       return self.valeur
 
   def clean(self):
@@ -126,13 +126,29 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         self.indexDernierLabel=0
-        self.NumLineEditEnCours=0
         self.nomLine="TupleVal"
         self.listeAffichageWidget=[]
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
         GereListe.__init__(self)
         self.politique=PolitiquePlusieurs(self.node,self.editor)
         self.parentQt.commandesLayout.insertWidget(-1,self)
+        if sys.platform[0:5]!="linux":
+          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))
+          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(fichier3)
+          self.BSelectFichier.setIcon(icon3)
+          self.BSelectFichier.setIconSize(QSize(32, 32))
+        self.connect(self.BSelectFichier,SIGNAL("clicked()"), self.selectInFile)
+          
+        
+
 
   def ajoutLineEdit(self,valeur=None,inInit=False):
       self.indexDernierLabel=self.indexDernierLabel+1
@@ -166,6 +182,7 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
 
 
   def setValeurs(self):
+       self.RBListePush()
        valeurs=self.node.item.get_valeur()
        min,max=self.node.item.GetMinMax()
        if max == "**" or max > 5 : aCreer=5
@@ -223,3 +240,72 @@ class MonWidgetPlusieursTuple(Feuille,GereListe):
          except :
            pass
           
+  def AjoutNValeur(self,liste):
+        if len(liste)%self.nbValeurs != 0 :
+           texte="Nombre de valeur incorrecte"
+           #self.Commentaire.setText(texte)
+           self.editor.affiche_infos(texte,Qt.red)
+           return
+        i=0
+        while ( i < len(liste) ) :
+            if self.objSimp.valeur != None : indexDernierRempli=len(self.objSimp.valeur)
+            else : indexDernierRempli=0
+            try :
+              t=tuple(liste[i:i+self.nbValeurs])
+              i=i+self.nbValeurs
+            except:
+              t=tuple(liste[i:len(liste)])
+            if indexDernierRempli < self.indexDernierLabel:
+               nomLineEdit=self.nomLine+str(indexDernierRempli+1)
+               LEARemplir=getattr(self,nomLineEdit) 
+               LEARemplir.lineEditVal_1.setText(str(t[0]))
+               LEARemplir.lineEditVal_2.setText(str(t[1]))
+               if self.nbValeurs== 3 : LEARemplir.lineEditVal_3.setText(str(t[2]))
+               LEARemplir.valueChange()
+            else : 
+               self.ajoutLineEdit(t,False)
+               nomLineEdit=self.nomLine+str(self.indexDernierLabel)
+               LEARemplir=getattr(self,nomLineEdit) 
+               LEARemplir.valueChange()
+
+
+  def RBListePush(self):
+  # PN a rendre generique avec un truc tel prerempli
+      if self.objSimp.valeur != None and self.objSimp.valeur != [] : return
+      if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_ligne :
+         val=[]
+         for k in self.objSimp.jdc.LineDico.keys() :
+              try :
+               valeur=self.objSimp.jdc.get_concept(k)
+               val.append((valeur,0))
+              except :
+               pass
+         self.node.item.set_valeur(val)
+      if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_generateur :
+         val=[]
+         for k in self.objSimp.jdc.MachineDico.keys() :
+              try :
+               valeur=self.objSimp.jdc.get_concept(k)
+               val.append((valeur,0))
+              except :
+               pass
+         self.node.item.set_valeur(val)
+      if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_transfo :
+         val=[]
+         for k in self.objSimp.jdc.TransfoDico.keys() :
+              try :
+               valeur=self.objSimp.jdc.get_concept(k)
+               val.append((valeur,0))
+              except :
+               pass
+         self.node.item.set_valeur(val)
+      if self.objSimp.definition.validators.typeDesTuples[0]==self.editor.readercata.cata[0].sd_charge :
+         val=[]
+         for k in self.objSimp.jdc.LoadDico.keys() :
+              try :
+               valeur=self.objSimp.jdc.get_concept(k)
+               val.append((valeur,0))
+              except :
+               pass
+         self.node.item.set_valeur(val)
+