X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetOptionnel.py;h=03dad522ba142248e748f04224a4751e19bbdfae;hb=96176d0080e0d4efbd29d98c0df700a64a82acdc;hp=4cfdf2d9028007591f1012e1b252109a9e2a1511;hpb=16d5922e798b1254eb558678612711d72ed38b32;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetOptionnel.py b/InterfaceQT4/monWidgetOptionnel.py index 4cfdf2d9..03dad522 100644 --- a/InterfaceQT4/monWidgetOptionnel.py +++ b/InterfaceQT4/monWidgetOptionnel.py @@ -19,81 +19,67 @@ # Modules Python # Modules Eficas -from PyQt4.QtGui import * -from PyQt4.QtCore import * +from __future__ import absolute_import +from PyQt5.QtWidgets import QCheckBox, QWidget +from PyQt5.QtCore import Qt + from Extensions.i18n import tr from desWidgetOptionnel import Ui_WidgetOptionnel +from .monGroupeOptionnel import MonGroupeOptionnel # Import des panels - -class monButtonCustom(QCheckBox): - - def __init__(self,texte,monOptionnel,parent=None): - QCheckBox.__init__(self,texte,parent) - self.monOptionnel=monOptionnel - - def mouseDoubleClickEvent(self, event): - #print "dans mouseDoubleClickEvent" - if self not in self.monOptionnel.dicoCb.keys() : return - listeCheckedMC="+"+self.monOptionnel.dicoCb[self] - self.monOptionnel.parentMC.ajoutMC(listeCheckedMC) - self.setChecked(False) - - def mousePressEvent(self, event): - #print "dans mousePressEvent" - self.mousePressed=True - if not( event.button() != Qt.RightButton) : return - QCheckBox.mousePressEvent(self, event) - - -class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel): - """ - """ +class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel): def __init__(self,parentQt): - #print "dans init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom + #print ("dans init de monWidgetOptionnel ", parentQt ) QWidget.__init__(self,None) self.setupUi(self) - self.dicoCb={} - self.parentMC=None - self.listeChecked=[] - self.mousePressed=False - self.cbPressed=None - self.cb=None + self.dicoMCWidgetOptionnel={} self.parentQt=parentQt - self.connect(self.bAjoutMC,SIGNAL("clicked()"), self.ajoutMC) - - - - def affiche(self,liste): - self.show() - labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText() - self.GeneaLabel.setText(tr("Options pour \n") +labeltext) - - for cb in self.dicoCb.keys(): - cb.close() - self.dicoCb={} - #print liste - liste.reverse() - for mot in liste : - cb = monButtonCustom(QString(mot),self) - self.dicoCb[cb]=mot - self.commandesOptionnellesLayout.insertWidget(0,cb) - - def CBChecked(self): - # ordre ? - #print "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk" - 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 afficheOptionnel(self,liste,MC): + #print ('afficheOptionnel MonWidgetOptionnel', self,liste,MC) + #import traceback + #traceback.print_stack() + self.vireLesAutres(MC) + if MC.node.item.nom in self.dicoMCWidgetOptionnel : + self.dicoMCWidgetOptionnel[MC.node.item.nom].close() + self.dicoMCWidgetOptionnel[MC.node.item.nom].setParent(None) + self.dicoMCWidgetOptionnel[MC.node.item.nom].deleteLater() + groupe = MonGroupeOptionnel(liste,self,MC) + self.groupesOptionnelsLayout.insertWidget(0,groupe) + self.dicoMCWidgetOptionnel[MC.node.item.nom]=groupe + return groupe - def ajoutMC(self): - maListe="" - for cb in self.dicoCb.keys(): - if cb.isChecked() : maListe+="+"+str(cb.text()) - if maListe=="":return - self.parentMC.ajoutMC(maListe) + def vireLesAutres(self,MC): + #print( "je passe dans vireLesAutres") + genea =MC.obj.get_genealogie() + #print (genea) + for k in list(self.dicoMCWidgetOptionnel.keys()): + #if k not in genea : print ( k) + if k not in genea : + self.dicoMCWidgetOptionnel[k].close() + del self.dicoMCWidgetOptionnel[k] + #print( "fin vireLesAutres") + + def afficheOptionnelVide(self): + self.GeneaLabel.setText("") + for k in list(self.dicoMCWidgetOptionnel.keys()): + self.dicoMCWidgetOptionnel[k].close() + del self.dicoMCWidgetOptionnel[k] + def titre(self,MC): + if self.parentCommande.node.editor.code in ['Adao','ADAO'] and self.parentCommande.node.editor.closeFrameRechercheCommande==True : + self.frameLabelCommande.close() + return + labeltext,fonte,couleur = self.parentCommande.node.item.GetLabelText() + l=tr(labeltext) + li=[] + while len(l) > 25: + li.append(l[0:24]) + l=l[24:] + li.append(l) + texte="" + for l in li : texte+=l+"\n" + texte=texte[0:-2] + self.GeneaLabel.setText(tr("Options pour \n") +texte)