Salome HOME
optim eciture
[tools/eficas.git] / InterfaceQT4 / monWidgetCreeParam.py
index 34feff33ec02d9082882c36857f557ebfefdb46e..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 determine import monEnvQT5
-if monEnvQT5 :
-   from PyQt5.QtWidgets import QDialog
-else :
-   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
 
@@ -41,8 +43,7 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
        self.editor.affiche_infos("")
        QDialog.__init__(self,editor)
        self.setupUi(self)
-       if monEnvQT5 : self.connecterSignaux()
-       else         : self.connecterSignauxQT4()
+       self.connecterSignaux()
        self.dejaExistant=0
        self.listeTousParam=self.editor.jdc.params
        self.dictListe={}
@@ -53,8 +54,18 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
         self.connect(self.lineEditNom,SIGNAL("returnPressed()"),self.lineEditNomReturnPressed)
 
   def connecterSignaux(self) :
-        self.lineEditVal.returnPressed(self.lineEditValReturnPressed)
-        self.lineEditNom.returnPressed(self.lineEditNomReturnPressed)
+        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())
@@ -68,10 +79,15 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
         param=itemAvant.addParameters(True)
         param.item.set_nom(nom)
         #PN self.val permet d entrer du texte
-        param.item.set_valeur(val)
+        param.item.set_valeur(self.val)
         param.update_node_texte()
         param.update_node_valid()
-        self.LBParam.addItem(QString(repr(param.item)))
+        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):
@@ -79,7 +95,7 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
         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(u"La Creation de parametre n est possible que dans un jeu de donnees"),Qt.red)
@@ -88,12 +104,12 @@ class MonWidgetCreeParam(Ui_desWidgetCreeParam,QDialog):
         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 :
           try :
@@ -124,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=[]