Salome HOME
legere difference ds VARIABLES_TO_BE...
[tools/eficas.git] / InterfaceQT4 / monWidgetCBSD.py
1 # -*- coding: utf-8 -*-
2 # Copyright (C) 2007-2013   EDF R&D
3 #
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
8 #
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 # Lesser General Public License for more details.
13 #
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 #
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 #
20 # Modules Python
21 from __future__ import absolute_import
22 try :
23    from builtins import str
24 except : pass
25
26 import types,os
27
28 # Modules Eficas
29 from Extensions.i18n import tr
30
31 from .feuille               import Feuille
32 from desWidgetCB           import Ui_WidgetCB 
33 from .politiquesValidation  import PolitiqueUnique
34 from .qtSaisie              import SaisieValeur
35
36
37 from PyQt5.QtWidgets import QComboBox, QCompleter
38
39
40 class MonWidgetCB (Ui_WidgetCB,Feuille):
41
42   def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
43         Feuille.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande)
44         self.politique=PolitiqueUnique(self.node,self.editor)
45         self.determineChoix()
46         self.setValeursApresBouton()
47         self.CBChoix.currentIndexChanged.connect(self.ChoixSaisi)
48
49         self.parentQt.commandesLayout.insertWidget(-1,self)
50         self.maCommande.listeAffichageWidget.append(self.CBChoix)
51         #print self.objSimp.isoblig()
52
53
54   def setValeursApresBouton(self):
55       if self.objSimp.get_valeur()==None : 
56          self.CBChoix.setCurrentIndex(-1)
57          return
58       valeur=self.objSimp.get_valeur()
59       if not(type(valeur) == str) : valeur=str(valeur)
60       self.CBChoix.setCurrentIndex(self.CBChoix.findText(valeur))
61       
62   def determineChoix(self):
63       self.CBChoix.currentIndexChanged.connect(self.ChoixSaisi)
64
65       for choix in self.monSimpDef.into:
66           if not(type(choix) == str) : choix=str(choix)
67           self.CBChoix.currentIndexChanged.connect(self.ChoixSaisi)
68           self.CBChoix.addItem(choix)
69       self.CBChoix.setEditable(True)
70       monCompleteur=QCompleter(listeChoix,self) 
71       monCompleteur.setCompletionMode(QCompleter.PopupCompletion) 
72       self.CBChoix.setCompleter(monCompleteur)
73
74   def ChoixSaisi(self):
75       valeur=str(self.CBChoix.currentText())
76       SaisieValeur.LEValeurPressed(self,valeur)
77       self.reaffiche()