Salome HOME
optim eciture
[tools/eficas.git] / InterfaceQT4 / monWidgetCreeParam.py
index c51f705b1bd5ded6d3b45701ece538dbe0d07e01..f692ba88d5cce9aec6383ee476d18e4ddbdf0f69 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import string,types,os,re
+from __future__ import absolute_import
+try :
+   from builtins import object
+except : pass
+
+import types,os,re
+from six.moves import range
 pattern_name       = re.compile(r'^[^\d\W]\w*\Z')
 
 # Modules Eficas
 
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from PyQt5.QtWidgets import QDialog, QMessageBox
+from PyQt5.QtCore import Qt
 from Extensions.i18n import tr
 from desWidgetCreeParam import Ui_desWidgetCreeParam
 
@@ -35,6 +40,7 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
   """
   def __init__(self,editor, name = None,fl = 0):
        self.editor=editor
+       self.editor.affiche_infos("")
        QDialog.__init__(self,editor)
        self.setupUi(self)
        self.connecterSignaux()
@@ -43,10 +49,23 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
        self.dictListe={}
        self.initToutesVal()
 
-  def connecterSignaux(self) :
+  def connecterSignauxQT4(self) :
         self.connect(self.lineEditVal,SIGNAL("returnPressed()"),self.lineEditValReturnPressed)
         self.connect(self.lineEditNom,SIGNAL("returnPressed()"),self.lineEditNomReturnPressed)
 
+  def connecterSignaux(self) :
+        self.lineEditVal.returnPressed.connect(self.lineEditValReturnPressed)
+        self.lineEditNom.returnPressed.connect(self.lineEditNomReturnPressed)
+        self.LBParam.itemDoubleClicked.connect(self.paramClicked)
+
+  def paramClicked(self,item):
+        if self.editor.nodeEnCours == None : 
+            QMessageBox.warning( self, tr("Pas de Mot-Clef"),tr("Attention! selectionnez un mot-clef"))
+            return
+        param= self.dictListe[item.text()]
+        self.editor.nodeEnCours.lineEditVal.setText(param)
+        self.editor.nodeEnCours.LEValeurPressed()
+       
 
   def CreeParametre(self):
         nom=str(self.lineEditNom.text())
@@ -59,32 +78,45 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
            itemAvant=self.editor.tree.selectedItems()[0]
         param=itemAvant.addParameters(True)
         param.item.set_nom(nom)
-        param.item.set_valeur(val)
+        #PN self.val permet d entrer du texte
+        param.item.set_valeur(self.val)
         param.update_node_texte()
-        self.LBParam.addItem(QString(repr(param.item)))
+        param.update_node_valid()
+        self.LBParam.addItem((repr(param.item.object)))
+        self.dictListe[repr(param.item.object)] = param.item.object.nom
+        self.lineEditVal.setText("")
+        self.lineEditNom.setText("")
+        self.lineEditNom.setFocus(True)
+
 
 
   def lineEditValReturnPressed(self):
         qtVal=self.lineEditVal.text()
         valString=str(self.lineEditVal.text())
+        self.val=""
         contexte={}
-        exec "from math import *" in contexte
+        exec("from math import *", contexte)
         jdc=self.editor.jdc
         if jdc == None : 
-          self.editor.affiche_infos(tr("La Creation de parametre n est possible que dans un jeu de données"),Qt.red)
+          self.editor.affiche_infos(tr(u"La Creation de parametre n est possible que dans un jeu de donnees"),Qt.red)
           return
 
         for p in jdc.params :
            try:
               tp=p.nom+'='+str(repr(p.valeur))
-              exec tp  in contexte
+              exec(tp, contexte)
            except :
               pass
         monTexte="monParam="+valString
         try :
-          exec monTexte in contexte
+          exec(monTexte, contexte)
+          self.val=valString
         except :
-          self.editor.affiche_infos(tr("Valeur incorrecte"),Qt.red)
+          try :
+            monTexte="monParam='"+valString+"'"
+            self.val="'"+valString+"'"
+          except :
+            self.editor.affiche_infos(tr("Valeur incorrecte"),Qt.red)
         if self.lineEditNom.text()!="" and self.dejaExistant==False : self.CreeParametre()
 
 
@@ -97,7 +129,7 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
            self.editor.affiche_infos(commentaire,Qt.red)
         for p in self.editor.jdc.params :
            if p.nom==nom :
-             commentaire=nom + tr(" existe déjà\n ")
+             commentaire=nom + tr(" existe deja\n ")
              self.editor.affiche_infos(commentaire,Qt.red)
              return
 
@@ -108,9 +140,11 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
   def initToutesVal(self):
         self.LBParam.clear()
         for param in self.listeTousParam :
-            self.LBParam.addItem(QString(repr(param)))
-            self.dictListe[QString(repr(param))] = param
-
+            self.LBParam.addItem((repr(param)))
+            self.dictListe[repr(param)] = param.nom
+         
+         
+  
   def valideParam(self):
         if self.LBParam.selectedItems()== None : return
         lParam=[]
@@ -120,9 +154,9 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
             lParam.append(param)
 
         try :
-          self.panel.AjoutNValeur(lParam)
+          self.panel.ajoutNValeur(lParam)
         except :
           for p in lParam :
-             self.panel.Ajout1Valeur(p)
+             self.panel.ajout1Valeur(p)
         self.close()