# -*- 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)
- #self.menu.insertItem( qApp.translate('Browser','Edit'), self.makeEdit )
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 )
# ------------------------------------
-# 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)
- self.menu.insertItem( qApp.translate('Browser','Edit'), self.makeEdit )
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)
# ----------------------------------------
-# 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)
- self.menu.insertItem( qApp.translate('Browser','View'), self.makeView )
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()
# ------------------------------------
-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