if monEnvQT5:
from PyQt5.QtWidgets import QToolButton ,QWidget
from PyQt5.QtGui import QFont, QFontMetrics
+ from PyQt5.QtCore import Qt
else :
from PyQt4.QtGui import *
from PyQt4.QtCore import *
maPolice= QFont("Times", 10)
self.setFont(maPolice)
+ self.setFocusPolicy(Qt.StrongFocus)
self.parentQt=parentQt
self.editor=self.node.editor
#print "jjjjjjjjjjjjjjjjjjjjj"
pass
+ #def enterEvent(self,event):
+ # print "je passe dans enterEvent", self.nom
+ #if self.editor.code != "CARMELCND" :self.afficheOptionnel()
+ # QWidget.enterEvent(self,event)
+
def traiteClicSurLabel(self,texte):
#print self.aide
aide=self.aide+"\n"+self.aideALaSaisie()
self.node=node
self.node.fenetre=self
#print "groupe : ",self.node.item.nom," ",self.node.fenetre
- #self.setFocusPolicy(Qt.StrongFocus)
self.setupUi(self)
self.editor=editor
self.obj=obj
def afficheOptionnel(self):
liste=self.ajouteMCOptionnelDesBlocs()
- #chercheOptionnel=self.parentQt
- # Boucle necessaire pour les regroupements Adao
- #while not( hasattr(chercheOptionnel,'monOptionnel')):
- # chercheOptionnel=chercheOptionnel.parentQt
- #self.monOptionnel=chercheOptionnel.monOptionnel
self.monOptionnel=self.editor.widgetOptionnel
- self.monOptionnel.parentMC=self
- self.monOptionnel.affiche(liste)
+ self.monOptionnel.afficheOptionnel(liste,self)
+ #self.monOptionnel.affiche(liste)
def ajouteMCOptionnelDesBlocs(self):
nouveau=widget.node.append_child(nom)
if firstNode==None : firstNode=nouveau
if nouveau == None or nouveau == 0 :
- self.editor.affiche_infos(tr('insertion impossible a cet endroit pour '+nom),Qt.red)
+ self.editor.affiche_infos(tr('insertion impossible a cet endroit pour '+nom),red)
self.reaffiche(firstNode)
if firstNode!=None and firstNode.item!=None :
firstNode.select()
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,tr(texte),parent)
- self.texte=texte
- self.monOptionnel=monOptionnel
-
- def mouseDoubleClickEvent(self, event):
- #print "dans mouseDoubleClickEvent", self
- if self not in self.monOptionnel.dicoCb.keys() :
- event.accept()
- return
- listeCheckedMC="+"+self.monOptionnel.dicoCb[self]
- self.monOptionnel.parentMC.ajoutMC(listeCheckedMC)
- self.setChecked(False)
- event.accept()
-
-
- def mousePressEvent(self, event):
- #print "dans mousePressEvent"
- self.mousePressed=True
- if not( event.button() != Qt.RightButton) :
- event.accept()
- return
- QCheckBox.mousePressEvent(self, event)
- event.accept()
-
-
-class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
- """
- """
+class MonWidgetOptionnel (QWidget,Ui_WidgetOptionnel):
def __init__(self,parentQt):
#print "dans init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom
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)
- #self.parentQt.editor.splitterSizes[1]-=self.parentQt.editor.splitterSizes[2]
- #print self.parentQt.editor.splitterSizes
+ self.parentQt.editor.splitterSizes[1]-=self.parentQt.editor.splitterSizes[2]
self.parentQt.editor.splitterSizes[2]=self.parentQt.editor.oldSizeWidgetOptionnel
if self.parentQt.editor.splitterSizes[2] == 0 : self.parentQt.editor.splitterSizes[2] = 400
self.parentQt.editor.restoreSplitterSizes()
- #print "fin init de monWidgetOptionnel ", parentQt, parentQt.node.item.nom
-
-
- def affiche(self,liste):
- #print "dans Optionnel ____ affiche", liste
self.show()
- labeltext,fonte,couleur = self.parentMC.node.item.GetLabelText()
- l=labeltext
+
+ def afficheOptionnel(self,liste,MC):
+ #print "dans Optionnel ____ affiche", liste
+ self.vireLesAutres(MC)
+ if self.dicoMCWidgetOptionnel.has_key(MC.node.item.nom) :
+ self.dicoMCWidgetOptionnel[MC.node.item.nom].close()
+ groupe = MonGroupeOptionnel(liste,self,MC)
+
+ #self.groupesOptionnelsLayout.insertLayout(-1,groupe)
+ self.groupesOptionnelsLayout.insertWidget(0,groupe)
+ self.dicoMCWidgetOptionnel[MC.node.item.nom]=groupe
+ return groupe
+
+ def vireLesAutres(self,MC):
+ print "je passe dans vireLesAutres"
+ genea =MC.obj.get_genealogie()
+ for k in self.dicoMCWidgetOptionnel.keys():
+ if k not in genea : self.dicoMCWidgetOptionnel[k].close()
+ if k not in genea : print k
+ print "________"
+
+
+ def titre(self,MC):
+ labeltext,fonte,couleur = self.parentCommande.node.item.GetLabelText()
+ l=tr(labeltext)
li=[]
while len(l) > 25:
li.append(l[0:24])
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 detruis', self.dicoCb[cb], cb
- #print cb.close()
- cb.close()
-
- self.dicoCb={}
- liste.reverse()
- for mot in liste :
- cb = monButtonCustom(mot,self)
- #print "j ajoute ", mot, cb
- self.dicoCb[cb]=mot
- self.commandesOptionnellesLayout.insertWidget(0,cb)
- 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)
-