#
# Modules Python
# Modules Eficas
+from __future__ import absolute_import
+try :
+ from builtins import str
+except : pass
+
+import types
from desWidgetCommande import Ui_WidgetCommande
-from groupe import Groupe
-from gereIcones import FacultatifOuOptionnel
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
+from .groupe import Groupe
+from .gereIcones import FacultatifOuOptionnel
+
+from PyQt5.QtWidgets import QApplication, QWidget, QSpacerItem, QSizePolicy
+from PyQt5.QtGui import QFont, QIcon
+from PyQt5.QtCore import QTimer
+from PyQt5.QtCore import Qt
+
+
+
from Extensions.i18n import tr
import Accas
import os
-import string
# Import des panels
"""
"""
def __init__(self,node,editor,etape):
- #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
- if node.item.get_fr() != "" : self.labelDoc.setText(QString(node.item.get_fr()))
- else : self.labelDoc.close()
+ self.frameAffichage.setMinimumHeight(20)
+ if node.item.get_fr() != "" : self.labelDoc.setText(node.item.get_fr())
+ else :
+ self.labelDoc.close()
+ self.frameAffichage.resize(self.frameAffichage.width(),50)
- 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)
+ #if (etape.get_type_produit()==None): self.LENom.close()
+ #test,mess = self.node.item.nomme_sd('ee')
+ if not(hasattr(etape.definition,'sd_prod')) or (etape.definition.sd_prod==None): self.LENom.close()
+ elif (hasattr(etape.definition,'sd_prod') and type(etape.definition.sd_prod)== types.FunctionType):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.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)
- 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)
+ if self.editor.closeAutreCommande==True : self.closeAutreCommande()
+ else :
+ try :
+ self.bCatalogue.clicked.connect(self.afficheCatalogue)
+ self.bAvant.clicked.connect(self.afficheAvant)
+ self.bApres.clicked.connect(self.afficheApres)
+ except :
+ pass
+ self.LENom.returnPressed.connect(self.nomChange)
+
+ if self.editor.code in ['Adao','ADAO'] and self.editor.closeFrameRechercheCommande==True :
+ self.frameAffichage.close()
-
- self.connect(self.LENom,SIGNAL("returnPressed()"),self.nomChange)
+ if self.editor.code in ['CARMELCND',] : self.closeAutreCommande()
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') :
+
+ from .monWidgetOptionnel import MonWidgetOptionnel
if self.editor.widgetOptionnel!= None :
self.monOptionnel=self.editor.widgetOptionnel
else :
- self.monOptionnel=MonWidgetOptionnel(self)
+ self.editor.inhibeSplitter=1
+ self.monOptionnel=MonWidgetOptionnel(self.editor)
self.editor.widgetOptionnel=self.monOptionnel
self.editor.splitter.addWidget(self.monOptionnel)
- #self.editor.restoreSplitterSizes()
+ self.editor.ajoutOptionnel()
+ self.editor.inhibeSplitter=0
self.afficheOptionnel()
+ #self.editor.restoreSplitterSizes()
+
#print "fin init de widget Commande"
+ def closeAutreCommande(self):
+ self.bCatalogue.close()
+ self.bAvant.close()
+ self.bApres.close()
+
def donnePremier(self):
#print "dans donnePremier"
- qApp.processEvents()
+ QApplication.processEvents()
if self.listeAffichageWidget != [] :
self.listeAffichageWidget[0].setFocus(7)
- qApp.processEvents()
+ QApplication.processEvents()
#print self.focusWidget()
self.inhibe=0
return True
except :
- print self.listeAffichageWidget
- print "souci ds focusNextPrevChild"
+ pass
+ #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])
i=i+1
# si on boucle on perd l'ordre
+ def afficheNieme(self,n):
+ #print ('ds afficheNieme')
+ self.listeAffichageWidget[n].setFocus(7)
+
def afficheSuivant(self,f):
+ #print ('ds afficheSuivant')
try :
i=self.listeAffichageWidget.index(f)
next=i+1
except :
next=1
- if (next==len(self.listeAffichageWidget) -1 ): next =0
+ if (next==len(self.listeAffichageWidget) ): next =0
#self.f=next
#QTimer.singleShot(1, self.rendVisible)
try :
def nomChange(self):
nom = str(self.LENom.text())
- nom = string.strip(nom)
+ nom = nom.strip()
if nom == '' : return # si pas de nom, on ressort sans rien faire
test,mess = self.node.item.nomme_sd(nom)
self.editor.affiche_commentaire(mess)
#Notation scientifique
if test :
- from politiquesValidation import Validation
+ from .politiquesValidation import Validation
validation=Validation(self.node,self.editor)
validation.AjoutDsDictReelEtape()
#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):
+ 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()
+ if self.editor.code == "CARMELCND" : return #Pas de MC Optionnels pour Carmel
+ self.afficheOptionnel()
def reaffiche(self,nodeAVoir=None):
+ # Attention delicat. les appels de fonctions ne semblent pas pouvoir etre supprimes!
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
- QTimer.singleShot(1, self.recentre)
- if nodeAVoir != None:
+ #QTimer.singleShot(1, self.recentre)
+ 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
- if self.f != None and self.f.isVisible() : return
- if self.f != None : QTimer.singleShot(1, self.rendVisible)
+ if self.f != None and self.f.isVisible() : self.inhibeExpand=False; return
+ if self.f != None : self.rendVisible()
+ else : self.recentre()
+ else : self.recentre()
self.inhibeExpand=False
+ def reafficheSeulement(self,nodeAReafficher,index):
+ #print ('ds reafficheSeulement', nodeAReafficher)
+ parentNodeAReafficher=nodeAReafficher.parentQt
+ index=parentNodeAReafficher.commandesLayout.indexOf(nodeAReafficher)
+ oldFenetre=nodeAReafficher.node.fenetre
+ newWidget=nodeAReafficher.node.getPanelGroupe(parentNodeAReafficher,self,index)
+ nodeAReafficher.node.fenetre=newWidget
+ oldFenetre.setParent(None)
+ oldFenetre.close()
+ oldFenetre.deleteLater()
+ #print ("fin pour " , self.node.item.nom)
+
def recentre(self):
- qApp.processEvents()
+ QApplication.processEvents()
s=self.editor.fenetreCentraleAffichee.scrollAreaCommandes
s.horizontalScrollBar().setSliderPosition(self.avantH)
s.verticalScrollBar().setSliderPosition(self.avantV)
def rendVisibleNoeud(self,node):
self.f=node.fenetre
- print "dans rendVisibleNoeud",self.f, node.item.nom
+ #print "dans rendVisibleNoeud",self.f
QTimer.singleShot(1, self.rendVisible)
def rendVisible(self):
- qApp.processEvents()
+ #print "dans rendVisible",self.f
+ QApplication.processEvents()
self.f.setFocus(7)
self.editor.fenetreCentraleAffichee.scrollAreaCommandes.ensureWidgetVisible(self.f)
icon=QIcon(self.repIcon+"/ast-red-ball.png")
if self.node.item.GetIconName() == "ast-yellow-square" :
icon=QIcon(self.repIcon+"/ast-yel-ball.png")
+ self.LENom.setDisabled(False)
+ if self.node.item.GetIconName() == "ast-red-square" : self.LENom.setDisabled(True)
self.RBValide.setIcon(icon)