Salome HOME
Merge V9 dans Master
[tools/eficas.git] / InterfaceQT4 / monGroupeOptionnel.py
index f474a69cd0d668def7ab4470c6318aeb653b850a..7b17edbab88ec89ded5799ba2c075941586acb6c 100644 (file)
 
 from __future__ import absolute_import
 from PyQt5.QtWidgets import QCheckBox, QWidget, QLabel, QPushButton
-from PyQt5.QtCore import Qt, QRect
+from PyQt5.QtCore    import Qt, QRect
+from PyQt5.QtGui     import QPalette
 
-from Extensions.i18n import tr
+from Extensions.i18n    import tr
 from desGroupeOptionnel import Ui_groupeOptionnel
-from desPBOptionnelMT import Ui_customPB
+from desPBOptionnelMT   import Ui_customPB
 
     
 # Import des panels
 
-class monRBButtonCustom(QCheckBox):
+class MonRBButtonCustom(QCheckBox):
 
-   def __init__(self,texte,monOptionnel,parent=None):
+   def __init__(self,texte,monOptionnel,parent=None,couleur=None):
       QCheckBox.__init__(self,tr(texte),parent)
       self.mousePressed=True
-      self.texte=texte
       self.monOptionnel=monOptionnel
       self.setToolTip(tr("clicker: affichage aide, double-click: ajout"))
+      if couleur != None :
+         mapalette=self.palette()
+         mapalette.setColor( QPalette.WindowText, couleur )
+         mapalette.setColor( QPalette.Base, Qt.green )
+         self.setPalette( mapalette );
+         self.setText(tr(texte))
+         try :
+           monToolTip=monOptionnel.parentMC.dictToolTipMc[texte]
+           self.setToolTip(monToolTip)
+         except :
+           pass
+
 
    def mouseDoubleClickEvent(self, event):
       #print "dans mouseDoubleClickEvent", self
@@ -69,18 +81,31 @@ class monRBButtonCustom(QCheckBox):
         maDefinition = self.monOptionnel.parentMC.definition.entites[self.texte]
         maLangue =  self.monOptionnel.parentMC.jdc.lang
         if hasattr(maDefinition,maLangue): 
-          monAide = getattr(maDefinition,self.monOptionnel.parentMC.jdc.lang)
+          self.monAide = getattr(maDefinition,self.monOptionnel.parentMC.jdc.lang)
         else : 
-          monAide = ""
+          self.monAide = ""
       except :
-          monAide = ""
-      self.monOptionnel.parentMC.editor.affiche_commentaire(monAide)
+          self.monAide = ""
+      self.monOptionnel.parentMC.editor.afficheCommentaire(self.monAide)
   
-class monPBButtonCustom(QWidget,Ui_customPB):
+class MonPBButtonCustom(QWidget,Ui_customPB):
 
-   def __init__(self,texte,monOptionnel,parent=None):
+   def __init__(self,texte,monOptionnel,parent=None,couleur=None):
       QWidget.__init__(self)
       self.setupUi(self)
+      if couleur != None :
+         self.monPb.setText(texte)
+         self.monPb.setStyleSheet('QPushButton {background-color: #A3C1DA; color: red;}')
+         #mapalette=self.monPb.palette()
+         #mapalette.setColor( QPalette.ButtonText, Qt.red )
+         #self.monPb.setPalette( mapalette )
+         self.monPb.update()
+         #self.update()
+         try :
+           monToolTip=monOptionnel.parentMC.dictToolTipMc[texte]
+           self.monPb.setToolTip(monToolTip)
+         except :
+           pass
       self.monPb.setText(texte)
       self.monPb.clicked.connect(self.ajoutMC)
 
@@ -105,8 +130,8 @@ class monPBButtonCustom(QWidget,Ui_customPB):
 class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel):
   """
   """
-  def __init__(self,liste,parentQt,parentMC):
-     #print "dans init de monWidgetOptionnel ", parentQt, liste,parentMC
+  def __init__(self,liste,liste_rouge,parentQt,parentMC):
+     #print ("dans init de monWidgetOptionnel ", parentQt, liste,parentMC)
      QWidget.__init__(self,None)
      self.setupUi(self)
      self.listeChecked=[]
@@ -116,10 +141,12 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel):
      self.cb=None
      self.parentQt=parentQt
      self.parentMC=parentMC
+     
+
      if liste != [] : 
-        self.affiche(liste)
+        self.affiche(liste,liste_rouge)
         self.afficheTitre()
-     elif self.parentQt.parentQt.afficheOptionnelVide != False : 
+     elif self.parentQt.parentQt.maConfiguration.afficheOptionnelVide != False : 
         self.afficheTitre()
         self.MCOptionnelLayout.insertWidget(0,QLabel(tr('Pas de MC Optionnel')))
      else :
@@ -128,7 +155,7 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel):
 
 
   def afficheTitre(self):
-     labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText()
+     labeltext,fonte,couleur = self.parentMC.node.item.getLabelText()
      #print (labeltext)
      l=tr(labeltext)
      li=[]
@@ -141,20 +168,21 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel):
      texte=texte[0:-1]
      self.MCLabel.setText(texte)
 
-  def affiche(self,liste):
-     #print "dans Optionnel ____ affiche", liste
+  def affiche(self,liste,liste_rouge):
+     #print ("dans Optionnel ____ affiche", liste,liste_rouge)
      self.dicoCb={}
      liste.reverse()
      for mot in liste :
-         if self.parentQt.parentQt.simpleClic == False :
-            cb = monRBButtonCustom(mot,self)
+         #if mot in liste_rouge : print ('je dois afficher en rouge' , mot)
+         couleur=None
+         if mot in liste_rouge : couleur=Qt.red 
+         if self.parentQt.parentQt.maConfiguration.simpleClic == False :
+            cb = MonRBButtonCustom(mot,self,couleur=couleur)
             cb.clicked.connect(cb.ajoutAideMC)
          else :
-            cb = monPBButtonCustom(mot,self)
+            cb = MonPBButtonCustom(mot,self,couleur=couleur)
 
          self.MCOptionnelLayout.insertWidget(0,cb)
          self.dicoCb[cb]=mot
      self.scrollAreaCommandesOptionnelles.horizontalScrollBar().setSliderPosition(0)
 
-      
-