# -*- 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 . import compooper
+from . import browser
+from . 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.get_genealogie()) 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):
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)
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
# ------------------------------------
-# 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
# ----------------------------------------
-# 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()
"""
if object.nom == "INCLUDE_MATERIAU":
return INCLUDE_MATERIAUTreeItem(appli, labeltext, object, setfunction)
- elif object.nom == "INCLUDE":
+ elif object.nom == "INCLUDE" or object.nom== "DICTDATA":
return INCLUDETreeItem(appli, labeltext, object, setfunction)
elif object.nom == "POURSUITE":
return POURSUITETreeItem(appli, labeltext, object, setfunction)