Salome HOME
bug
[tools/eficas.git] / InterfaceQT4 / monWidgetCB.py
index 3fb8f86e5516ac973f9cf11248bd67e9cf5eb745..5cdaca20e40e30cd27286aeeec39273cf1e412b1 100644 (file)
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
 # Modules Python
-import string,types,os
+from __future__ import absolute_import
+try :
+   from builtins import str
+except : pass
+
+import types,os
 
 # Modules Eficas
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
 
-from feuille               import Feuille
+from .feuille               import Feuille
 from desWidgetCB           import Ui_WidgetCB 
-from politiquesValidation  import PolitiqueUnique
-from qtSaisie              import SaisieValeur
+from .politiquesValidation  import PolitiqueUnique
+from .qtSaisie              import SaisieValeur
+
+from PyQt5.QtWidgets import QComboBox, QCompleter
+from PyQt5.QtCore import Qt
 
 
-class MonWidgetCB (Ui_WidgetCB,Feuille):
+class MonWidgetCBCommun (Ui_WidgetCB,Feuille):
 
   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
         self.politique=PolitiqueUnique(self.node,self.editor)
         self.determineChoix()
         self.setValeursApresBouton()
-        self.connect(self.CBChoix,SIGNAL("currentIndexChanged(int)"),self.ChoixSaisi)
+        self.CBChoix.currentIndexChanged.connect(self.ChoixSaisi)
+        #self.CBChoix.lineEdit().setText(tr("Select"))
         self.parentQt.commandesLayout.insertWidget(-1,self)
         self.maCommande.listeAffichageWidget.append(self.CBChoix)
-        print self.objSimp.isoblig()
+        self.AAfficher=self.CBChoix
 
 
   def setValeursApresBouton(self):
       if self.objSimp.get_valeur()==None : 
          self.CBChoix.setCurrentIndex(-1)
+         #self.CBChoix.lineEdit().setStyleSheet(("QLineEdit {" " background:yellow;\n" "font: italic ;\n" " }\n" " "))
+         self.CBChoix.lineEdit().setText(tr("Select"))
          return
       valeur=self.objSimp.get_valeur()
-      if not(type(valeur) in types.StringTypes) : valeur=str(valeur)
+      if not(type(valeur) == str) : valeur=str(valeur)
       self.CBChoix.setCurrentIndex(self.CBChoix.findText(valeur))
       
   def determineChoix(self):
-      listeChoix=QStringList()
-      for choix in self.monSimpDef.into:
-          if not(type(choix) in types.StringTypes) : choix=str(choix)
-          listeChoix<<choix
+      listeChoix=[]
+      for choix in self.maListeDeValeur:
+          if not(type(choix) == str) : choix=str(choix)
+          listeChoix.append(choix)
           self.CBChoix.addItem(choix)
       self.CBChoix.setEditable(True)
       monCompleteur=QCompleter(listeChoix,self) 
@@ -64,6 +73,23 @@ class MonWidgetCB (Ui_WidgetCB,Feuille):
       self.CBChoix.setCompleter(monCompleteur)
 
   def ChoixSaisi(self):
-      valeur=str(self.CBChoix.currentText().toLatin1())
+      self.CBChoix.lineEdit().setStyleSheet(("\n"
+"QLineEdit {\n"
+"     font : italic ;\n"
+"     background: rgb(235,235,235);\n"
+" }"))
+      valeur=str(self.CBChoix.currentText())
       SaisieValeur.LEValeurPressed(self,valeur)
       self.reaffiche()
+
+class MonWidgetCB (MonWidgetCBCommun):
+
+  def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
+      self.maListeDeValeur=monSimpDef.into
+      MonWidgetCBCommun. __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
+
+class MonWidgetCBSD (MonWidgetCBCommun):
+
+  def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
+      self.maListeDeValeur=node.item.get_sd_avant_du_bon_type()
+      MonWidgetCBCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)