# -*- coding: utf-8 -*-
-# Copyright (C) 2007-2013 EDF R&D
+# 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
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-from PyQt4 import *
-from PyQt4.QtGui import *
-from PyQt4.QtCore import *
-import browser
-import typeNode
+from __future__ import absolute_import
+from InterfaceQT4 import browser
+from InterfaceQT4 import typeNode
from Extensions.i18n import tr
from Editeur import Objecttreeitem
+import six
+import traceback
class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
- def getPanel(self):
- """
- """
- from monMCFactPanel import MonMCFactPanel
- return MonMCFactPanel(self,parent=self.editor)
- def getPanelGroupe(self,parentQt):
+ def getPanelGroupe(self,parentQt,commande,insertIn=-1):
maDefinition=self.item.get_definition()
monObjet=self.item.object
monNom=self.item.nom
+ maCommande=commande
if hasattr(parentQt,'niveau'): self.niveau=parentQt.niveau+1
else : self.niveau=1
+ #if hasattr(self,'plie') :print self.item.nom, self.plie
+ #if maDefinition.fenetreIhm == 'Tableau':
+ # from InterfaceQt4.monWidgetFact import MonWidgetFactTableau
+ # widget=MonWidgetFactTableau(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande)
+ #elif hasattr(self,'plie') and self.plie==True :
if hasattr(self,'plie') and self.plie==True :
- from monWidgetFactPlie import MonWidgetFactPlie
- widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau)
+ from InterfaceQT4.monWidgetFactPlie import MonWidgetFactPlie
+ widget=MonWidgetFactPlie(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn)
else:
- from monWidgetFact import MonWidgetFact
- widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau)
+ from InterfaceQT4.monWidgetFact import MonWidgetFact
+ widget=MonWidgetFact(self,self.editor,parentQt,maDefinition,monObjet,self.niveau,maCommande,insertIn)
return widget
class FACTTreeItem(Objecttreeitem.ObjectTreeItem):
itemNode=Node
- def IsExpandable(self):
+ def isExpandable(self):
return 1
- def GetText(self):
+ def getText(self):
return ''
- def GetLabelText(self):
+ def getLabelText(self):
""" Retourne 3 valeurs :
- le texte à afficher dans le noeud representant l'item
- la fonte dans laquelle afficher ce texte
- la couleur du texte
"""
# None --> fonte et couleur par defaut
- return self.object.getlabeltext(),None,None
+ if not(hasattr(self.object,'getLabelText')): return self.object.nom,None,None
+ return self.object.getLabelText(),None,None
- def isvalid(self):
- return self.object.isvalid()
+ def isValid(self):
+ return self.object.isValid()
- def iscopiable(self):
+ def isCopiable(self):
return 1
- def GetIconName(self):
- if self.object.isvalid():
+ def getIconName(self):
+ if self.object.isValid():
return "ast-green-los"
- elif self.object.isoblig():
+ elif self.object.isOblig():
return "ast-red-los"
else:
return "ast-yel-los"
- def keys(self):
- keys=self.object.mc_dict.keys()
- return keys
+ #PNPN ????
+ #def keys(self):
+ # keys=self.object.mc_dict
+ # return keys
- def GetSubList(self):
+ def getSubList(self):
"""
Reactualise la liste des items fils stockes dans self.sublist
"""
- liste=self.object.mc_liste
+ liste=self.object.mcListe
sublist=[None]*len(liste)
# suppression des items lies aux objets disparus
for item in self.sublist:
for obj in liste:
if sublist[pos] is None:
# nouvel objet : on cree un nouvel item
- def setfunction(value, object=obj):
+ def setFunction(value, object=obj):
object.setval(value)
- item = self.make_objecttreeitem(self.appli, obj.nom + " : ", obj, setfunction)
+ item = self.makeObjecttreeitem(self.appli, obj.nom + " : ", obj, setFunction)
sublist[pos]=item
pos=pos+1
self.sublist=sublist
return self.sublist
- def additem(self,name,pos):
- objet = self.object.addentite(name,pos)
+ def addItem(self,name,pos):
+ objet = self.object.addEntite(name,pos)
return objet
- def suppitem(self,item) :
+ def suppItem(self,item) :
"""
Cette methode a pour fonction de supprimer l'item passee en argument
des fils de l'item FACT qui est son pere
- item.getObject() = MCSIMP ou MCBLOC
"""
itemobject=item.getObject()
- if itemobject.isoblig() :
- self.appli.affiche_infos(tr('Impossible de supprimer un mot-cle obligatoire '),Qt.red)
- return 0
-
- if self.object.suppentite(itemobject):
- message = tr("Mot-cle %s supprime")+ unicode(itemobject.nom)
- self.appli.affiche_infos(message)
- return 1
+ if itemobject.isOblig() :
+ return (0, tr('Impossible de supprimer un mot-cle obligatoire '))
+
+ if self.object.suppEntite(itemobject):
+ message = tr("Mot-cle %s supprime")+ six.text_type(itemobject.nom)
+ return (1, message)
else:
- self.appli.affiche_infos(tr('Pb interne : impossible de supprimer ce mot-cle'),Qt.red)
- return 0
+ return (0,tr('Pb interne : impossible de supprimer ce mot-cle'))
import Accas
objet = Accas.MCFACT