from desWidgetCommande import Ui_WidgetCommande
from groupe import Groupe
from gereIcones import FacultatifOuOptionnel
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from determine import monEnvQT5
+
+if monEnvQT5:
+ from PyQt5.QtWidgets import QApplication, QWidget, QSpacerItem, QSizePolicy
+ from PyQt5.QtGui import QFont, QIcon
+ from PyQt5.QtCore import QTimer
+else :
+ from PyQt4.QtGui import *
+ from PyQt4.QtCore import *
+
+
from Extensions.i18n import tr
import Accas
import os
"""
"""
def __init__(self,node,editor,etape):
- print "MonWidgetCommande ", self
+ #print "MonWidgetCommande ", self
self.listeAffichageWidget=[]
self.inhibe=0
self.ensure=0
+ editor.inhibeSplitter=1
Groupe.__init__(self,node,editor,None,etape.definition,etape,1,self)
+ editor.inhibeSplitter=0
- self.labelDoc.setText(QString(etape.definition.fr))
+ if node.item.get_fr() != "" : self.labelDoc.setText(node.item.get_fr())
+ else : self.labelDoc.close()
+
if (etape.get_type_produit()==None): self.LENom.close()
elif (hasattr(etape, 'sdnom')) and etape.sdnom != "sansnom" and etape.sdnom != None: self.LENom.setText(etape.sdnom)
else : self.LENom.setText("")
maPolice= QFont("Times", 10,)
self.setFont(maPolice)
- self.repIcon=self.appliEficas.repIcon
self.labelNomCommande.setText(tr(self.obj.nom))
self.commandesLayout.addStretch()
self.commandesLayout.focusInEvent=self.focusInEvent
self.scrollAreaCommandes.focusInEvent=self.focusInEvent
- if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
- else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
- self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
+
+ if monEnvQT5 :
+ if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
+ else : self.bCatalogue.clicked.connect(self.afficheCatalogue)
+ if self.editor.code in ['Adao','MAP'] :
+ self.bAvant.close()
+ self.bApres.close()
+ else :
+ self.bAvant.clicked.connect(self.afficheAvant)
+ self.bApres.clicked.connect(self.afficheApres)
+ self.LENom.returnPressed.connect(self.nomChange)
+ else :
+ if self.editor.code in ['MAP','CARMELCND'] : self.bCatalogue.close()
+ else : self.connect(self.bCatalogue,SIGNAL("clicked()"), self.afficheCatalogue)
+ if self.editor.code in ['Adao','MAP'] :
+ self.bAvant.close()
+ self.bApres.close()
+ else :
+ self.connect(self.bAvant,SIGNAL("clicked()"), self.afficheAvant)
+ self.connect(self.bApres,SIGNAL("clicked()"), self.afficheApres)
+ self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
+
self.racine=self.node.tree.racine
if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True)
if self.editor.code == "CARMELCND" :
self.RBPoubelle.close() # JDC Fige
return # Pas de MC Optionnels pour Carmel
+
from monWidgetOptionnel import MonWidgetOptionnel
- if hasattr(self.editor,'widgetOptionnel') :
+ if self.editor.widgetOptionnel!= None :
self.monOptionnel=self.editor.widgetOptionnel
else :
self.monOptionnel=MonWidgetOptionnel(self)
self.editor.widgetOptionnel=self.monOptionnel
+ self.editor.inhibeSplitter=1
self.editor.splitter.addWidget(self.monOptionnel)
- #print "dans init ", self.monOptionnel
+ self.editor.inhibeSplitter=0
+ self.editor.ajoutOptionnel()
self.afficheOptionnel()
- print "fin init de widget Commande"
+
+ self.editor.restoreSplitterSizes()
+ #print "fin init de widget Commande"
+ def donnePremier(self):
+ #print "dans donnePremier"
+ QApplication.processEvents()
+ if self.listeAffichageWidget != [] :
+ self.listeAffichageWidget[0].setFocus(7)
+ QApplication.processEvents()
+ #print self.focusWidget()
+
+
def focusNextPrevChild(self, next):
# on s assure que ce n est pas un chgt de fenetre
- print "je passe dans focusNextPrevChild"
+ #print "je passe dans focusNextPrevChild"
if self.editor.fenetreCentraleAffichee != self : return True
- try :
- i= self.listeAffichageWidget.index(self.focusWidget())
- except :
- i = -1
+ f=self.focusWidget()
+ if f not in self.listeAffichageWidget :
+ i=0
+ while not hasattr (f,'AAfficher') :
+ if f==None :i=-1; break
+ f=f.parentWidget()
+ if hasattr(f,'AAfficher') : f=f.AAfficher
+ if i != -1 : i=self.listeAffichageWidget.index(f)
+ else :i=self.listeAffichageWidget.index(f)
if (i==len(self.listeAffichageWidget) -1) and next and not self.inhibe:
- self.listeAffichageWidget[1].setFocus(7)
- w=self.focusWidget()
- self.inhibe=1
- w.focusPreviousChild()
- self.inhibe=0
- return True
+ try :
+ self.listeAffichageWidget[1].setFocus(7)
+ w=self.focusWidget()
+ self.inhibe=1
+ w.focusPreviousChild()
+ self.inhibe=0
+ return True
+ except :
+ print self.listeAffichageWidget
+ print "souci ds focusNextPrevChild"
if i==0 and next==False and not self.inhibe:
if hasattr(self.editor.fenetreCentraleAffichee,'scrollArea'):
self.editor.fenetreCentraleAffichee.scrollArea.ensureWidgetVisible(self.listeAffichageWidget[-1])
w.focusNextChild()
self.inhibe=0
return True
+ if i==0 and next==True and not self.inhibe:
+ self.listeAffichageWidget[0].setFocus(7)
+ self.inhibe=1
+ w=self.focusWidget()
+ w.focusNextChild()
+ self.inhibe=0
+ return True
+ if i>0 and next==False and not self.inhibe:
+ if isinstance(self.listeAffichageWidget[i-1],QRadioButton):
+ self.listeAffichageWidget[i-1].setFocus(7)
+ return True
return QWidget.focusNextPrevChild(self, next)
def etablitOrdre(self):
self.setTabOrder(self.listeAffichageWidget[i],self.listeAffichageWidget[i+1])
i=i+1
# si on boucle on perd l'ordre
+
+ def afficheSuivant(self,f):
+ try :
+ i=self.listeAffichageWidget.index(f)
+ next=i+1
+ except :
+ next=1
+ if (next==len(self.listeAffichageWidget) -1 ): next =0
+ #self.f=next
+ #QTimer.singleShot(1, self.rendVisible)
+ try :
+ self.listeAffichageWidget[next].setFocus(7)
+ except :
+ pass
def nomChange(self):
nom = str(self.LENom.text())
nom = string.strip(nom)
if nom == '' : return # si pas de nom, on ressort sans rien faire
test,mess = self.node.item.nomme_sd(nom)
- self.editor.affiche_infos(mess)
+ self.editor.affiche_commentaire(mess)
#Notation scientifique
if test :
# N a pas de parentQt. doit donc etre redefini
liste=self.ajouteMCOptionnelDesBlocs()
#print "dans afficheOptionnel", self.monOptionnel
- self.monOptionnel.parentMC=self
- self.monOptionnel.affiche(liste)
+ # dans le cas ou l insertion n a pas eu leiu (souci d ordre par exemple)
+ #if self.monOptionnel == None : return
+ 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 "
- if self.editor.code == "CARMELCND" : return #Pas de MC Optionnels pour Carmel
- self.afficheOptionnel()
+ #def focusInEvent(self,event):
+ #print "je mets a jour dans focusInEvent de monWidget Commande "
+ # if self.editor.code == "CARMELCND" : return #Pas de MC Optionnels pour Carmel
+ # self.afficheOptionnel()
def reaffiche(self,nodeAVoir=None):
self.avantH=self.editor.fenetreCentraleAffichee.scrollAreaCommandes.horizontalScrollBar().sliderPosition()
self.avantV=self.editor.fenetreCentraleAffichee.scrollAreaCommandes.verticalScrollBar().sliderPosition()
+ self.inhibeExpand=True
self.node.affichePanneau()
- print "dans reaffiche de monWidgetCommande", self.avantH, self.avantV
+ #print "dans reaffiche de monWidgetCommande", self.avantH, self.avantV
QTimer.singleShot(1, self.recentre)
- if nodeAVoir != None:
+ if nodeAVoir != None and nodeAVoir!=0:
self.f=nodeAVoir.fenetre
if self.f==None :
newNode=nodeAVoir.treeParent.chercheNoeudCorrespondant(nodeAVoir.item.object)
self.f = newNode.fenetre
- print "dans reaffiche",self.f, nodeAVoir.item.nom
+ #print "dans reaffiche",self.f, nodeAVoir.item.nom
if self.f != None and self.f.isVisible() : return
if self.f != None : QTimer.singleShot(1, self.rendVisible)
+ self.inhibeExpand=False
def recentre(self):
- qApp.processEvents()
+ QApplication.processEvents()
s=self.editor.fenetreCentraleAffichee.scrollAreaCommandes
s.horizontalScrollBar().setSliderPosition(self.avantH)
s.verticalScrollBar().setSliderPosition(self.avantV)
QTimer.singleShot(1, self.rendVisible)
def rendVisible(self):
- qApp.processEvents()
- self.f.setFocus()
+ QApplication.processEvents()
+ self.f.setFocus(7)
self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(self.f)
def afficheCatalogue(self):
- if self.editor.code != "CARMELCND" : self.monOptionnel.hide()
+ if self.editor.widgetOptionnel != None : self.monOptionnel.hide()
self.racine.affichePanneau()
if self.node : self.node.select()
else : self.racine.select()
+ def afficheApres(self):
+ self.node.selectApres()
+
+ def afficheAvant(self):
+ self.node.selectAvant()
+
def setValide(self):
if not(hasattr (self,'RBValide')) : return
icon = QIcon()
icon=QIcon(self.repIcon+"/ast-yel-ball.png")
self.RBValide.setIcon(icon)
- #def plieTout(self):
- # print "dans plieTout de fenetre"
- # if self.editor.dejaDansPlieTout:
- # print "dans le hasattr"
- # self.editor.dejaDansPlieTout=False
- # return
- # self.editor.dejaDansPlieTout=True
- # self.node.plieTout()
- # print "je reaffiche"
- # self.node.affichePanneau()