X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2Fcompomacro.py;h=64a9d63ff240800dad49e09ed5c33a0ce5e6a42c;hb=5a28801efd8fd7e6487d1957dabac40b1f932cb4;hp=aec67efe30042886c05712f3e8bbf549de3024ca;hpb=cdd358f4041f957701ac10d86766a85baaef4f78;p=tools%2Feficas.git diff --git a/InterfaceQT4/compomacro.py b/InterfaceQT4/compomacro.py index aec67efe..64a9d63f 100644 --- a/InterfaceQT4/compomacro.py +++ b/InterfaceQT4/compomacro.py @@ -1,55 +1,90 @@ # -*- coding: utf-8 -*- +# Copyright (C) 2007-2017 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 +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# # Modules Python -import os,sys,string +from __future__ import absolute_import +import os,sys import types import traceback # Modules Eficas from Editeur import Objecttreeitem -import compooper -import browser -import typeNode +from Extensions.i18n import tr +from InterfaceQT4 import compooper +from InterfaceQT4 import browser +from InterfaceQT4 import typeNode +from PyQt5.QtWidgets import QAction +from PyQt5.QtCore import Qt + class MACRONode(browser.JDCNode,typeNode.PopUpMenuNode): - def getPanel(self): - from monMacroPanel import MonMacroPanel - return MonMacroPanel (self,parent=self.editor ) + def getPanel(self): + from .monWidgetCommande import MonWidgetCommande + return MonWidgetCommande (self,self.editor ,self.item.object) + + def createPopUpMenu(self): typeNode.PopUpMenuNode.createPopUpMenu(self) - - #def doPaste(self,node_selected): - # print 'je suis la' - # objetACopier = self.item.get_copie_objet() - # child=self.append_brother(objetACopier) - # return child + if ("AFFE_CARA_ELEM" in self.item.getGenealogie()) and self.editor.salome: + self.ViewElt = QAction(tr('View3D'),self.tree) + self.ViewElt.triggered.connect(self.view3D) + self.ViewElt.setStatusTip(tr("affiche dans Geom les elements de structure")) + self.menu.addAction(self.ViewElt) + if self.item.isValid() : + self.ViewElt.setEnabled(1) + else: + self.ViewElt.setEnabled(0) + + def view3D(self) : + from Editeur import TroisDPal + troisD=TroisDPal.TroisDPilote(self.item,self.editor.appliEficas) + troisD.envoievisu() + class MACROTreeItem(compooper.EtapeTreeItem): -# """ Cette classe hérite d'une grande partie des comportements +# """ Cette classe herite d'une grande partie des comportements # de la classe compooper.EtapeTreeItem # """ itemNode=MACRONode # ------------------------------------ -# Classes necessaires à INCLUDE +# Classes necessaires a INCLUDE # ------------------------------------ class INCLUDETreeItemBase(MACROTreeItem): - def __init__(self,appli, labeltext, object, setfunction): - MACROTreeItem.__init__(self,appli, labeltext, object, setfunction) + def __init__(self,appli, labeltext, object, setFunction): + MACROTreeItem.__init__(self,appli, labeltext, object, setFunction) - def iscopiable(self): + def isCopiable(self): return 0 class INCLUDENode(browser.JDCNode,typeNode.PopUpMenuNode): + def getPanel(self): - from monIncludePanel import MonIncludePanel - return MonIncludePanel (self,parent=self.editor ) + from .monWidgetCommande import MonWidgetCommande + return MonWidgetCommande (self,self.editor ,self.item.object) def createPopUpMenu(self): typeNode.PopUpMenuNode.createPopUpMenu(self) @@ -57,13 +92,13 @@ class INCLUDENode(browser.JDCNode,typeNode.PopUpMenuNode): def makeEdit(self): #,appli,node if self.item.object.text_converted == 0: # Le texte du fichier inclus n'a pas pu etre converti par le module convert - msg="Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas\n\n" + msg=tr("Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas\n\n") msg=msg+self.item.object.text_error return if not hasattr(self.item.object,"jdc_aux") or self.item.object.jdc_aux is None: #L'include n'est pas initialise - self.item.object.build_include(None,"") + self.item.object.buildInclude(None,"") # On cree un nouvel onglet dans le bureau self.editor.vm.displayJDC( self.item.object.jdc_aux , self.item.object.jdc_aux.nom ) @@ -74,27 +109,28 @@ class INCLUDETreeItem(INCLUDETreeItemBase): # ------------------------------------ -# Classes necessaires à POURSUITE +# Classes necessaires a POURSUITE # ------------------------------------ class POURSUITENode(browser.JDCNode, typeNode.PopUpMenuNode): + def getPanel(self): - from monPoursuitePanel import MonPoursuitePanel - return MonPoursuitePanel (self,parent=self.editor ) + from .monWidgetCommande import MonWidgetCommande + return MonWidgetCommande (self,self.editor ,self.item.object) def createPopUpMenu(self): typeNode.PopUpMenuNode.createPopUpMenu(self) def makeEdit(self): #,appli,node if self.item.object.text_converted == 0: - msg="Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas\n\n" + msg=tr("Le fichier de commande n'a pas pu etre converti pour etre editable par Eficas\n\n") msg=msg+self.item.object.text_error return if not hasattr(self.item.object,"jdc_aux") or self.item.object.jdc_aux is None: text="""DEBUT() FIN()""" - self.object.build_poursuite(None,text) + self.object.buildPoursuite(None,text) # On cree un nouvel onglet dans le bureau self.editor.vm.displayJDC( self.item.object.jdc_aux , self.item.object.jdc_aux.nom) @@ -104,22 +140,22 @@ class POURSUITETreeItem(INCLUDETreeItemBase): # ---------------------------------------- -# Classes necessaires à INCLUDE MATERIAU +# Classes necessaires a INCLUDE MATERIAU # ---------------------------------------- class MATERIAUNode(MACRONode): def getPanel(self): - from monMacroPanel import MonMacroPanel - return MonMacroPanel (self,parent=self.editor ) + from .monWidgetCommande import MonWidgetCommande + return MonWidgetCommande (self,self.editor ,self.item.object) def createPopUpMenu(self): typeNode.PopUpMenuNode.createPopUpMenu(self) def makeView(self) : if hasattr(self.item.object,'fichier_ini') and self.item.object.fichier_ini==None: - QMessageBox.information( self, "Include vide","L'include doit etre correctement initialisé pour etre visualisé") + QMessageBox.information( self,tr("Include vide"),tr("L'include doit etre correctement initialise pour etre visualise")) return f = open(self.item.object.fichier_ini, "rb") texte = f.read() @@ -138,18 +174,18 @@ class INCLUDE_MATERIAUTreeItem(INCLUDETreeItemBase): # ------------------------------------ -def treeitem(appli, labeltext, object, setfunction=None): +def treeitem(appli, labeltext, object, setFunction=None): """ Factory qui retourne l'item adapte au type de macro : INCLUDE, POURSUITE, MACRO """ if object.nom == "INCLUDE_MATERIAU": - return INCLUDE_MATERIAUTreeItem(appli, labeltext, object, setfunction) - elif object.nom == "INCLUDE": - return INCLUDETreeItem(appli, labeltext, object, setfunction) + return INCLUDE_MATERIAUTreeItem(appli, labeltext, object, setFunction) + elif object.nom == "INCLUDE" or object.nom== "DICTDATA": + return INCLUDETreeItem(appli, labeltext, object, setFunction) elif object.nom == "POURSUITE": - return POURSUITETreeItem(appli, labeltext, object, setfunction) + return POURSUITETreeItem(appli, labeltext, object, setFunction) else: - return MACROTreeItem(appli, labeltext, object, setfunction) + return MACROTreeItem(appli, labeltext, object, setFunction) import Accas objet=Accas.MACRO_ETAPE