Salome HOME
optim eciture
[tools/eficas.git] / InterfaceQT4 / monGroupeOptionnel.py
index f07e9ba7202b338af91b343e11f22f7a517895c9..dff78b6104786ec7ab052a36fcbc06705d1b2121 100644 (file)
 # Modules Python
 # Modules Eficas
 
-from determine import monEnvQT5
-if monEnvQT5:
-    from PyQt5.QtWidgets import QCheckBox, QWidget, QLabel
-    from PyQt5.QtCore import Qt
-else :
-    from PyQt4.QtGui  import *
-    from PyQt4.QtCore import *
+from __future__ import absolute_import
+from PyQt5.QtWidgets import QCheckBox, QWidget, QLabel, QPushButton
+from PyQt5.QtCore import Qt, QRect
 
 from Extensions.i18n import tr
 from desGroupeOptionnel import Ui_groupeOptionnel
+from desPBOptionnelMT import Ui_customPB
 
     
 # Import des panels
 
-class monButtonCustom(QCheckBox):
+class monRBButtonCustom(QCheckBox):
 
    def __init__(self,texte,monOptionnel,parent=None):
       QCheckBox.__init__(self,tr(texte),parent)
@@ -44,7 +41,7 @@ class monButtonCustom(QCheckBox):
 
    def mouseDoubleClickEvent(self, event):
       #print "dans mouseDoubleClickEvent", self
-      if self not in self.monOptionnel.dicoCb.keys() 
+      if self not in self.monOptionnel.dicoCb: 
          event.accept()
          return
       listeCheckedMC="+"+self.monOptionnel.dicoCb[self]
@@ -77,12 +74,37 @@ class monButtonCustom(QCheckBox):
           monAide = ""
       self.monOptionnel.parentMC.editor.affiche_commentaire(monAide)
   
+class monPBButtonCustom(QWidget,Ui_customPB):
 
+   def __init__(self,texte,monOptionnel,parent=None):
+      QWidget.__init__(self)
+      self.setupUi(self)
+      self.monPb.setText(texte)
+      self.monPb.clicked.connect(self.ajoutMC)
+
+      self.texte=texte
+      self.monOptionnel=monOptionnel
+      self.definitAideMC()
+      self.setToolTip(self.monAide)
+
+   def ajoutMC (self) :
+      listeCheckedMC="+"+self.monOptionnel.dicoCb[self]
+      self.monOptionnel.parentMC.ajoutMC(listeCheckedMC)
+
+   def definitAideMC(self):
+      try :
+        maDefinition = self.monOptionnel.parentMC.definition.entites[self.texte]
+        maLangue =  self.monOptionnel.parentMC.jdc.lang
+        if hasattr(maDefinition,maLangue): 
+          self.monAide = getattr(maDefinition,self.monOptionnel.parentMC.jdc.lang)
+      except :
+          self.monAide = ""
+        
 class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel):
   """
   """
   def __init__(self,liste,parentQt,parentMC):
-     #print "dans init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom
+     #print "dans init de monWidgetOptionnel ", parentQt, liste,parentMC
      QWidget.__init__(self,None)
      self.setupUi(self)
      self.listeChecked=[]
@@ -92,13 +114,20 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel):
      self.cb=None
      self.parentQt=parentQt
      self.parentMC=parentMC
-     self.afficheTitre()
-     if liste != [] : self.affiche(liste)
-     else : self.MCOptionnelLayout.insertWidget(0,QLabel(tr('Pas de MC Optionnel')))
+     if liste != [] : 
+        self.affiche(liste)
+        self.afficheTitre()
+     elif self.parentQt.parentQt.afficheOptionnelVide != False : 
+        self.afficheTitre()
+        self.MCOptionnelLayout.insertWidget(0,QLabel(tr('Pas de MC Optionnel')))
+     else :
+        self.frameLabelMC.close()
+     #print "dans fin de monWidgetOptionnel ", parentQt
 
 
   def afficheTitre(self):
      labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText()
+     #print (labeltext)
      l=tr(labeltext)
      li=[]
      while len(l) > 25:
@@ -107,7 +136,7 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel):
      li.append(l)
      texte=""
      for l in li : texte+=l+"\n"
-     texte=texte[0:-2]
+     texte=texte[0:-1]
      self.MCLabel.setText(texte)
 
   def affiche(self,liste):
@@ -115,15 +144,15 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel):
      self.dicoCb={}
      liste.reverse()
      for mot in liste :
-         cb = monButtonCustom(mot,self)
-         if monEnvQT5:
-           cb.clicked.connect(cb.ajoutAideMC)
+         if self.parentQt.parentQt.simpleClic == False :
+            cb = monRBButtonCustom(mot,self)
+            cb.clicked.connect(cb.ajoutAideMC)
          else :
-           self.connect(cb,SIGNAL("clicked()"), cb.ajoutAideMC)
+            cb = monPBButtonCustom(mot,self)
+
          self.MCOptionnelLayout.insertWidget(0,cb)
          self.dicoCb[cb]=mot
      self.scrollAreaCommandesOptionnelles.horizontalScrollBar().setSliderPosition(0)
-     #print "Fin Optionnel ____ affiche", liste