# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 EDF R&D
+# Copyright (C) 2007-2021 EDF R&D
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
#
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from determine import monEnvQT5
-if monEnvQT5:
- from PyQt5.QtWidgets import QAction, QMenu
-else :
- from PyQt4.QtGui import *
- from PyQt4.QtCore import *
+from __future__ import absolute_import
+try :
+ from builtins import object
+except : pass
+
+from PyQt5.QtWidgets import QAction, QMenu, QMessageBox
from Extensions.i18n import tr
import types
-
-
#---------------------------#
-class PopUpMenuRacine :
+class PopUpMenuRacine(object) :
#---------------------------#
-
def createPopUpMenu(self):
#print "createPopUpMenu"
self.ParamApres = QAction(tr('Parametre'),self.tree)
- if monEnvQT5 :
- self.ParamApres.triggered.connect(self.addParametersApres)
- else :
- self.tree.connect(self.ParamApres,SIGNAL("triggered()"),self.addParametersApres)
+ self.ParamApres.triggered.connect(self.addParametersApres)
self.ParamApres.setStatusTip(tr("Insere un parametre"))
self.menu = QMenu(self.tree)
self.menu.addAction(self.ParamApres)
item.addParameters(True)
#---------------------------#
-class PopUpMenuNodeMinimal :
+class PopUpMenuNodeMinimal(object) :
#---------------------------#
def createPopUpMenu(self):
- #print "createPopUpMenu"
+ #print ("createPopUpMenu")
#self.appliEficas.salome=True
- if monEnvQT5 : self.createActions()
- else : self.createActionsQT4()
+ self.createActions()
self.menu = QMenu(self.tree)
#self.menu.setStyleSheet("background:rgb(235,235,235); QMenu::item:selected { background-color: red; }")
#ne fonctionne pas --> la ligne de commentaire devient rouge
#items du menu
self.menu.addAction(self.Supprime)
if hasattr(self.appliEficas, 'mesScripts'):
- if self.editor.code in self.editor.appliEficas.mesScripts.keys() :
- self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes
- if self.tree.currentItem().item.get_nom() in self.dict_commandes_mesScripts.keys() :
- self.ajoutScript()
-
- def ajoutScript(self):
+ 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.keys() :
- self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes
+ 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[self.tree.currentItem().item.get_nom()]
- if type(listeCommandes) != types.TupleType: listeCommandes=(listeCommandes,)
+
+ 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 monEnvQT5 :
- 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
- else:
- if numero==4:
- self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction4)
- if numero==3:
- self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction3)
- numero=4
- if numero==2:
- self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction2)
- numero=3
- if numero==1:
- self.tree.connect(self.action,SIGNAL("triggered()"),self.AppelleFonction1)
- numero=2
- if numero==0:
- self.tree.connect(self.action,SIGNAL("triggered()"),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):
+ 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.get_nom()
+ nomCmd=nodeTraite.item.getNom()
if hasattr(self.appliEficas, 'mesScripts'):
- if self.editor.code in self.editor.appliEficas.mesScripts.keys() :
- self.dict_commandes_mesScripts=self.appliEficas.mesScripts[self.editor.code].dict_commandes
+ 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
+
+
+ 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))
+ listeparam.append(getattr(nodeTraite,p))
if p=="self" : listeparam.append(self)
- print listeparam
-
+
try :
- res, commentaire= fonction(listeparam)
- if not res :
- QMessageBox.warning( None,
- tr("echec de la fonction"),
- tr(commentaire),)
- return
+ res, commentaire= fonction(listeparam)
+ if not res :
+ QMessageBox.warning( None,
+ tr("echec de la fonction"),
+ tr(commentaire),)
+ return
except :
- fonction(listeparam)
-
+ pass
- def createActionsQT4(self):
- self.CommApres = QAction(tr('apres'),self.tree)
- self.tree.connect(self.CommApres,SIGNAL("triggered()"),self.addCommApres)
- self.CommApres.setStatusTip(tr("Insere un commentaire apres la commande "))
- self.CommAvant = QAction(tr('avant'),self.tree)
- self.tree.connect(self.CommAvant,SIGNAL("triggered()"),self.addCommAvant)
- self.CommAvant.setStatusTip(tr("Insere un commentaire avant la commande "))
- self.ParamApres = QAction(tr('apres'),self.tree)
- self.tree.connect(self.ParamApres,SIGNAL("triggered()"),self.addParametersApres)
- self.ParamApres.setStatusTip(tr("Insere un parametre apres la commande "))
- self.ParamAvant = QAction(tr('avant'),self.tree)
- self.tree.connect(self.ParamAvant,SIGNAL("triggered()"),self.addParametersAvant)
- self.ParamAvant.setStatusTip(tr("Insere un parametre avant la commande "))
-
- self.Supprime = QAction(tr('Supprimer'),self.tree)
- self.tree.connect(self.Supprime,SIGNAL("triggered()"),self.supprimeNoeud)
- self.Supprime.setStatusTip(tr("supprime le mot clef "))
- self.Documentation = QAction(tr('Documentation'),self.tree)
- self.tree.connect(self.Documentation,SIGNAL("triggered()"),self.viewDoc)
def createActions(self):
self.CommApres = QAction(tr('apres'),self.tree)
def viewDoc(self):
self.node=self.tree.currentItem()
- cle_doc = self.node.item.get_docu()
+ cle_doc = self.node.item.getDocu()
if cle_doc == None :
QMessageBox.information( self.editor,tr( "Documentation Vide"), \
tr("Aucune documentation n'est associee a ce noeud"))
return
- commande = self.editor.appliEficas.CONFIGURATION.exec_acrobat
+ commande = self.editor.appliEficas.maConfiguration.exec_acrobat
try :
f=open(commande,"rb")
except :
- texte=tr("impossible de trouver la commande ") + commande
- QMessageBox.information( self.editor, tr("Lecteur PDF"), texte)
- return
+ texte=tr("impossible de trouver la commande ") + commande
+ QMessageBox.information( self.editor, tr("Lecteur PDF"), texte)
+ return
import os
if cle_doc.startswith('http:'):
- fichier = cle_doc
+ fichier = cle_doc
else :
- fichier = os.path.abspath(os.path.join(self.editor.CONFIGURATION.path_doc,
+ fichier = os.path.abspath(os.path.join(self.editor.maConfiguration.path_doc,
cle_doc))
try :
- f=open(fichier,"rb")
+ f=open(fichier,"rb")
except :
- texte=tr("impossible d'ouvrir ") + fichier
- QMessageBox.information( self.editor, tr("Documentation Vide"), texte)
- return
+ texte=tr("impossible d'ouvrir ") + fichier
+ QMessageBox.information( self.editor, tr("Documentation Vide"), texte)
+ return
+
-
if os.name == 'nt':
- os.spawnv(os.P_NOWAIT,commande,(commande,fichier,))
+ os.spawnv(os.P_NOWAIT,commande,(commande,fichier,))
elif os.name == 'posix':
script ="#!/usr/bin/sh \n%s %s&" %(commande,fichier)
pid = os.system(script)
item= self.tree.currentItem()
item.addComment(False)
+ def deplieCeNiveau(self):
+ item= self.tree.currentItem()
+ item.deplieCeNiveau()
+
#--------------------------------------------#
class PopUpMenuNodePartiel (PopUpMenuNodeMinimal):
#---------------------------------------------#
self.commentMenu.addAction(self.CommApres)
self.commentMenu.addAction(self.CommAvant)
#ss-menu Parameters:
- self.paramMenu =self.menu.addMenu(tr('Parametre'))
+ self.paramMenu =self.menu.addMenu(tr('Parametre'))
self.paramMenu.addAction(self.ParamApres)
self.paramMenu.addAction(self.ParamAvant)
self.menu.addAction(self.Documentation)
def createPopUpMenu(self):
PopUpMenuNodePartiel.createPopUpMenu(self)
self.Commente = QAction(tr('ce noeud'),self.tree)
- self.Commente.triggered.connect(self.Commenter)
+ self.Commente.triggered.connect(self.commenter)
self.Commente.setStatusTip(tr("commente le noeud "))
self.commentMenu.addAction(self.Commente)
self.menu.removeAction(self.Supprime)
self.menu.addAction(self.Supprime)
- def Commenter(self):
+ def commenter(self):
item= self.tree.currentItem()
item.commentIt()