1 # -*- coding: utf-8 -*-
2 # Copyright (C) 2007-2013 EDF R&D
4 # This library is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU Lesser General Public
6 # License as published by the Free Software Foundation; either
7 # version 2.1 of the License.
9 # This library is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 # Lesser General Public License for more details.
14 # You should have received a copy of the GNU Lesser General Public
15 # License along with this library; if not, write to the Free Software
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
23 from determine import monEnvQT5
25 from PyQt5.QtWidgets import QAction
27 from PyQt4.QtGui import *
28 from PyQt4.QtCore import *
30 from Editeur import Objecttreeitem
33 from Extensions.i18n import tr
34 from Extensions.eficas_exception import EficasException
37 class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
41 from monWidgetCommentaire import MonWidgetCommentaire
42 return MonWidgetCommentaire(self,self.editor,self.item.object)
44 def createPopUpMenu(self):
45 typeNode.PopUpMenuNodePartiel.createPopUpMenu(self)
46 self.Decommente = QAction(tr("Decommenter"),self.tree)
47 if monEnvQT5 : self.tree.connect(self.Decommente,SIGNAL("triggered()"),self.Decommenter)
48 else : self.Decommente.triggered(self.Decommenter)
49 self.Decommente.setStatusTip(tr("Decommente la commande "))
51 if hasattr(self.item,'uncomment'):
52 self.menu.addAction(self.Decommente)
54 def Decommenter(self) :
55 item= self.tree.currentItem()
58 def update_node_label(self) :
61 debComm=self.item.GetText()
62 self.setText(1,debComm)
66 class COMMTreeItem(Objecttreeitem.ObjectTreeItem):
70 self.setfunction = self.set_valeur
72 def GetIconName(self):
74 Retourne le nom de l'icône associée au noeud qui porte self,
75 dépendant de la validité de l'objet
76 NB : un commentaire est toujours valide ...
78 return "ast-white-percent"
80 def GetLabelText(self):
81 """ Retourne 3 valeurs :
82 - le texte à afficher dans le noeud représentant l'item
83 - la fonte dans laquelle afficher ce texte
86 return tr('Commentaire'),None,None
90 Retourne la valeur de l'objet Commentaire cad son texte
92 return self.object.get_valeur() or ''
95 texte = self.object.valeur
96 texte = string.split(texte,'\n')[0]
102 def set_valeur(self,valeur):
104 Afecte valeur à l'objet COMMENTAIRE
106 self.object.set_valeur(valeur)
108 def GetSubList(self):
110 Retourne la liste des fils de self
115 def get_objet_commentarise(self):
117 La méthode get_objet_commentarise() de la classe compocomm.COMMTreeItem
118 surcharge la méthode get_objet_commentarise de la classe Objecttreeitem.ObjectTreeItem
119 elle a pour but d'empecher l'utilisateur final de commentariser un commentaire.
121 raise EficasException( 'Impossible de commentariser un commentaire' )
124 treeitem =COMMTreeItem
125 objet = Extensions.commentaire.COMMENTAIRE