+ #-----------------------------------#
+ def updateJdcEtape(self, itemApres,texte):
+ #------------------------------------#
+ # ajoute une etape de JdC a partir d un texte
+ monItem=itemApres
+ etape=monItem.item.object
+
+ CONTEXT.setCurrentStep(etape)
+ try :
+ ok=etape.buildIncludeEtape(texte)
+ except :
+ ok=0
+ if not ok :
+ QMessageBox.information( self,
+ tr("Import texte"),
+ tr("Impossible d importer le texte"))
+ self.tree.racine.buildChildren()
+ return ok
+
+ #-------------------------------------------#
+ def updateJdcAfterEtape(self, etape,texte):
+ #--------------------------------------------#
+ # ajoute une etape de JdC a partir d un texte
+ CONTEXT.setCurrentStep(etape)
+ try :
+ ok=etape.buildIncludeEtape(texte,doitEtreValide=0)
+ except :
+ ok=0
+ if not ok :
+ QMessageBox.information( self,
+ tr("Import texte"),
+ tr("Impossible d importer le texte"))
+ self.tree.racine.buildChildren()
+ return ok
+
+
+ #-------------------------------------#
+ def deleteEtape(self,etape):
+ #-------------------------------------#
+ # dans le JDC
+ self.jdc.suppEntite(etape)
+
+ #-------------------------------------#
+ def deleteMC(self,etape,MCFils,listeAvant=()):
+ #-------------------------------------#
+ # dans le JDC
+ ouChercher=etape
+ for mot in listeAvant :
+ ouChercher=ouChercher.getChild(mot,restreint="oui")
+ monMC=ouChercher.getChild(MCFils,restreint="oui")
+ if monMC != None : ouChercher.suppEntite(monMC)
+ ouChercher.state='changed'
+ ouChercher.isValid()
+
+ #-------------------------------------#
+ def ajoutMC(self,etape,MCFils,valeurs,listeAvant=()):
+ #-------------------------------------#
+ # dans le JDC
+ ouChercher=etape
+ for mot in listeAvant :
+ ouChercher=ouChercher.getChild(mot,restreint="oui")
+ monMC=etape.getChild(ouChercher,restreint="oui")
+ if monMC== None : monMC= ouChercher.addEntite(MCFils)
+ monMC.valeur=valeurs
+ monMC.val=valeurs
+ monMC.state='changed'
+ monMC.isValid()
+
+ #----------------------------------------------#
+ def ajoutMCFact(self,etape,MCFils,listeAvant=()):
+ #----------------------------------------------#
+ # dans le JDC
+ #print ('ajoutMCFact')
+ ouChercher=etape
+ #print (ouChercher)
+ for mot in listeAvant :
+ ouChercher=ouChercher.getChild(mot,restreint="oui")
+ #print (mot)
+ #print (ouChercher)
+ monMC=etape.getChild(ouChercher,restreint="oui")
+ if monMC== None : monMC= ouChercher.addEntite(MCFils)
+ monMC.isValid()
+
+
+ #-----------------------------------------
+ def initSplitterSizes(self, nbWidget=3):
+ #-----------------------------------------
+ #print ("je passe ds initSplitterSizes", nbWidget)
+
+ if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes3=[1,1550,150]
+ #elif self.code in [ 'MAP'] : self.splitterSizes3=[700,300]
+ else : self.splitterSizes3=[150,1000,300]
+
+ if self.code in [ 'Adao', 'ADAO','MAP' ] : self.splitterSizes2=[5,1500]
+ else : self.splitterSizes2=[300,1000]
+
+
+ #-----------------------------------------
+ def restoreSplitterSizes(self,nbWidget=3):
+ #----------------------------------------
+
+ #traceback.print_stack()
+ #print ("je passe ds restoreSplitterSizes")
+ if not(hasattr(self,'splitter')) : return
+ if nbWidget==2 : newSizes=self.splitterSizes2
+ if nbWidget==3 : newSizes=self.splitterSizes3
+ #self.inhibeSplitter = 1
+ self.splitter.setSizes(newSizes)
+ #self.inhibeSplitter = 0
+ QApplication.processEvents()
+ # seule la fentetre du milieu est necessaire
+ self.splitter.widget(1).resizeEvent=self.saveSplitterSizes
+
+ #-----------------------------------------
+ def saveSplitterSizes(self,event):
+ #-----------------------------------------
+ #print ("je passe ds saveSplitterSizes")
+ if self.inhibeSplitter : return
+ if self.widgetOptionnel == None : self.splitterSizes2 = self.splitter.sizes()[0:2]
+ else : self.splitterSizes3 = self.splitter.sizes()[0:3]
+
+ #------------------------
+ def fermeOptionnel(self):
+ #------------------------
+ if self.widgetOptionnel == None : return
+
+ self.inhibeSplitter=1
+ self.widgetOptionnel.setParent(None)
+ self.widgetOptionnel.close()
+ self.widgetOptionnel.deleteLater()
+ self.widgetOptionnel=None
+ self.inhibeSplitter=0
+ self.restoreSplitterSizes(2)
+
+ #------------------------
+ def ajoutOptionnel(self):
+ #------------------------
+ #if len(self.splitterSizes) == 2 : self.splitterSizes.append(self.oldSizeWidgetOptionnel)
+ #else : self.splitterSizes[2] = self.oldSizeWidgetOptionnel # ceinture pour les close bizarres
+ #self.splitterSizes[1] = self.splitterSizes[1] - self.splitterSizes[2]
+
+ self.restoreSplitterSizes(3)
+
+
+ #------------------------
+ def fermeArbre(self):
+ #------------------------
+ #print (self.widgetTree)
+ self.oldWidgetTree=self.widgetTree
+ self.widgetTree.hide()
+ #self.widgetTree=None
+
+ #------------------------
+ def ouvreArbre(self):
+ #------------------------
+ #print ('je passe la')
+ #print (self.widgetTree)
+ #self.widgetTree=self.oldWidgetTree
+ self.widgetTree.show()
+ #self.restoreSplitterSizes(3)
+
+ #-----------------------
+ def getEtapeCourante(self) :
+ #-----------------------
+ #print (self.tree.selectedItems())
+ if len(self.tree.selectedItems()) != 1 : return None
+ etape=self.tree.selectedItems()[0].item.object.getEtape()
+ return etape
+ #-----------------------------
+ def getTreeIndex(self,noeud):
+ #----------------------------
+ indexNoeud=-1
+ if noeud in noeud.treeParent.children :
+ indexNoeud=noeud.treeParent.children.index(noeud)
+ else :
+ if hasattr(noeud,'vraiParent') :
+ noeudVrai = noeud
+ noeudVraiParent = noeud.vraiParent
+ while noeudVraiParent != noeud.treeParent and hasattr(noeudVraiParent,'vraiParent') :
+ noeudVrai = noeudVraiParent
+ noeudVraiParent = noeudVraiParent.vraiParent
+ pass
+ if noeudVraiParent == noeud.treeParent :
+ indexNoeud=noeud.treeParent.children.index(noeudVrai)
+ pass
+ pass
+ pass
+ return indexNoeud
+
+ #-------------------# Pour execution avec output et error dans le bash
+ def runPSEN(self):
+ #-------------------#
+
+ #if self.modified or self.fichier==None : self.saveFile()
+ self.saveFile()