Salome HOME
reindent + copyright + merge manuel avec la V9_dev sauf repertoires metier
[tools/eficas.git] / InterfaceQT4 / monWidgetSimpBase.py
index 78fc1a7592d4e0c4d0261ab065339ecf3d044b9d..fae5cb3f383c63f132898567574bd56e95e2d7fb 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013   EDF R&D
+# Copyright (C) 2007-2021   EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -20,7 +20,7 @@
 # Modules Python
 from __future__ import absolute_import
 try :
-   from builtins import str
+    from builtins import str
 except : pass
 
 import types,os
@@ -31,91 +31,85 @@ from PyQt5.QtCore import  Qt
 from Extensions.i18n import tr
 
 from .feuille               import Feuille
-from desWidgetSimpBase     import Ui_WidgetSimpBase 
+from desWidgetSimpBase     import Ui_WidgetSimpBase
 from .politiquesValidation  import PolitiqueUnique
 from .qtSaisie              import SaisieValeur
 
 
 class MonWidgetSimpBase (Ui_WidgetSimpBase,Feuille):
 
-  def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
+    def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
+        if 'R' or 'I' in self.monSimpDef.type  : self.lineEditVal.setMinimumWidth(525)
         self.parentQt.commandesLayout.insertWidget(-1,self,1)
         self.setFocusPolicy(Qt.StrongFocus)
-        self.lineEditVal.returnPressed.connect(self.LEValeurPressed)
+        if monSimpDef.homo == 'constant' : self.lineEditVal.setReadOnly(True)
+        if monSimpDef.homo == 'constant' : self.lineEditVal.setStyleSheet("background:rgb(210,235,235);\n" "border:0px;")
+        else : self.lineEditVal.returnPressed.connect(self.LEvaleurPressed)
         self.AAfficher=self.lineEditVal
         self.maCommande.listeAffichageWidget.append(self.lineEditVal)
         self.lineEditVal.focusInEvent=self.monFocusInEvent
         self.lineEditVal.focusOutEvent=self.monFocusOutEvent
 
 
