From: pascale.noyret Date: Wed, 11 May 2016 13:42:59 +0000 (+0200) Subject: MC Optionnels X-Git-Tag: V8_1_0~28 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0be4fb74bf1970e494a902a1a720b44617961eaf;p=tools%2Feficas.git MC Optionnels --- diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index ef81a985..3ef56b2c 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -114,7 +114,7 @@ class JDCTree( QTreeWidget,GereRegles ): def handleCollapsedItem(self,item): - print "dans CollapsedItem", self.inhibeExpand + #print "dans CollapsedItem", self.inhibeExpand if self.inhibeExpand == True : return # On traite le cas de l item non selectionne itemParent=item diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index dcd0c068..b8581c2d 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -25,6 +25,7 @@ from determine import monEnvQT5 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 * @@ -55,6 +56,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): maPolice= QFont("Times", 10) self.setFont(maPolice) + self.setFocusPolicy(Qt.StrongFocus) self.parentQt=parentQt self.editor=self.node.editor @@ -236,6 +238,11 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): #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() diff --git a/InterfaceQT4/groupe.py b/InterfaceQT4/groupe.py index f0ccc906..abec93d5 100644 --- a/InterfaceQT4/groupe.py +++ b/InterfaceQT4/groupe.py @@ -43,7 +43,6 @@ class Groupe(QWidget,FacultatifOuOptionnel): 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 @@ -105,14 +104,9 @@ class Groupe(QWidget,FacultatifOuOptionnel): 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): @@ -175,7 +169,7 @@ class Groupe(QWidget,FacultatifOuOptionnel): 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() diff --git a/InterfaceQT4/monWidgetCommande.py b/InterfaceQT4/monWidgetCommande.py index bfdad47d..18bc0000 100644 --- a/InterfaceQT4/monWidgetCommande.py +++ b/InterfaceQT4/monWidgetCommande.py @@ -211,8 +211,10 @@ class MonWidgetCommande(Ui_WidgetCommande,Groupe): #print "dans afficheOptionnel", self.monOptionnel # dans le cas ou l insertion n a pas eu leiu (souci d ordre par exemple) #if self.monOptionnel == None : return - self.monOptionnel.parentMC=self - self.monOptionnel.affiche(liste) + self.monOptionnel.parentCommande=self + self.monOptionnel.titre(self.obj.nom) + self.monGroupe=self.monOptionnel.afficheOptionnel(liste,self) + #def focusInEvent(self,event): #print "je mets a jour dans focusInEvent de monWidget Commande " diff --git a/InterfaceQT4/monWidgetFact.py b/InterfaceQT4/monWidgetFact.py index 7b60cf8f..a522613c 100644 --- a/InterfaceQT4/monWidgetFact.py +++ b/InterfaceQT4/monWidgetFact.py @@ -44,8 +44,7 @@ class MonWidgetFact(Ui_WidgetFact,Groupe): self.GroupBox.setTextInteractionFlags(Qt.TextSelectableByMouse) self.parentQt.commandesLayout.insertWidget(-1,self) - def focusInEvent(self,event): - # print "je passe dans focusInEvent" + def enterEvent(self,event): if self.editor.code != "CARMELCND" :self.afficheOptionnel() - QWidget.focusInEvent(self,event) + QWidget.enterEvent(self,event) diff --git a/InterfaceQT4/monWidgetOptionnel.py b/InterfaceQT4/monWidgetOptionnel.py index f8069549..3f249af3 100644 --- a/InterfaceQT4/monWidgetOptionnel.py +++ b/InterfaceQT4/monWidgetOptionnel.py @@ -29,66 +29,47 @@ else : 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]) @@ -98,36 +79,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 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) - diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 9efa2851..8566a097 100755 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -425,6 +425,9 @@ class Appli(Ui_Eficas,QMainWindow): self.connect(self.actionCode,SIGNAL("triggered()"),self.aideCode) def connecterSignaux(self) : + + print QApplication.focusChanged + #QApplication.focusChanged.connect(self.focusChanged) self.recentMenu.aboutToShow.connect(self.handleShowRecentMenu) self.action_Nouveau.triggered.connect(self.fileNew) self.actionNouvel_Include.triggered.connect(self.NewInclude) @@ -801,6 +804,10 @@ class Appli(Ui_Eficas,QMainWindow): res=self.fileExit() if res==2 : event.ignore() + def focusChanged(self,oldW, newW) : + print "jjjjjjjjjjjjjjjjjjjjjjjjjjjjjj" + print newW + if __name__=='__main__': # Modules Eficas