X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonWidgetOptionnel.py;h=904e5841a9f19c780a0f37d74406aeca9ad9923f;hb=5a28801efd8fd7e6487d1957dabac40b1f932cb4;hp=510321d60ac6043cc3503b8b6df5aefbee5b36b0;hpb=8da5de6cb594bf9b703b723ace2514f644d866b8;p=tools%2Feficas.git diff --git a/InterfaceQT4/monWidgetOptionnel.py b/InterfaceQT4/monWidgetOptionnel.py index 510321d6..904e5841 100644 --- a/InterfaceQT4/monWidgetOptionnel.py +++ b/InterfaceQT4/monWidgetOptionnel.py @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 EDF R&D +# Copyright (C) 2007-2017 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -19,57 +19,69 @@ # 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 afficheOptionnel(self,liste,liste_rouge,MC): + #print ('afficheOptionnel MonWidgetOptionnel', self,liste,MC) + self.vireLesAutres(MC) + + if MC.node.item.nom in self.dicoMCWidgetOptionnel : + #print (MC.node.item.nom) + self.dicoMCWidgetOptionnel[MC.node.item.nom].close() + self.dicoMCWidgetOptionnel[MC.node.item.nom].setParent(None) + self.dicoMCWidgetOptionnel[MC.node.item.nom].deleteLater() + del self.dicoMCWidgetOptionnel[MC.node.item.nom] + if liste==[] : return + groupe = MonGroupeOptionnel(liste,liste_rouge,self,MC) + self.groupesOptionnelsLayout.insertWidget(0,groupe) + self.dicoMCWidgetOptionnel[MC.node.item.nom]=groupe + return groupe - def affiche(self,liste): - #print "dans Optionnel ____ affiche", liste - self.show() - labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText() - l=labeltext + def vireLesAutres(self,MC): + #print( "je passe dans vireLesAutres") + genea =MC.obj.getGenealogie() + #print (genea) + for k in list(self.dicoMCWidgetOptionnel.keys()): + #print (k) + #if k not in genea : print ( k) + if k not in genea : + self.dicoMCWidgetOptionnel[k].close() + del self.dicoMCWidgetOptionnel[k] + #print( "fin vireLesAutres") + + def vireTous(self): + for k in list(self.dicoMCWidgetOptionnel.keys()): + self.dicoMCWidgetOptionnel[k].close() + del self.dicoMCWidgetOptionnel[k] + + 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.maConfiguration.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]) @@ -79,34 +91,3 @@ class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel): for l in li : texte+=l+"\n" texte=texte[0:-2] self.GeneaLabel.setText(tr("Options pour \n") +texte) - - for cb in self.dicoCb.keys(): - #print 'je detruit', self.dicoCb[cb], cb - cb.close() - #print self.commandesOptionnellesLayout.children() - self.dicoCb={} - liste.reverse() - for mot in liste : - cb = monButtonCustom(QString(mot),self) - #print "j ajoute ", mot, cb - 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 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) -