QTreeWidget.__init__(self, self.editor.widgetTree )
self.editor.verticalLayout_2.addWidget(self)
if self.editor.enteteQTree=='complet':
- self.headerItem().setText(0, "Commande ")
- self.headerItem().setText(1, "Concept/Valeur")
+ self.headerItem().setText(0, "Commande ")
+ self.headerItem().setText(1, "Concept/Valeur")
else :
- self.headerItem().setText(0, "Commande ")
+ self.headerItem().setText(0, "Commande ")
self.setColumnWidth(0,200)
self.setExpandsOnDoubleClick(False)
self.setSelectionMode(3)
else : self.racine.children[0].deplieToutEtReaffiche()
self.racine.children[0].fenetre.donnePremier()
else :
- self.racine.affichePanneau()
+ self.racine.affichePanneau()
def contextMenuEvent(self,event) :
#---------------------------------
itemParent = item
while not (hasattr (itemParent,'getPanel')) : itemParent=itemParent.treeParent
if self.tree.node_selected != itemParent :
- item.setExpanded(False)
- return
+ item.setExpanded(False)
+ return
item.setPlie()
item.plieToutEtReaffiche()
if itemParent.plie==True : itemParent.setDeplie()
itemParent=itemParent.treeParent
if self.tree.node_selected != itemParent :
- item.setExpanded(True)
- self.inhibeExpand = False
- return
+ item.setExpanded(True)
+ self.inhibeExpand = False
+ return
item.deplieToutEtReaffiche()
self.inhibeExpand = False
itemParent=itemParent.treeParent
if itemParent.fenetre != self.editor.fenetreCentraleAffichee :
- estUneFeuille=(isinstance(item,composimp.Node))
- # il faut afficher le parent
- # Attention - Specification particuliere pour MT qui permet de nn afficher qu 1 niveau
- # le catalogue contient cette indication dans fenetreIhm
- if estUneFeuille and itemParent.fenetreIhm=='deplie1Niveau' :
- itemAvant.afficheCeNiveau()
- return
- if estUneFeuille : itemParent.affichePanneau()
- elif self.editor.maConfiguration.afficheCommandesPliees : itemParent.plieToutEtReafficheSaufItem(item)
- else : itemParent.affichePanneau()
+ estUneFeuille=(isinstance(item,composimp.Node))
+ # il faut afficher le parent
+ # Attention - Specification particuliere pour MT qui permet de nn afficher qu 1 niveau
+ # le catalogue contient cette indication dans fenetreIhm
+ if estUneFeuille and itemParent.fenetreIhm=='deplie1Niveau' :
+ itemAvant.afficheCeNiveau()
+ return
+ if estUneFeuille : itemParent.affichePanneau()
+ elif self.editor.maConfiguration.afficheCommandesPliees : itemParent.plieToutEtReafficheSaufItem(item)
+ else : itemParent.affichePanneau()
elif (isinstance(item,composimp.Node)) and item.fenetre : item.fenetre.rendVisible()
else : mesColonnes=(name,)
if self.treeParent.plie==True :
- self.plie = True
- self.appartientAUnNoeudPlie = True
- if self.treeParent.item.isMCList() : self.appartientAUnNoeudPlie = self.treeParent.appartientAUnNoeudPlie
+ self.plie = True
+ self.appartientAUnNoeudPlie = True
+ if self.treeParent.item.isMCList() : self.appartientAUnNoeudPlie = self.treeParent.appartientAUnNoeudPlie
else :
- self.plie = False
- self.appartientAUnNoeudPlie = False
+ self.plie = False
+ self.appartientAUnNoeudPlie = False
#if item.nom == "POUTRE" :print "creation d'un noeud : ", item, " ",item.nom,"", self.treeParent, self.appartientAUnNoeudPlie , self.plie
ajoutAuParentduNoeud=0
self.treeParent=treeParent
while (isinstance(self.treeParent,compobloc.Node) or ( isinstance(self.treeParent,compomclist.Node) and self.treeParent.item.isMCList())) :
- self.treeParent.childrenComplete.append(self)
- self.treeParent=self.treeParent.vraiParent
+ self.treeParent.childrenComplete.append(self)
+ self.treeParent=self.treeParent.vraiParent
self.treeParent.childrenComplete.append(self)
self.state=""
self.fenetre=None
try :
- if self.item.getObject().isBLOC() :
- self.setExpanded(True)
- self.plie=False
+ if self.item.getObject().isBLOC() :
+ self.setExpanded(True)
+ self.plie=False
except :
- pass
+ pass
def buildChildren(self,posInsertion=10000):
self.listeItemPlie=[]
for enfant in self.childrenComplete :
- if enfant.plie : self.listeItemPlie.append(enfant.item)
- else : self.listeItemExpanded.append(enfant.item)
+ if enfant.plie : self.listeItemPlie.append(enfant.item)
+ else : self.listeItemExpanded.append(enfant.item)
for enfant in self.childrenComplete :
- parent = enfant.treeParent
- parent.removeChild(enfant)
- enfant.JESUISOFF=1
+ parent = enfant.treeParent
+ parent.removeChild(enfant)
+ enfant.JESUISOFF=1
self.children = []
ind=0
for item in sublist :
- itemExpand=False
- ancien=False
- if item in self.listeItemExpanded : itemExpand=True; ancien=True
- if item in self.listeItemPlie : itemExpand=False; ancien=True
- nouvelItem=item.itemNode(self,item,itemExpand,ancien)
- self.children.append(nouvelItem)
+ itemExpand=False
+ ancien=False
+ if item in self.listeItemExpanded : itemExpand=True; ancien=True
+ if item in self.listeItemPlie : itemExpand=False; ancien=True
+ nouvelItem=item.itemNode(self,item,itemExpand,ancien)
+ self.children.append(nouvelItem)
#print ("fin *********** buildChildren ",self,self.item, self.item.nom, self.children)
#-------------------------------------------
sublist = self.item._getSubList()
for node in self.childrenComplete:
- if node.item.object==objSimp : return node
+ if node.item.object==objSimp : return node
return None
#-------------------------
#print ('afficheCeNiveau pour ', self.item.nom, self.item.getLabelText())
for indiceWidget in range(self.editor.widgetCentraleLayout.count()):
- widget=self.editor.widgetCentraleLayout.itemAt(indiceWidget)
- self.editor.widgetCentraleLayout.removeItem(widget)
+ widget=self.editor.widgetCentraleLayout.itemAt(indiceWidget)
+ self.editor.widgetCentraleLayout.removeItem(widget)
if self.editor.fenetreCentraleAffichee != None :
- self.editor.widgetCentraleLayout.removeWidget(self.editor.fenetreCentraleAffichee)
- self.editor.fenetreCentraleAffichee.setParent(None)
- self.editor.fenetreCentraleAffichee.close()
- self.editor.fenetreCentraleAffichee.deleteLater()
+ self.editor.widgetCentraleLayout.removeWidget(self.editor.fenetreCentraleAffichee)
+ self.editor.fenetreCentraleAffichee.setParent(None)
+ self.editor.fenetreCentraleAffichee.close()
+ self.editor.fenetreCentraleAffichee.deleteLater()
from monWidgetNiveauFact import MonWidgetNiveauFact, MonWidgetNiveauFactTableau
maDefinition = self.item.get_definition()
#-------------------------
#print ('_________________ds affichePanneau pour', self.item.nom)
# pour l instant pas d inactif
- if not(self.item.isActif()) :
- from .monWidgetInactif import MonWidgetInactif
- self.fenetre = MonWidgetInactif(self,self.editor)
+ if not(self.item.isActif()) :
+ from .monWidgetInactif import MonWidgetInactif
+ self.fenetre = MonWidgetInactif(self,self.editor)
else:
itemParent=self
while not (hasattr (itemParent,'getPanel')) : itemParent=itemParent.treeParent
self.editor.restoreSplitterSizes()
for indiceWidget in range(self.editor.widgetCentraleLayout.count()):
- widget = self.editor.widgetCentraleLayout.itemAt(indiceWidget)
- self.editor.widgetCentraleLayout.removeItem(widget)
+ widget = self.editor.widgetCentraleLayout.itemAt(indiceWidget)
+ self.editor.widgetCentraleLayout.removeItem(widget)
# ceinture et bretelle
#print 'old fenetre = ',self.editor.fenetreCentraleAffichee
if self.editor.fenetreCentraleAffichee != None :
- try :
+ try :
self.editor.widgetCentraleLayout.removeWidget(self.editor.fenetreCentraleAffichee)
self.editor.fenetreCentraleAffichee.setParent(None)
self.editor.fenetreCentraleAffichee.close()
self.editor.fenetreCentraleAffichee.deleteLater()
- except :
+ except :
pass
self.editor.widgetCentraleLayout.addWidget(self.fenetre)
# On traite par une exception le cas ou l'utilisateur final cherche a desactiver
# (commentariser) un commentaire.
try :
- pos=self.treeParent.children.index(self)
- commande_comment = self.item.getObjetCommentarise()
- # On signale a l editeur du panel (le JDCDisplay) une modification
- self.editor.initModif()
- self.treeParent.buildChildren()
- self.treeParent.children[pos].select()
- self.treeParent.children[pos].affichePanneau()
+ pos=self.treeParent.children.index(self)
+ commande_comment = self.item.getObjetCommentarise()
+ # On signale a l editeur du panel (le JDCDisplay) une modification
+ self.editor.initModif()
+ self.treeParent.buildChildren()
+ self.treeParent.children[pos].select()
+ self.treeParent.children[pos].affichePanneau()
except Exception as e:
- traceback.print_exc()
- QMessageBox.critical( self.editor, "TOO BAD",str(e))
+ traceback.print_exc()
+ QMessageBox.critical( self.editor, "TOO BAD",str(e))
def unCommentIt(self):
#-------------------------
Realise la decommentarisation de self
"""
try :
- pos=self.treeParent.children.index(self)
- commande,nom = self.item.unComment()
- self.editor.initModif()
- self.treeParent.buildChildren()
- self.treeParent.children[pos].select()
- self.treeParent.children[pos].affichePanneau()
+ pos=self.treeParent.children.index(self)
+ commande,nom = self.item.unComment()
+ self.editor.initModif()
+ self.treeParent.buildChildren()
+ self.treeParent.children[pos].select()
+ self.treeParent.children[pos].affichePanneau()
except Exception as e:
- QMessageBox.critical( self.editor, "Erreur !",str(e))
+ QMessageBox.critical( self.editor, "Erreur !",str(e))
def addComment( self, after=True ):
#-----------------------------------
"""
self.editor.initModif()
if after:
- pos = 'after'
+ pos = 'after'
else:
- pos = 'before'
+ pos = 'before'
return self.appendBrother( COMMENT, pos )
def addParameters( self, after=True ):
"""
#print "select pour", self.item.nom
for item in self.tree.selectedItems() :
- item.setSelected(0)
+ item.setSelected(0)
self.tree.setCurrentItem( self )
#------------------------------------------------------------------
if (isinstance(self.treeParent, compojdc.Node)) and not self.verifiePosition(name,pos) : return 0
if self.treeParent != self.vraiParent :
- index = self.vraiParent.children.index(self)
- if pos == 'before' : index = index
- elif pos == 'after' : index = index +1
- return self.vraiParent.appendChild(name,pos=index,plier=plier)
+ index = self.vraiParent.children.index(self)
+ if pos == 'before' : index = index
+ elif pos == 'after' : index = index +1
+ return self.vraiParent.appendChild(name,pos=index,plier=plier)
else :
- index = self.treeParent.children.index(self)
- if pos == 'before': index = index
- elif pos == 'after' : index = index +1
- else:
+ index = self.treeParent.children.index(self)
+ if pos == 'before': index = index
+ elif pos == 'after' : index = index +1
+ else:
print(pos, tr(" n'est pas un index valide pour appendBrother"))
return 0
- return self.treeParent.appendChild(name,pos=index,plier=plier)
+ return self.treeParent.appendChild(name,pos=index,plier=plier)
def verifiePosition(self,name,pos,aLaRacine=False):
#----------------------------------------------------
if pos=="after" : indexOu = indexOu+1
for e in etapes[:indexOu] :
- nom=e.nom
- if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue
- indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom)
- if indexEtape > indexName :
- comment=tr('le mot clef ')+name+tr(' doit etre insere avant ')+nom
- QMessageBox.information( None,tr('insertion impossible'),comment, )
- return False
+ nom=e.nom
+ if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue
+ indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom)
+ if indexEtape > indexName :
+ comment=tr('le mot clef ')+name+tr(' doit etre insere avant ')+nom
+ QMessageBox.information( None,tr('insertion impossible'),comment, )
+ return False
for e in etapes[indexOu:] :
- nom=e.nom
- if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue
- indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom)
- if indexEtape < indexName :
- comment=tr('le mot clef ')+name+tr(' doit etre insere apres ')+nom
- QMessageBox.information( None,tr('insertion impossible'),comment, )
- return False
+ nom=e.nom
+ if nom not in self.editor.readercata.Classement_Commandes_Ds_Arbre : continue
+ indexEtape=self.editor.readercata.Classement_Commandes_Ds_Arbre.index(nom)
+ if indexEtape < indexName :
+ comment=tr('le mot clef ')+name+tr(' doit etre insere apres ')+nom
+ QMessageBox.information( None,tr('insertion impossible'),comment, )
+ return False
return True
def appendChild(self,name,pos=None,plier=False):
if recalcule : jdc.recalculeEtatCorrelation()
if ret==0 :
- if self.treeParent.childrenComplete :
- notdeleted=self.treeParent.childrenComplete[index+1]
- notdeleted.select()
+ if self.treeParent.childrenComplete :
+ notdeleted=self.treeParent.childrenComplete[index+1]
+ notdeleted.select()
else :
- toselect.select()
+ toselect.select()
from InterfaceQT4 import compojdc
# cas ou on detruit dans l arbre sans affichage
jdc=self.treeParent
parentPosition=jdc
while not(isinstance(jdc,compojdc.Node)):
- jdc=jdc.treeParent
+ jdc=jdc.treeParent
for noeud in liste :
- if not( isinstance(noeud.treeParent, compojdc.Node)): continue
- if noeud.item.nom == "VARIABLE" : recalcule=1
- if noeud.treeParent.children.index(noeud) < index : index=noeud.treeParent.children.index(noeud)
+ if not( isinstance(noeud.treeParent, compojdc.Node)): continue
+ if noeud.item.nom == "VARIABLE" : recalcule=1
+ if noeud.treeParent.children.index(noeud) < index : index=noeud.treeParent.children.index(noeud)
if index < 0 : index =0
# Cas ou on detruit dans une ETape
if index == 9999 :
- parentPosition=self.treeParent
- while not(isinstance(parentPosition, compojdc.Node)):
- index=parentPosition.treeParent.children.index(parentPosition)
- parentPosition=parentPosition.treeParent
+ parentPosition=self.treeParent
+ while not(isinstance(parentPosition, compojdc.Node)):
+ index=parentPosition.treeParent.children.index(parentPosition)
+ parentPosition=parentPosition.treeParent
for noeud in liste:
- noeud.treeParent.item.suppItem(noeud.item)
+ noeud.treeParent.item.suppItem(noeud.item)
jdc.buildChildren()
if recalcule : jdc.recalculeEtatCorrelation()
def updateNodeLabelInBlack(self):
#-------------------------------
if hasattr(self.appliEficas,'noeudColore'):
- self.appliEficas.noeudColore.setForeground(0,Qt.black)
- self.appliEficas.noeudColore.updateNodeLabel
+ self.appliEficas.noeudColore.setForeground(0,Qt.black)
+ self.appliEficas.noeudColore.updateNodeLabel
def updateNodeLabelInBlue(self):
#-------------------------------
#----------------------------------------------
if hasattr(self.appliEficas,'listeNoeudsColores'):
for noeud in self.appliEficas.listeNoeudsColores:
- noeud.setTextColor( 0,Qt.black)
- noeud.updateNodeLabel()
+ noeud.setTextColor( 0,Qt.black)
+ noeud.updateNodeLabel()
self.appliEficas.listeNoeudsColores=[]
for noeud in liste :
- noeud.setTextColor( 0,Qt.blue )
- labeltext,fonte,couleur = noeud.item.getLabelText()
- noeud.setText(0, labeltext)
- self.appliEficas.listeNoeudsColores.append(noeud)
+ noeud.setTextColor( 0,Qt.blue )
+ labeltext,fonte,couleur = noeud.item.getLabelText()
+ noeud.setText(0, labeltext)
+ self.appliEficas.listeNoeudsColores.append(noeud)
def updateNodeTexteInBlack(self):
#--------------------------------
#print "NODE updateTexte", self.item.getLabelText()
self.updateNodeTexte()
if self.isExpanded() :
- for child in self.children:
- if child.isHidden() == false : child.updateTexte()
+ for child in self.children:
+ if child.isHidden() == false : child.updateTexte()
def forceRecalculChildren(self,niveau):
child=None
try :
#if 1 :
- child = self.appendBrother(objet_a_copier,pos)
+ child = self.appendBrother(objet_a_copier,pos)
except :
pass
return child
self.inhibeExpand=True
from InterfaceQT4 import compojdc
if (isinstance(self, compojdc.Node)) :
- self.affichePanneau()
- self.inhibeExpand=False
- return
+ self.affichePanneau()
+ self.inhibeExpand=False
+ return
self.editor.deplier = False
for item in self.children :
- # il ne faut pas plier les blocs
- from InterfaceQT4 import compobloc
- if (isinstance(item,compobloc.Node)) : continue
- item.setPlie()
- if item==itemADeplier :
- itemADeplier.setDeplie()
+ # il ne faut pas plier les blocs
+ from InterfaceQT4 import compobloc
+ if (isinstance(item,compobloc.Node)) : continue
+ item.setPlie()
+ if item==itemADeplier :
+ itemADeplier.setDeplie()
self.affichePanneau()
self.inhibeExpand=False
self.inhibeExpand=True
self.editor.deplier = False
for item in self.children :
- # il ne faut pas plier les blocs
- from InterfaceQT4 import compobloc
- if (isinstance(item,compobloc.Node)) : continue
- item.setPlie()
+ # il ne faut pas plier les blocs
+ from InterfaceQT4 import compobloc
+ if (isinstance(item,compobloc.Node)) : continue
+ item.setPlie()
self.affichePanneau()
#print ("fin plieToutEtReaffiche", self.item.getNom())
#-----------------------------
self.editor.deplier = True
for item in self.children :
- item.setDeplie()
+ item.setDeplie()
self.affichePanneau()
def setPlie(self):
from InterfaceQT4 import composimp
if isinstance(self,composimp.Node) : return
for c in self.children :
- c.setPlieChildren()
- #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0]
- c.appartientAUnNoeudPlie=True
- c.plie=True
- #print "dans setPlieChildren plie", c.item.nom
- # 01/2018 PNPN : boucle sur MT __ La ligne suivante ne me semble pas necessaire
- #if not (isinstance(c,composimp.Node)) :c.setExpanded(False)
+ c.setPlieChildren()
+ #print "dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0]
+ c.appartientAUnNoeudPlie=True
+ c.plie=True
+ #print "dans setPlieChildren plie", c.item.nom
+ # 01/2018 PNPN : boucle sur MT __ La ligne suivante ne me semble pas necessaire
+ #if not (isinstance(c,composimp.Node)) :c.setExpanded(False)
# Pour les blocs et les motcles list
# on affiche un niveau de plus
from InterfaceQT4 import compobloc
from InterfaceQT4 import compomclist
if (isinstance(self,compobloc.Node) or ( isinstance(self,compomclist.Node) and self.item.isMCList())) :
- niveauPere=self.treeParent
- while (isinstance(niveauPere,compobloc.Node) or (isinstance(niveauPere,compomclist.Node) and niveauPere.item.isMCList())) :
- niveauPere=niveauPere.treeParent
- for c in self.children :
- c.appartientAUnNoeudPlie=niveauPere.appartientAUnNoeudPlie
- #print ("dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0], "mis a la valeur ", niveauPere.appartientAUnNoeudPlie)
- c.setExpanded(False)
+ niveauPere=self.treeParent
+ while (isinstance(niveauPere,compobloc.Node) or (isinstance(niveauPere,compomclist.Node) and niveauPere.item.isMCList())) :
+ niveauPere=niveauPere.treeParent
+ for c in self.children :
+ c.appartientAUnNoeudPlie=niveauPere.appartientAUnNoeudPlie
+ #print ("dans setPlieChildren appartientAUnNoeudPlie=True ", c, c.item.getLabelText()[0], "mis a la valeur ", niveauPere.appartientAUnNoeudPlie)
+ c.setExpanded(False)
def setDeplie(self):
#-----------------------------
#print "dans setDeplieChildren appartientAUnNoeudPlie=False ", self.item.getLabelText()
for c in self.children :
- c.setDeplieChildren()
- #print "dans setDeplieChildren ", c.item.nom
- c.appartientAUnNoeudPlie=False
- c.setExpanded(True)
- c.plie=False
+ c.setDeplieChildren()
+ #print "dans setDeplieChildren ", c.item.nom
+ c.appartientAUnNoeudPlie=False
+ c.setExpanded(True)
+ c.plie=False
def selectAvant(self):
#-----------------------------
except : cherche=self.item.jdc.etapes[-1]
node=None
for i in self.tree.racine.children :
- if i.item.object== cherche :
+ if i.item.object== cherche :
node=i
break
if node :
- node.affichePanneau()
- node.select()
+ node.affichePanneau()
+ node.select()
def selectApres(self):
#---------------------
except : cherche=self.item.jdc.etapes[0]
node=None
for i in self.tree.racine.children :
- if i.item.object== cherche :
- node=i
- break
+ if i.item.object== cherche :
+ node=i
+ break
if node :
node.affichePanneau()
node.select()
from __future__ import absolute_import
from __future__ import print_function
try :
- from builtins import str
+ from builtins import str
except : pass
if ihmQTDir not in sys.path : sys.path.append(ihmQTDir)
if editeurDir not in sys.path : sys.path.append(editeurDir)
+if sys.version_info[0] < 3:
+ print("Must be using Python 3")
+ sys.exit()
+
def lanceEficas(code=None, multi=False, langue='en', labelCode=None):
#-------------------------------------------------------------------
"""
Lance l'appli EFICAS avec Ihm
"""
try :
- from PyQt5.QtWidgets import QApplication
+ from PyQt5.QtWidgets import QApplication
except :
- print('Please, set qt environment')
- return
+ print('Please, set qt environment')
+ return
from Editeur import session
options = session.parse(sys.argv)
from Editeur import session
options = session.parse(sys.argv)
if code != None : options.code = code
- if options.fichierCata == None :
- print ('Use -c cata_name.py')
- return
+ if options.fichierCata == None :
+ print ('Use -c cata_name.py')
+ return
monEficasSsIhm = getEficasSsIhm(code=options.code,genereXSD=True)
monEditor=monEficasSsIhm.getEditor()
from Editeur import session
options=session.parse(sys.argv)
if code != None : options.code = code
- if options.fichierCata == None :
- print ('Use -c cata_name.py')
- return
+ if options.fichierCata == None :
+ print ('Use -c cata_name.py')
+ return
try : fichier=options.comm[0]
except : fichier=None
- if fichier==None :
- print ('comm file is needed')
- return
-
+ if fichier==None :
+ print ('comm file is needed')
+ return
+
monEficasSsIhm = getEficasSsIhm(code=options.code, forceXML=True)
from .editorSsIhm import JDCEditorSsIhm
monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier)
if options.fichierXMLOut == None :
- fichierXMLOut=fichier[:fichier.rfind(".")]+'.xml'
- else :
- fichierXMLOut=options.fichierXMLOut
+ fichierXMLOut=fichier[:fichier.rfind(".")]+'.xml'
+ else :
+ fichierXMLOut=options.fichierXMLOut
if not(monEditeur.jdc.isValid()):
- print ('Fichier comm is not valid')
- return
+ print ('Fichier comm is not valid')
+ return
print ('Fichier comm is not valid')
monEditeur.XMLgenerator.gener(monEditeur.jdc)
monEditeur.XMLgenerator.writeDefault(fichierXMLOut)
from Editeur import session
options=session.parse(sys.argv)
if code != None : options.code = code
- if options.fichierCata == None :
- print ('Use -c cata_name.py')
- return
-
+ if options.fichierCata == None :
+ print ('Use -c cata_name.py')
+ return
+
monEficasSsIhm = getEficasSsIhm(code=options.code,genereXSD=True)
monEditor=monEficasSsIhm.getEditor()
texteStructure=monEditor.dumpStructure()
from Editeur import session
options=session.parse(sys.argv)
if code != None : options.code = code
- if options.fichierCata == None :
- print ('Use -c cata_name.py')
- return
+ if options.fichierCata == None :
+ print ('Use -c cata_name.py')
+ return
fichier=options.comm[0]
- if fichier==None :
- print ('comm file is needed')
- return
+ if fichier==None :
+ print ('comm file is needed')
+ return
from .editorSsIhm import JDCEditorSsIhm
monEficasSsIhm = getEficasSsIhm(code=options.code)
monEditeur=JDCEditorSsIhm(monEficasSsIhm,fichier)
laDefDeLaFonctionDansAccas = getattr(monEditor.readercata.cata,laFonctionName)
objConstruit = laDefDeLaFonctionDansAccas.makeObjetPourVerifSignature(*args,**kwargs)
if (objConstruit.isValid()) :
- ret = laFonction(*args, **kwargs)
- return ret
+ ret = laFonction(*args, **kwargs)
+ return ret
else :
- print ('mauvais arguments')
- print (objConstruit.CR())
- return None
+ print ('mauvais arguments')
+ print (objConstruit.CR())
+ return None
return fonctionValidee
#maClasseAccas=getattr(self.cata,objEtape.monNomClasseAccas)
return fonctionValidee
-
+
return laFonction
-
+
# --------------------------- toutes les fonctions après sont obseletes
def lanceEficas_ssIhm(code=None,fichier=None,ssCode=None,version=None,debug=False,langue='en'):
"""
- Lance l'appli EFICAS SsIhm
+ Lance l'appli EFICAS SsIhm
"""
# Analyse des arguments de la ligne de commande
print ('deprecated')
from . import readercata
if not hasattr ( Eficas, 'readercata'):
- monreadercata = readercata.ReaderCata( parent, Eficas )
- Eficas.readercata=monreadercata
+ monreadercata = readercata.ReaderCata( parent, Eficas )
+ Eficas.readercata=monreadercata
from .editor import JDCEditor
monEditeur=JDCEditor(Eficas,fichier)
print ('deprecated')
#print 'lanceEficas_ssIhm_reecrit', fichier
monEditeur=lanceEficas_ssIhm(code,fichier,ssCode,version,langue=langue)
- if ou == None :
- fileName=fichier.split(".")[0]+"_reecrit.comm"
- fn=fichier.split(".")[0]+"_cr.txt"
+ if ou == None :
+ fileName=fichier.split(".")[0]+"_reecrit.comm"
+ fn=fichier.split(".")[0]+"_cr.txt"
else :
- f=fichier.split(".")[0]+"_reecrit.comm"
- f1=os.path.basename(f)
- fn=fichier.split(".")[0]+"_cr.txt"
- f2=os.path.basename(fn)
- fileName=os.path.join(ou,f1)
- fileCr=os.path.join(ou,f2)
+ f=fichier.split(".")[0]+"_reecrit.comm"
+ f1=os.path.basename(f)
+ fn=fichier.split(".")[0]+"_cr.txt"
+ f2=os.path.basename(fn)
+ fileName=os.path.join(ou,f1)
+ fileCr=os.path.join(ou,f2)
debut=False
if debug :
- import cProfile, pstats, StringIO
- pr = cProfile.Profile()
- pr.enable()
- monEditeur.saveFileAs(fileName=fileName)
- pr.disable()
- s = StringIO.StringIO()
- sortby = 'cumulative'
- ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
- ps.print_stats()
- print (s.getValue())
+ import cProfile, pstats, StringIO
+ pr = cProfile.Profile()
+ pr.enable()
+ monEditeur.saveFileAs(fileName=fileName)
+ pr.disable()
+ s = StringIO.StringIO()
+ sortby = 'cumulative'
+ ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
+ ps.print_stats()
+ print (s.getValue())
elif not leger : monEditeur.saveFileAs(fileName=fileName)
else : monEditeur.saveFileLegerAs(fileName=fileName)
if cr:
- f = open(fileCr, 'w')
- f.write(str(monEditeur.jdc.report()))
- f.close()
+ f = open(fileCr, 'w')
+ f.write(str(monEditeur.jdc.report()))
+ f.close()
def lanceEficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_STUDY'):
"""
from . import readercata
if not hasattr ( Eficas, 'readercata'):
- monreadercata = readercata.ReaderCata( parent, Eficas )
- Eficas.readercata=monreadercata
+ monreadercata = readercata.ReaderCata( parent, Eficas )
+ Eficas.readercata=monreadercata
from .editor import JDCEditor
monEditeur=JDCEditor(Eficas,fichier)
jdc = ""
for line in fcomm.readlines():
if not (line[0]=='#'):
- jdc+="%s"%line
+ jdc+="%s"%line
# Warning, we have to make sure that the jdc comes as a simple
# string without any extra spaces/newlines
import sys
sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..')))
lanceEficas(code=None,multi=True)
-
-
# Modules Python
from __future__ import absolute_import
try :
- from builtins import str
- from builtins import range
+ from builtins import str
+ from builtins import range
except : pass
import types,os
class MonWidgetPlusieursInto (Ui_WidgetPlusieursInto,Feuille,GerePlie,GereListe):
- def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
+ def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande):
self.index=1
self.alpha=0
if len(self.listeAAfficher) < 30 and hasattr(self,'frameRecherche') : self.frameRecherche.close()
if len(self.listeAAfficher) == len(self.listeValeursCourantes) : self.CBCheck.setChecked(True)
if len(self.listeAAfficher) < 10 :
- self.setMinimumHeight(len(self.listeAAfficher)*22+55)
+ self.setMinimumHeight(len(self.listeAAfficher)*22+55)
else :
- self.setMinimumHeight(300)
-
+ self.setMinimumHeight(300)
+
# try except si la liste des possibles est vide
# prevoir qqchose
try :
- self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
+ self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
except :
- pass
-
-
- def changeTout(self,int):
- #print ('changeTout')
- if self.inhibe : return
- self.inhibe=True
- if not(self.CBCheck.isChecked()) :
- min,max = self.node.item.getMinMax()
- if max < len(self.listeAAfficher) :
- commentaire=tr('impossible de tout selectionner : max =')+str(max)
- self.editor.afficheInfos(commentaire,Qt.red)
- self.inhibe=False
- return
- for i in range(len(self.listeAAfficher)):
- nomCB="lineEditVal"+str(i+1)
- courant=getattr(self,nomCB)
- courant.setChecked(True)
- self.CBCheck.setChecked(False)
- else :
- for i in range(len(self.listeAAfficher)):
- nomCB="lineEditVal"+str(i+1)
- courant=getattr(self,nomCB)
- courant.setChecked(False)
- self.CBCheck.setChecked(True)
- self.inhibe=False
- self.changeValeur()
-
- def setValeurs(self):
- #print ('setValeurs')
- self.listeValeursCourantes =self.node.item.getValeur()
- if self.listeValeursCourantes == None : self.listeValeursCourantes=[]
- #print ("ds set Valeur", self.listeValeursCourantes, self.node.item.getValeur())
- self.politique=PolitiquePlusieurs(self.node,self.editor)
- self.vScrollBar = self.scrollArea.verticalScrollBar()
-
- if hasattr(self.node.item.definition.validators,'set_MCSimp'):
+ pass
+
+
+ def changeTout(self,int):
+ #print ('changeTout')
+ if self.inhibe : return
+ self.inhibe=True
+ if not(self.CBCheck.isChecked()) :
+ min,max = self.node.item.getMinMax()
+ if max < len(self.listeAAfficher) :
+ commentaire=tr('impossible de tout selectionner : max =')+str(max)
+ self.editor.afficheInfos(commentaire,Qt.red)
+ self.inhibe=False
+ return
+ for i in range(len(self.listeAAfficher)):
+ nomCB="lineEditVal"+str(i+1)
+ courant=getattr(self,nomCB)
+ courant.setChecked(True)
+ self.CBCheck.setChecked(False)
+ else :
+ for i in range(len(self.listeAAfficher)):
+ nomCB="lineEditVal"+str(i+1)
+ courant=getattr(self,nomCB)
+ courant.setChecked(False)
+ self.CBCheck.setChecked(True)
+ self.inhibe=False
+ self.changeValeur()
+
+ def setValeurs(self):
+ #print ('setValeurs')
+ self.listeValeursCourantes =self.node.item.getValeur()
+ if self.listeValeursCourantes == None : self.listeValeursCourantes=[]
+ #print ("ds set Valeur", self.listeValeursCourantes, self.node.item.getValeur())
+ self.politique=PolitiquePlusieurs(self.node,self.editor)
+ self.vScrollBar = self.scrollArea.verticalScrollBar()
+
+ if hasattr(self.node.item.definition.validators,'set_MCSimp'):
obj=self.node.item.getObject()
self.node.item.definition.validators.set_MCSimp(obj)
if self.node.item.isValid() == 0 :
- liste=[]
- for item in self.listeValeursCourantes:
- if self.node.item.definition.validators.verifItem(item)==1:
- liste.append(item)
- self.listeAAfficher=self.node.item.getListePossible(liste)
+ liste=[]
+ for item in self.listeValeursCourantes:
+ if self.node.item.definition.validators.verifItem(item)==1:
+ liste.append(item)
+ self.listeAAfficher=self.node.item.getListePossible(liste)
else:
- self.listeAAfficher=self.node.item.getListePossible([])
- else :
- self.listeAAfficher=self.node.item.getListePossible([])
-
- if self.node.item.hasIntoSug() : self.listeAAfficher=self.node.item.getListePossibleAvecSug([])
-
-
- if self.objSimp.waitAssd() :
- self.listeAAfficher=self.node.item.getSdAvantDuBonType()
- if self.listeAAfficher== None or self.listeAAfficher==[] : self.listeAAfficher=[]
+ self.listeAAfficher=self.node.item.getListePossible([])
+ else :
+ self.listeAAfficher=self.node.item.getListePossible([])
- #if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
- #else : self.setMinimumHeight(len(self.listeAAfficher)*30)
+ if self.node.item.hasIntoSug() : self.listeAAfficher=self.node.item.getListePossibleAvecSug([])
- self.PourEtreCoche=[]
- if self.objSimp.waitUserAssd() :
- for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept)
- elif self.objSimp.waitAssd() :
- for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept.nom)
- else :
- for val in self.listeValeursCourantes: self.PourEtreCoche.append(val)
- maListe=[]
- for i in self.listeAAfficher: maListe.append(i)
- if self.alpha==1 : maListe.sort()
- for i in range(1,len(maListe)+1): self.ajoutCB(i)
+ if self.objSimp.waitAssd() :
+ self.listeAAfficher=self.node.item.getSdAvantDuBonType()
+ if self.listeAAfficher== None or self.listeAAfficher==[] : self.listeAAfficher=[]
- self.inhibe=True
- for i in range(len(maListe)):
- nomCB="lineEditVal"+str(i+1)
- courant=getattr(self,nomCB)
- courant.setText(str(maListe[i]))
- if maListe[i] in self.PourEtreCoche : courant.setChecked(True)
- else : courant.setChecked(False)
+ #if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
+ #else : self.setMinimumHeight(len(self.listeAAfficher)*30)
- courant.toggled.connect(self.changeValeur)
- self.inhibe=False
+ self.PourEtreCoche=[]
+ if self.objSimp.waitUserAssd() :
+ for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept)
+ elif self.objSimp.waitAssd() :
+ for concept in self.listeValeursCourantes: self.PourEtreCoche.append(concept.nom)
+ else :
+ for val in self.listeValeursCourantes: self.PourEtreCoche.append(val)
+
+ maListe=[]
+ for i in self.listeAAfficher: maListe.append(i)
+ if self.alpha==1 : maListe.sort()
+ for i in range(1,len(maListe)+1): self.ajoutCB(i)
+
+ self.inhibe=True
+ for i in range(len(maListe)):
+ nomCB="lineEditVal"+str(i+1)
+ courant=getattr(self,nomCB)
+ courant.setText(str(maListe[i]))
+ if maListe[i] in self.PourEtreCoche : courant.setChecked(True)
+ else : courant.setChecked(False)
+
+ courant.toggled.connect(self.changeValeur)
+ self.inhibe=False
- self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
+ self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
- def ajoutCB(self,index,valeur=None):
- #print ('ajoutCB')
- nomCB="lineEditVal"+str(index)
- if hasattr(self,nomCB) : return
- nouveauCB = QCheckBox(self.scrollArea)
- self.CBLayout.insertWidget(index-1,nouveauCB)
- self.listeCB.append(nouveauCB)
- nouveauCB.setText("")
- if index % 2 == 1 : nouveauCB.setStyleSheet("background:rgb(210,210,210)")
- else : nouveauCB.setStyleSheet("background:rgb(240,240,240)")
- self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
- nouveauCB.setFocus()
- setattr(self,nomCB,nouveauCB)
+ def ajoutCB(self,index,valeur=None):
+ #print ('ajoutCB')
+ nomCB="lineEditVal"+str(index)
+ if hasattr(self,nomCB) : return
+ nouveauCB = QCheckBox(self.scrollArea)
+ self.CBLayout.insertWidget(index-1,nouveauCB)
+ self.listeCB.append(nouveauCB)
+ nouveauCB.setText("")
+ if index % 2 == 1 : nouveauCB.setStyleSheet("background:rgb(210,210,210)")
+ else : nouveauCB.setStyleSheet("background:rgb(240,240,240)")
+ self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
+ nouveauCB.setFocus()
+ setattr(self,nomCB,nouveauCB)
- def ajout1Valeur(self,valeur=None):
+ def ajout1Valeur(self,valeur=None):
#print ('ajout1Valeur')
if valeur == None : return
liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(liste,-1,listeVal)
if (comm2 != "" and comm != None) : return comm2
if validite :
- self.listeValeursCourantes=self.listeValeursCourantes+listeRetour
- return None
+ self.listeValeursCourantes=self.listeValeursCourantes+listeRetour
+ return None
else :
- return(comm2+" "+comm)
-
-
-
- def changeValeur(self):
- #def changeValeur(self,changeDePlace=False,oblige=True, numero=None):
- #print ('changeValeur')
- if self.inhibe == True: return
- if hasattr(self,'LEFiltre') :self.noircirResultatFiltre()
- self.listeValeursCourantesAvant=self.listeValeursCourantes
- self.listeValeursCourantes = []
-
- for i in range (1,len(self.listeAAfficher)+1):
- nomLineEdit="lineEditVal"+str(i)
- courant=getattr(self,nomLineEdit)
- if not (courant.isChecked()):continue
- valeur=courant.text()
- if valeur != None and valeur != "" :
- commentaire=self.ajout1Valeur(valeur)
- if (commentaire != None ):
- self.editor.afficheInfos(commentaire,Qt.red)
- self.listeValeursCourantesAvant=self.listeValeursCourantes
- self.setValeurs()
-
- min,max = self.node.item.getMinMax()
- if len(self.listeValeursCourantes) < min :
- self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
- elif len(self.listeValeursCourantes) > max :
- self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
-
- if self.listeValeursCourantes== [] : self.node.item.setValeur([])
- else : self.node.item.setValeur(self.listeValeursCourantes)
-
- # Exception pour PSEN
- if min==0 and self.listeValeursCourantes== []: self.node.item.setValeur([])
- self.setValide()
-
-
- def prepareListeResultatFiltre(self):
- #print ('prepareListeResultatFiltre')
- filtre=str(self.LEFiltre.text())
- for cb in self.listeCB:
- texte=cb.text()
- if texte.find(filtre) == 0 :
- palette = QPalette(Qt.red)
- palette.setColor(QPalette.WindowText,Qt.red)
- cb.setPalette(palette)
- t=cb.text()
- cb.setText(t)
- self.listeCbRouge.append(cb)
-
- def prepareListeResultat(self):
- #print ('prepareListeResultat')
- self.clearAll()
- self.setValeurs()
-
- def clearAll(self):
- #print ('clearAll')
- for cb in self.listeCB :
- cb.setText("")
-
-
+ return(comm2+" "+comm)
+
+
+
+ def changeValeur(self):
+ #def changeValeur(self,changeDePlace=False,oblige=True, numero=None):
+ #print ('changeValeur')
+ if self.inhibe == True: return
+ if hasattr(self,'LEFiltre') :self.noircirResultatFiltre()
+ self.listeValeursCourantesAvant=self.listeValeursCourantes
+ self.listeValeursCourantes = []
+
+ for i in range (1,len(self.listeAAfficher)+1):
+ nomLineEdit="lineEditVal"+str(i)
+ courant=getattr(self,nomLineEdit)
+ if not (courant.isChecked()):continue
+ valeur=courant.text()
+ if valeur != None and valeur != "" :
+ commentaire=self.ajout1Valeur(valeur)
+ if (commentaire != None ):
+ self.editor.afficheInfos(commentaire,Qt.red)
+ self.listeValeursCourantesAvant=self.listeValeursCourantes
+ self.setValeurs()
+
+ min,max = self.node.item.getMinMax()
+ if len(self.listeValeursCourantes) < min :
+ self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
+ elif len(self.listeValeursCourantes) > max :
+ self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
+
+ if self.listeValeursCourantes== [] : self.node.item.setValeur([])
+ else : self.node.item.setValeur(self.listeValeursCourantes)
+
+ # Exception pour PSEN
+ if min==0 and self.listeValeursCourantes== []: self.node.item.setValeur([])
+ self.setValide()
+ self.reaffiche()
+
+
+ def prepareListeResultatFiltre(self):
+ #print ('prepareListeResultatFiltre')
+ filtre=str(self.LEFiltre.text())
+ for cb in self.listeCB:
+ texte=cb.text()
+ if texte.find(filtre) == 0 :
+ palette = QPalette(Qt.red)
+ palette.setColor(QPalette.WindowText,Qt.red)
+ cb.setPalette(palette)
+ t=cb.text()
+ cb.setText(t)
+ self.listeCbRouge.append(cb)
+
+ def prepareListeResultat(self):
+ #print ('prepareListeResultat')
+ self.clearAll()
+ self.setValeurs()
+
+ def clearAll(self):
+ #print ('clearAll')
+ for cb in self.listeCB :
+ cb.setText("")
# Modules Python
from __future__ import absolute_import
try :
- from builtins import str
- from builtins import range
+ from builtins import str
+ from builtins import range
except : pass
import types,os,sys
+import traceback
# Modules Eficas
from .feuille import Feuille
-from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne
+from desWidgetPlusieursIntoOrdonne import Ui_WidgetPlusieursIntoOrdonne
from .politiquesValidation import PolitiquePlusieurs
from .qtSaisie import SaisieValeur
from .gereListe import GereListe
class MonWidgetPlusieursIntoOrdonne (Ui_WidgetPlusieursIntoOrdonne, Feuille,GereListe,GerePlie):
- def __init__(self,node,monSimpDef,nom,objSimp,parent,commande):
+ def __init__(self,node,monSimpDef,nom,objSimp,parent,commande):
self.nomLine="LEResultat"
self.listeLE=[]
self.ouAjouter=0
self.gereIconePlier()
self.listeValeursCourantes=self.node.item.getListeValeurs()
try :
- self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
+ self.maCommande.listeAffichageWidget.append(self.lineEditVal1)
except :
- # cas ou on ne peut rien ajouter
- pass
+ # cas ou on ne peut rien ajouter
+ pass
self.prepareListeResultat()
if len(self.listeAAfficher) < 20 : self.frameRecherche2.close()
if len(self.listeAAfficher) < 20 : self.frameRecherche.close()
self.parentQt.commandesLayout.insertWidget(-1,self)
self.listeRouge=[]
-
- def prepareListeResultat(self):
- for i in self.listeLE: i.close()
- self.listeLE=[]
- self.vScrollBar = self.scrollArea.verticalScrollBar()
- self.listeValeursCourantes=self.node.item.getListeValeurs()
- if hasattr(self.node.item.definition.validators,'set_MCSimp'):
+
+ def prepareListeResultat(self):
+ for i in self.listeLE: i.close()
+ self.listeLE=[]
+ self.vScrollBar = self.scrollArea.verticalScrollBar()
+ self.listeValeursCourantes=self.node.item.getListeValeurs()
+ if hasattr(self.node.item.definition.validators,'set_MCSimp'):
obj=self.node.item.getObject()
self.node.item.definition.validators.set_MCSimp(obj)
if self.node.item.isValid() == 0 :
- liste=[]
- for item in self.listeValeursCourantes:
- if self.node.item.definition.validators.verifItem(item)==1: liste.append(item)
- self.listeAAfficher=self.node.item.getListePossible(liste)
- else:
- self.listeAAfficher=self.node.item.getListePossible([])
- else :
+ liste=[]
+ for item in self.listeValeursCourantes:
+ if self.node.item.definition.validators.verifItem(item)==1: liste.append(item)
+ self.listeAAfficher=self.node.item.getListePossible(liste)
+ else:
+ self.listeAAfficher=self.node.item.getListePossible([])
+ else :
self.listeAAfficher=self.node.item.getListePossible(self.listeValeursCourantes)
- if self.listeAAfficher==[] :
- self.ajoutLE(0)
- return
- self.filtreListe()
- if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
- else :
- if self.monSimpDef.min > len(self.listeAAfficher) : self.setMinimumHeight(self.monSimpDef.min*30+300)
- elif self.monSimpDef.max > len(self.listeAAfficher) : self.setMinimumHeight(400)
- else : self.setMinimumHeight(len(self.listeAAfficher)*30+30)
- self.setMinimumHeight(300)
- print ('jjjjjj hauteur 300')
- self.adjustSize()
+ if self.listeAAfficher==[] :
+ self.ajoutLE(0)
+ return
+ self.filtreListe()
+ if len(self.listeAAfficher)*20 > 400 : self.setMinimumHeight(400)
+ else :
+ if self.monSimpDef.min > len(self.listeAAfficher) : self.setMinimumHeight(self.monSimpDef.min*30+300)
+ elif self.monSimpDef.max > len(self.listeAAfficher) : self.setMinimumHeight(400)
+ else : self.setMinimumHeight(len(self.listeAAfficher)*30+30)
+ self.setMinimumHeight(300)
+ self.adjustSize()
+
+ self.politique=PolitiquePlusieurs(self.node,self.editor)
+ for i in range(1,len(self.listeAAfficher)+1): self.ajoutLE(i)
+ for i in range(len(self.listeAAfficher)):
+ nomLE="lineEditVal"+str(i+1)
+ courant=getattr(self,nomLE)
+ courant.setText(str(self.listeAAfficher[i]))
+ self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
+ if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche') : self.frameRecherche.close()
+ if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche2') : self.frameRecherche2.close()
- self.politique=PolitiquePlusieurs(self.node,self.editor)
- for i in range(1,len(self.listeAAfficher)+1): self.ajoutLE(i)
- for i in range(len(self.listeAAfficher)):
- nomLE="lineEditVal"+str(i+1)
- courant=getattr(self,nomLE)
- courant.setText(str(self.listeAAfficher[i]))
- self.vScrollBar.triggerAction(QScrollBar.SliderToMinimum)
- if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche') : self.frameRecherche.close()
- if len(self.listeAAfficher) < 15 and hasattr(self,'frameRecherche2') : self.frameRecherche2.close()
-
-
- def setValeurs(self,first=True):
- self.listeValeursCourantes=self.node.item.getListeValeurs()
- if first :
- if self.monSimpDef.max == "**" or self.monSimpDef.max == float('inf') : aConstruire=7
- else : aConstruire=self.monSimpDef.max
- if len(self.listeValeursCourantes) > aConstruire : aConstruire=len(self.listeValeursCourantes)
- self.indexDernierLabel = aConstruire
- for i in range(1,aConstruire+1): self.ajoutLEResultat(i)
- index=1
- for val in self.listeValeursCourantes :
- nomLE="LEResultat"+str(index)
- courant=getattr(self,nomLE)
- courant.setText(str(val))
- courant.setReadOnly(True)
- index=index+1
- while (index < self.indexDernierLabel) :
- nomLE="LEResultat"+str(index)
- courant=getattr(self,nomLE)
- courant.setText("")
- courant.setReadOnly(True)
- index=index+1
- #self.prepareListeResultat()
- def moinsPushed(self):
- self.ouAjouter=self.ouAjouter-1
- GereListe.moinsPushed(self)
- self.setValeurs(first=False)
+ def setValeurs(self,first=True):
+ self.listeValeursCourantes=self.node.item.getListeValeurs()
+ if first :
+ if self.monSimpDef.max == "**" or self.monSimpDef.max == float('inf') : aConstruire=7
+ else : aConstruire=self.monSimpDef.max
+ if len(self.listeValeursCourantes) > aConstruire : aConstruire=len(self.listeValeursCourantes)
+ self.indexDernierLabel = aConstruire
+ for i in range(1,aConstruire+1): self.ajoutLEResultat(i)
+ index=1
+ for val in self.listeValeursCourantes :
+ nomLE="LEResultat"+str(index)
+ courant=getattr(self,nomLE)
+ courant.setText(str(val))
+ courant.setReadOnly(True)
+ index=index+1
+ while (index < self.indexDernierLabel) :
+ nomLE="LEResultat"+str(index)
+ courant=getattr(self,nomLE)
+ courant.setText("")
+ courant.setReadOnly(True)
+ index=index+1
+ #self.prepareListeResultat()
+
+ def moinsPushed(self):
+ self.ouAjouter=self.ouAjouter-1
+ GereListe.moinsPushed(self)
+ self.setValeurs(first=False)
- def prepareListeResultatFiltre(self):
- for i in self.listeRouge :
- nomLE="lineEditVal"+str(i+1)
- courant=getattr(self,nomLE)
- texte=courant.text()
- palette = QPalette(Qt.black)
- palette.setColor(QPalette.WindowText,Qt.black)
- courant.setPalette(palette)
- courant.setText(texte)
-
- self.listeRouge = []
- filtre=str(self.LEFiltre.text())
- if filtre == '' : return
- for i in range(len(self.listeAAfficher)):
- nomLE="lineEditVal"+str(i+1)
- courant=getattr(self,nomLE)
- texte=courant.text()
- if texte.find(filtre) == 0 :
- palette = QPalette(Qt.red)
- palette.setColor(QPalette.WindowText,Qt.red)
- courant.setPalette(palette)
- courant.setText(texte)
- self.listeRouge.append(i)
+ def prepareListeResultatFiltre(self):
+ for i in self.listeRouge :
+ nomLE="lineEditVal"+str(i+1)
+ courant=getattr(self,nomLE)
+ texte=courant.text()
+ palette = QPalette(Qt.black)
+ palette.setColor(QPalette.WindowText,Qt.black)
+ courant.setPalette(palette)
+ courant.setText(texte)
- def cleanListeResultatFiltre(self):
- self.LEFiltre.setText('')
- self.prepareListeResultatFiltre()
+ self.listeRouge = []
+ filtre=str(self.LEFiltre.text())
+ if filtre == '' : return
+ for i in range(len(self.listeAAfficher)):
+ nomLE="lineEditVal"+str(i+1)
+ courant=getattr(self,nomLE)
+ texte=courant.text()
+ if texte.find(filtre) == 0 :
+ palette = QPalette(Qt.red)
+ palette.setColor(QPalette.WindowText,Qt.red)
+ courant.setPalette(palette)
+ courant.setText(texte)
+ self.listeRouge.append(i)
- def ajoutLEResultat (self,index,valeur=None):
- #print ('ajoutLEResultat', index, valeur)
- nomLE="LEResultat"+str(index)
- if not (hasattr(self,nomLE)) :
- nouveauLE = LECustom(self.scrollAreaRE,self,index)
- nouveauLE.setFrame(False)
- self.CBChoisis.insertWidget(self.ouAjouter,nouveauLE)
- self.ouAjouter=self.ouAjouter+1
- nouveauLE.setReadOnly(True)
+ def cleanListeResultatFiltre(self):
+ self.LEFiltre.setText('')
+ self.prepareListeResultatFiltre()
+
+ def ajoutLEResultat (self,index,valeur=None):
+ #print ('ajoutLEResultat', index, valeur)
+ nomLE="LEResultat"+str(index)
+ if not (hasattr(self,nomLE)) :
+ nouveauLE = LECustom(self.scrollAreaRE,self,index)
+ nouveauLE.setFrame(False)
+ self.CBChoisis.insertWidget(self.ouAjouter,nouveauLE)
+ self.ouAjouter=self.ouAjouter+1
+ nouveauLE.setReadOnly(True)
+ if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
+ else : nouveauLE.setStyleSheet("background:rgb(240,240,240)")
+ self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar()
+ self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
+ setattr(self,nomLE,nouveauLE)
+ self.estVisibleRE=nouveauLE
+ else :
+ nouveauLE=getattr(self,nomLE)
+
+ if valeur == None : nouveauLE.setText("")
+ else : nouveauLE.setText(str(valeur))
+
+ def ajoutLE(self,index,valeur=None):
+ #print ('ajoutLE')
+ nomLE="lineEditVal"+str(index)
+ nouveauLE = MonLabelListeClic(self)
+ #self.CBLayout.addWidget(nouveauLE)
+ self.CBLayout.insertWidget(index -1,nouveauLE)
+ self.listeLE.append(nouveauLE)
+ nouveauLE.setFrameShape(QFrame.NoFrame)
+ QApplication.processEvents()
+ nouveauLE.setText("")
if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
- else : nouveauLE.setStyleSheet("background:rgb(240,240,240)")
- self.vScrollBarRE = self.scrollAreaRE.verticalScrollBar()
- self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
+ else : nouveauLE.setStyleSheet("background:rgb(240,240,240)")
+ self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
+ nouveauLE.setFocus()
setattr(self,nomLE,nouveauLE)
- self.estVisibleRE=nouveauLE
- else :
- nouveauLE=getattr(self,nomLE)
- if valeur == None : nouveauLE.setText("")
- else : nouveauLE.setText(str(valeur))
-
- def ajoutLE(self,index,valeur=None):
- #print ('ajoutLE')
- nomLE="lineEditVal"+str(index)
- nouveauLE = MonLabelListeClic(self)
- #self.CBLayout.addWidget(nouveauLE)
- self.CBLayout.insertWidget(index -1,nouveauLE)
- self.listeLE.append(nouveauLE)
- nouveauLE.setFrameShape(QFrame.NoFrame)
- QApplication.processEvents()
- nouveauLE.setText("")
- if index % 2 == 1 : nouveauLE.setStyleSheet("background:rgb(210,210,210)")
- else : nouveauLE.setStyleSheet("background:rgb(240,240,240)")
- self.vScrollBar.triggerAction(QScrollBar.SliderToMaximum)
- nouveauLE.setFocus()
- setattr(self,nomLE,nouveauLE)
-
- def ajoutLineEdit(self):
- #print ('ajoutLineEdit')
- self.indexDernierLabel=self.indexDernierLabel+1
- self.ajoutLEResultat (self.indexDernierLabel)
+ def ajoutLineEdit(self):
+ #print ('ajoutLineEdit')
+ self.indexDernierLabel=self.indexDernierLabel+1
+ self.ajoutLEResultat (self.indexDernierLabel)
- def traiteClicSurLabelListe(self,valeur):
+ def traiteClicSurLabelListe(self,valeur):
if valeur == None : return
liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
if validite == 0 : return
self.listeValeursCourantes=self.node.item.getListeValeurs()
min,max = self.node.item.getMinMax()
- if len(self.listeValeursCourantes) +1 > max :
- self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
- return
+ if len(self.listeValeursCourantes) +1 > max :
+ self.editor.afficheInfos(tr("Nombre maximal de valeurs : ") + str(max),Qt.red)
+ return
else :
- self.editor.afficheInfos("")
+ self.editor.afficheInfos("")
affiche=False
for i in range(1,self.indexDernierLabel+1):
- nomLE="LEResultat"+str(i)
- courant=getattr(self,nomLE)
- if str(courant.text())==str("") :
- courant.setText(valeur)
- courant.setReadOnly(True)
- affiche=True
- self.estVisibleRE=courant
- QTimer.singleShot(1, self.rendVisibleLigneRE)
- break
-
+ nomLE="LEResultat"+str(i)
+ courant=getattr(self,nomLE)
+ if str(courant.text())==str("") :
+ courant.setText(valeur)
+ courant.setReadOnly(True)
+ affiche=True
+ self.estVisibleRE=courant
+ QTimer.singleShot(1, self.rendVisibleLigneRE)
+ break
+
if affiche == False:
- self.indexDernierLabel = self.indexDernierLabel+1
- self.ajoutLEResultat (self.indexDernierLabel,str(valeur))
- self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
- QTimer.singleShot(1, self.rendVisibleLigneRE)
+ self.indexDernierLabel = self.indexDernierLabel+1
+ self.ajoutLEResultat (self.indexDernierLabel,str(valeur))
+ self.vScrollBarRE.triggerAction(QScrollBar.SliderToMaximum)
+ QTimer.singleShot(1, self.rendVisibleLigneRE)
self.changeValeur()
self.setValeurs(first=False)
- def changeValeur(self,changeDePlace=False,oblige=False):
+ def changeValeur(self,changeDePlace=False,oblige=False):
#def changeValeur(self,changeDePlace=False,oblige=False, numero=None):
#PN les 2 arg sont pour que la signature de ma fonction soit identique a monWidgetPlusieursBase
+ print ('changeValeur de objet')
listeVal=[]
for i in range(1,self.indexDernierLabel+1):
- nomLE="LEResultat"+str(i)
- courant=getattr(self,nomLE)
- valeur=courant.text()
- if str(valeur)=="" : continue
- liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
- listeVal.append(str(valeur))
+ nomLE="LEResultat"+str(i)
+ courant=getattr(self,nomLE)
+ valeur=courant.text()
+ if str(valeur)=="" : continue
+ liste,validite=SaisieValeur.TraiteLEValeur(self,str(valeur))
+ listeVal.append(str(valeur))
validite,comm,comm2,listeRetour=self.politique.ajoutValeurs(listeVal,-1,[])
-
+
self.listeValeursCourantes=self.node.item.getListeValeurs()
min,max = self.node.item.getMinMax()
- if len(self.listeValeursCourantes) < min :
- self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
+ if len(self.listeValeursCourantes) < min :
+ self.editor.afficheInfos(tr("Nombre minimal de valeurs : ") + str(min),Qt.red)
else :
- self.editor.afficheInfos("")
-
+ self.editor.afficheInfos("")
+
if len(listeRetour) == 0 :
- self.node.item.setValeur(None)
+ self.node.item.setValeur(None)
elif validite :
- self.node.item.setValeur(listeRetour)
+ self.node.item.setValeur(listeRetour)
else :
- commentaire=comm+" "+comm2
- self.editor.afficheInfos(commentaire,Qt.red)
+ commentaire=comm+" "+comm2
+ self.editor.afficheInfos(commentaire,Qt.red)
self.setValide()
+ self.reaffiche()
+ print ('changeValeur de objet')
#
- def rendVisibleLigneRE(self):
- QApplication.processEvents()
- self.estVisibleRE.setFocus()
- self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0)
+ def rendVisibleLigneRE(self):
+ QApplication.processEvents()
+ self.estVisibleRE.setFocus()
+ self.scrollArea.ensureWidgetVisible(self.estVisibleRE,0,0)
#
- def rendVisibleLigne(self):
- self.estVisibleRE=self.estVisible
- #rendVisibleLigneRE()
-
-
+ def rendVisibleLigne(self):
+ self.estVisibleRE=self.estVisible
+ #rendVisibleLigneRE()