X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonGroupeOptionnel.py;h=dff78b6104786ec7ab052a36fcbc06705d1b2121;hb=96176d0080e0d4efbd29d98c0df700a64a82acdc;hp=8711f2f46b75c2b0a84bb32c0cd39fb9533e9cca;hpb=b81fc0b5a753b91fbe74582aaa6f2b41b0c9bdc7;p=tools%2Feficas.git diff --git a/InterfaceQT4/monGroupeOptionnel.py b/InterfaceQT4/monGroupeOptionnel.py index 8711f2f4..dff78b61 100644 --- a/InterfaceQT4/monGroupeOptionnel.py +++ b/InterfaceQT4/monGroupeOptionnel.py @@ -19,30 +19,29 @@ # 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) + self.mousePressed=True self.texte=texte self.monOptionnel=monOptionnel + self.setToolTip(tr("clicker: affichage aide, double-click: ajout")) 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] @@ -51,20 +50,61 @@ class monButtonCustom(QCheckBox): def mousePressEvent(self, event): - #rint "dans mousePressEvent" - self.mousePressed=True if not( event.button() != Qt.RightButton) : event.accept() return + if self.monOptionnel.cbPressed != None : + self.monOptionnel.cbPressed.setChecked(False) + self.monOptionnel.cbPressed=self + if self.mousePressed == False : + self.mousePressed=True + else : + self.mousePressed=False + self.ajoutAideMC() QCheckBox.mousePressEvent(self, event) event.accept() + def ajoutAideMC(self): + try : + 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) + except : + 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=[] @@ -74,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: @@ -89,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): @@ -97,30 +144,15 @@ class MonGroupeOptionnel (QWidget,Ui_groupeOptionnel): self.dicoCb={} liste.reverse() for mot in liste : - cb = monButtonCustom(mot,self) - #if monEnvQT5: - # cb.clicked.connect(self.ajoutMC) - #else : - # self.connect(cb,SIGNAL("clicked()"), self.ajoutMC) + if self.parentQt.parentQt.simpleClic == False : + cb = monRBButtonCustom(mot,self) + cb.clicked.connect(cb.ajoutAideMC) + else : + cb = monPBButtonCustom(mot,self) + self.MCOptionnelLayout.insertWidget(0,cb) self.dicoCb[cb]=mot self.scrollAreaCommandesOptionnelles.horizontalScrollBar().setSliderPosition(0) - #print "Fin Optionnel ____ affiche", liste - def CBChecked(self): - # ordre ? - return - for cb in self.dicoCb.keys() : - if cb.isChecked() and self.dicoCb[cb] not in self.listeChecked : self.listeChecked.append(self.dicoCb[cb]) - if not(cb.isChecked()) and self.dicoCb[cb] in self.listeChecked : self.listeChecked.remove(self.dicoCb[cb]) - self.parentMC.recalculeListeMC(self.listeChecked) + -# -# def ajoutMC(self): -# maListe="" -# for cb in self.dicoCb.keys(): -# if cb.isChecked() : maListe+="+"+str(cb.text()) -# if maListe=="":return - #print "dans Optionnel __ ajout de ", maListe -# self.parentMC.ajoutMC(maListe) -#