Salome HOME
optim eciture
[tools/eficas.git] / InterfaceQT4 / qtSaisie.py
index 4e14da6073404b05777bbaef52ff432c3440bff4..82390b6fb2917013b112fcf37faee789ae3cea7a 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import string,types,os
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from __future__ import absolute_import
+try :
+   from builtins import str
+   from builtins import range
+except : pass
+
+import types,os
 from Extensions.i18n import tr
 
+from PyQt5.QtCore import Qt
+
 
 # Import des panels
 
-class SaisieValeur:
+class SaisieValeur(object):
   """
-  Classe contenant les méthodes communes aux  panels
+  Classe contenant les methodes communes aux  panels
   permettant de choisir des valeurs 
   """
   def __init__(self):
@@ -40,15 +45,25 @@ class SaisieValeur:
          if valeur == None :
             nouvelleValeur=str(self.lineEditVal.text())
          else :
-            if hasattr(self,"lineEditVal"):self.lineEditVal.setText(QString(valeur.nom))
+            #PN PN PN ???? la 1 ligne est tres bizarre.
+            try : 
+              if hasattr(self,"lineEditVal"):self.lineEditVal.setText(tr(valeur.nom))
+            except : 
+              if hasattr(self,"lineEditVal"):self.lineEditVal.setText(valeur)
             nouvelleValeur=valeur
-         validite,commentaire=self.politique.RecordValeur(nouvelleValeur)
+         if self.node.item.definition.validators != None :
+          if self.node.item.definition.validators.verif_item(nouvelleValeur) !=1 :
+                commentaire=self.node.item.definition.validators.info_erreur_item()
+                self.editor.affiche_infos(commentaire,Qt.red)
+                return
+         nouvelleValeurFormat=self.politique.GetValeurTexte(nouvelleValeur)
+         validite,commentaire=self.politique.RecordValeur(nouvelleValeurFormat)
          if commentaire != "" :
             #PNPNPNP Il faut trouver une solution pour les 2 cas 
             #   self.editor.affiche_infos(commentaire)
-            #self.Commentaire.setText(QString(commentaire))
+            #self.Commentaire.setText(tr(commentaire))
             if validite :
-                self.editor.affiche_infos(commentaire)
+                self.editor.affiche_commentaire(commentaire)
             else :
                 self.editor.affiche_infos(commentaire,Qt.red)
          self.setValide()
@@ -82,7 +97,7 @@ class SaisieValeur:
         except :
             valeur=valeurBrute
 
-        if type(valeur)  in (types.ListType,types.TupleType) :
+        if type(valeur)  in (list,tuple) :
            if self.node.item.wait_complex() :
               indice = 0
               while (indice < len(valeur)):
@@ -106,18 +121,19 @@ class SaisieValeur:
            else:  # on n'attend pas un complexe
              listeValeurs=valeurBrute.split(',')
 
-        elif type(valeur) == types.StringType:
+        elif type(valeur) == bytes:
              listeValeurs=valeur.split(',')
         else:
-          listeValeurs.append(valeurBrute)
+          #listeValeurs.append(valeurBrute)
+          listeValeurs.append(valeur)
 
         return listeValeurs,1
 
-class SaisieSDCO :
+class SaisieSDCO(object) :
 
   def LESDCOReturnPressed(self):
         """
-           Lit le nom donné par l'utilisateur au concept de type CO qui doit être
+           Lit le nom donne par l'utilisateur au concept de type CO qui doit être
            la valeur du MCS courant et stocke cette valeur
         """
         self.editor.init_modif()