-  def monFocusInEvent(self,event):
-      self.editor.nodeEnCours = self
-      QLineEdit.focusInEvent(self.lineEditVal,event)
-
-  def monFocusOutEvent(self,event):
-      if self.oldValeurTexte != self.lineEditVal.text():
-         self.LEValeurPressed()
-         self.oldValeurTexte= self.lineEditVal.text()
-      QLineEdit.focusOutEvent(self.lineEditVal,event)
-
-  #def showEvent(self, event):
-  #    if self.prendLeFocus==1 :
-  #       self.activateWindow()
-  #       self.lineEditVal.setFocus()
-  #       self.prendLeFocus=0
-  #    QWidget.showEvent(self,event)
-
-  def setValeurs(self):
-       #print ("dans setValeurs")
-       self.politique=PolitiqueUnique(self.node,self.editor)
-       valeur=self.node.item.get_valeur()
-       valeurTexte=self.politique.GetValeurTexte(valeur)
-       chaine=""
-
-       if valeurTexte != None :
-          from decimal import Decimal
-          if isinstance(valeurTexte,Decimal):
-             chaine=str(valeurTexte)
-          elif repr(valeurTexte.__class__).find("PARAMETRE") > 0:
-             chaine = repr(valeur)
-          else :
-             #PN ????
-             #try :
-             #  chaine=QString("").setNum(valeurTexte)
-             #except :
-             chaine=str(valeurTexte)
-       self.oldValeurTexte=chaine
-       self.lineEditVal.setText(chaine)
-
-
-  def finCommentaire(self):
-      mc = self.objSimp.definition
-      d_aides = { 'TXM' : tr(u"Une chaine de caracteres est attendue.  "),
-                  'R'   : tr(u"Un reel est attendu. "),
-                  'I'   : tr(u"Un entier est attendu.  "),
-                  'Matrice' : tr(u'Une Matrice est attendue.  '),
-                  'Fichier' : tr(u'Un fichier est attendu.  '),
-                  'FichierNoAbs' : tr(u'Un fichier est attendu.  '),
-                  'Repertoire' : tr(u'Un repertoire est attendu.  '),
-                  'FichierOuRepertoire' : tr(u'Un repertoire ou un fichier est attendu.  '),
-                  'Heure' : tr(u'Heure sous la forme HH:MM'),
-                  'Date' :  tr(u'Date sous la forme JJ/MM/AA')}
-      if mc.type[0] != type:
-         commentaire = d_aides.get(mc.type[0], tr("Type de base inconnu"))
-      else : commentaire=""
-      return commentaire
-
-
-  def LEValeurPressed(self):
-      if str(self.lineEditVal.text())=="" or str(self.lineEditVal.text())==None : return
-      SaisieValeur.LEValeurPressed(self)
-      self.parentQt.donneFocus()
-      self.setValeurs()
-      self.reaffiche()
-      
-      #if self.objSimp.parent.nom == "MODEL" :
-      #   if self.objSimp.isvalid():
-      #      self.objSimp.parent.change_fichier="1"
-            #self.node.item.parent.build_include(None,"")
-
+    def monFocusInEvent(self,event):
+        self.editor.nodeEnCours = self
+        QLineEdit.focusInEvent(self.lineEditVal,event)
+
+    def monFocusOutEvent(self,event):
+        if self.oldValeurTexte != self.lineEditVal.text():
+            self.oldValeurTexte= self.lineEditVal.text()
+            self.LEvaleurPressed()
+        QLineEdit.focusOutEvent(self.lineEditVal,event)
+
+
+    def setValeurs(self):
+        #print ("dans setValeurs")
+        self.politique=PolitiqueUnique(self.node,self.editor)
+        valeur=self.node.item.getValeur()
+        valeurTexte=self.politique.getValeurTexte(valeur)
+        chaine=""
+
+        if valeurTexte != None :
+            from decimal import Decimal
+            if isinstance(valeurTexte,Decimal):
+                chaine=str(valeurTexte)
+            elif repr(valeurTexte.__class__).find("PARAMETRE") > 0:
+                chaine = repr(valeur)
+            else :
+                #PN ????
+                #try :
+                #  chaine=QString("").setNum(valeurTexte)
+                #except :
+                chaine=str(valeurTexte)
+        self.oldValeurTexte=chaine
+        self.lineEditVal.setText(chaine)
+
+
+    def finCommentaire(self):
+        mc = self.objSimp.definition
+        d_aides = { 'TXM' : tr(u"Une chaine de caracteres est attendue.  "),
+                    'R'   : tr(u"Un reel est attendu. "),
+                    'I'   : tr(u"Un entier est attendu.  "),
+                    'Matrice' : tr(u'Une Matrice est attendue.  '),
+                    'Fichier' : tr(u'Un fichier est attendu.  '),
+                    'FichierNoAbs' : tr(u'Un fichier est attendu.  '),
+                    'Repertoire' : tr(u'Un repertoire est attendu.  '),
+                    'FichierOuRepertoire' : tr(u'Un repertoire ou un fichier est attendu.  '),
+                    'Heure' : tr(u'Heure sous la forme HH:MM'),
+                    'Date' :  tr(u'Date sous la forme JJ/MM/AA')}
+        if mc.type[0] != type:
+            commentaire = d_aides.get(mc.type[0], tr("Type de base inconnu"))
+        else : commentaire=""
+        return commentaire
+
+
+    def LEvaleurPressed(self):
+        # pour les soucis d encoding
+        try :
+            if str(self.lineEditVal.text())=="" or str(self.lineEditVal.text())==None : return
+        except : pass
+        SaisieValeur.LEvaleurPressed(self)
+        self.parentQt.donneFocus()
+        self.setValeurs()
+        self.reaffiche()