+ if hasattr(self.appliEficas, 'mesScripts'):
+ if self.editor.code in self.editor.appliEficas.mesScripts :
+ self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes
+ if self.tree.currentItem().item.getNom() in self.dict_commandes_mesScripts :
+ self.ajoutScript()
+
+ def ajoutScript(self):
+ # cochon mais je n arrive pas a faire mieux avec le mecanisme de plugin
+ # a revoir avec un menu et un connect sur le triggered sur le menu ?
+ if hasattr(self.appliEficas, 'mesScripts'):
+ if self.editor.code in self.editor.appliEficas.mesScripts :
+ self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes
+ else : return
+
+ from Extensions import jdc_include
+ if isinstance(self.item.jdc,jdc_include.JDC_INCLUDE) : return
+
+ listeCommandes=self.dict_commandes_mesScripts[self.tree.currentItem().item.getNom()]
+ if type(listeCommandes) != tuple: listeCommandes=(listeCommandes,)
+ numero=0
+ for commande in listeCommandes :
+ conditionSalome=commande[3]
+ if (self.appliEficas.salome == 0 and conditionSalome == True): return
+ label=commande[1]
+ tip=commande[5]
+ self.action=QAction(label,self.tree)
+ self.action.setStatusTip(tip)
+ if numero==4: self.action.triggered.connect(self.appelleFonction4)
+ if numero==3: self.action.triggered.connect(self.appelleFonction3); numero=4
+ if numero==2: self.action.triggered.connect(self.appelleFonction2); numero=3
+ if numero==1: self.action.triggered.connect(self.appelleFonction1); numero=2
+ if numero==0: self.action.triggered.connect(self.appelleFonction0); numero=1
+ self.menu.addAction(self.action)
+
+
+ def appelleFonction0(self):
+ self.appelleFonction(0)
+
+ def appelleFonction1(self):
+ self.appelleFonction(1)
+
+ def appelleFonction2(self):
+ self.appelleFonction(2)
+
+ def appelleFonction3(self):
+ self.appelleFonction(3)
+
+ def appelleFonction4(self):
+ self.appelleFonction(4)
+
+ def appelleFonction(self,numero,nodeTraite=None):
+ if nodeTraite==None : nodeTraite=self.tree.currentItem()
+ nomCmd=nodeTraite.item.getNom()
+ if hasattr(self.appliEficas, 'mesScripts'):
+ if self.editor.code in self.editor.appliEficas.mesScripts :
+ self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes
+ else : return
+ listeCommandes=self.dict_commandes_mesScripts[nomCmd]
+ commande=listeCommandes[numero]
+ conditionValid=commande[4]
+
+
+ if (nodeTraite.item.isValid() == 0 and conditionValid == True):
+ QMessageBox.warning( None,
+ tr("item invalide"),
+ tr("l item doit etre valide"),)
+ return
+ fonction=commande[0]
+ listenomparam=commande[2]
+ listeparam=[]
+ for p in listenomparam:
+ if hasattr(nodeTraite,p):
+ listeparam.append(getattr(nodeTraite,p))
+ if p=="self" : listeparam.append(self)
+
+ try :
+ res, commentaire= fonction(listeparam)
+ if not res :
+ QMessageBox.warning( None,
+ tr("echec de la fonction"),
+ tr(commentaire),)
+ return
+ except :
+ pass
+
+
+
+