Salome HOME
b5d2a322139d8b6846057c929227e6d2b3ead3dc
[tools/eficas.git] / InterfaceQT4 / compocomm.py
1 # -*- coding: utf-8 -*-
2 #            CONFIGURATION MANAGEMENT OF EDF VERSION
3 # ======================================================================
4 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
5 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
6 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
7 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
8 # (AT YOUR OPTION) ANY LATER VERSION.
9 #
10 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
11 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
12 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
13 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14 #
15 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
16 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
17 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
18 #
19 #
20 # ======================================================================
21
22 from PyQt4.QtGui import *
23 from PyQt4.QtCore import *
24 import string
25
26 from Editeur     import Objecttreeitem
27 import browser
28 import typeNode
29
30
31 class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
32     def getPanel( self ):
33         """
34         """
35         from monCommentairePanel import MonCommentairePanel
36         return MonCommentairePanel(self,parent=self.editor)
37
38     def createPopUpMenu(self):
39         typeNode.PopUpMenuNodePartiel.createPopUpMenu(self)
40         self.Decommente = QAction('Decommenter',self.tree)
41         self.tree.connect(self.Decommente,SIGNAL("activated()"),self.Decommenter)
42         self.Decommente.setStatusTip("Decommente la commande ")
43
44         if hasattr(self.item,'uncomment'):
45            self.menu.addAction(self.Decommente)
46
47     def Decommenter(self) :
48         item= self.tree.currentItem()
49         item.unCommentIt()
50
51     def update_node_label(self) :
52         """
53         """
54         debComm=self.item.GetText()
55         self.setText(1,debComm)
56
57
58     
59 class COMMTreeItem(Objecttreeitem.ObjectTreeItem):
60     itemNode=Node    
61
62     def init(self):
63       self.setfunction = self.set_valeur
64
65     def GetIconName(self):
66       """
67       Retourne le nom de l'icône associée au noeud qui porte self,
68       dépendant de la validité de l'objet
69       NB : un commentaire est toujours valide ...
70       """
71       return "ast-white-percent"
72
73     def GetLabelText(self):
74         """ Retourne 3 valeurs :
75         - le texte à afficher dans le noeud représentant l'item
76         - la fonte dans laquelle afficher ce texte
77         - la couleur du texte
78         """
79         return 'commentaire'   #CS_pbruno,Fonte_Commentaire,None
80
81     def get_valeur(self):
82       """
83       Retourne la valeur de l'objet Commentaire cad son texte
84       """
85       return self.object.get_valeur() or ''
86     
87     def GetText(self):
88         texte = self.object.valeur
89         texte = string.split(texte,'\n')[0]
90         if len(texte) < 25 :
91             return texte
92         else :
93             return texte[0:24]
94
95     def set_valeur(self,valeur):
96       """
97       Afecte valeur à l'objet COMMENTAIRE
98       """
99       self.object.set_valeur(valeur)
100       
101     def GetSubList(self):
102       """
103       Retourne la liste des fils de self
104       """
105       return []
106
107
108     def get_objet_commentarise(self):
109        """
110            La méthode get_objet_commentarise() de la classe compocomm.COMMTreeItem
111            surcharge la méthode get_objet_commentarise de la classe Objecttreeitem.ObjectTreeItem
112            elle a pour but d'empecher l'utilisateur final de commentariser un commentaire.
113        """
114        raise Exception( 'Impossible de commentariser un commentaire' )
115   
116 import Extensions
117 treeitem =COMMTreeItem
118 objet = Extensions.commentaire.COMMENTAIRE