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
21 Ce module contient les classes permettant de définir les objets graphiques
22 représentant un objet de type PARAMETRE, cad le panneau et l'item de l'arbre
26 # import modules Python
28 from Extensions.i18n import tr
30 # import modules EFICAS
31 from Editeur import Objecttreeitem
36 class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel):
40 from monWidgetParam import MonWidgetParam
41 return MonWidgetParam(self, self.editor,self.item.object)
43 def createPopUpMenu(self):
44 typeNode.PopUpMenuNodePartiel.createPopUpMenu(self)
45 self.menu.removeAction(self.Documentation)
47 def doPaste(self,node_selected,pos='after'):
52 class PARAMTreeItem(Objecttreeitem.ObjectTreeItem):
54 Classe servant à définir l'item porté par le noeud de l'arbre d'EFICAS
55 qui représente le PARAMETRE
60 self.setfunction = self.set_valeur
62 # ---------------------------------------------------------------------------
63 # API du PARAMETRE pour l'arbre
64 # ---------------------------------------------------------------------------
66 def GetIconName(self):
68 Retourne le nom de l'icone associée au noeud qui porte self,
69 dépendant de la validité de l'objet
70 NB : un PARAMETRE est toujours valide ...
74 return "ast-green-square"
76 return "ast-red-square"
78 return "ast-white-square"
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('PARAMETRE'),None,None
90 Retourne le texte à afficher aprês le nom de la commande (ici apres 'parametre')
91 Ce texte est tronqué à 25 caractêres
93 texte=self.object.nom+"="+str(self.object.valeur)
94 if type(self.object.valeur) == types.ListType :
96 for l in self.object.valeur :
97 texte=texte+str(l) +","
99 texte = string.split(texte,'\n')[0]
103 return texte[0:24]+'...'
105 def GetSubList(self):
107 Retourne la liste des fils de self
111 # ---------------------------------------------------------------------------
112 # Méthodes permettant la modification et la lecture des attributs
113 # du parametre = API graphique du PARAMETRE pour Panel et EFICAS
114 # ---------------------------------------------------------------------------
116 def get_valeur(self):
118 Retourne la valeur de l'objet PARAMETRE cad son texte
120 if self.object.valeur is None: return ''
121 else: return self.object.valeur
125 Retourne le nom du parametre
127 return self.object.nom
129 def set_valeur(self,new_valeur):
131 Affecte valeur à l'objet PARAMETRE
133 self.object.set_valeur(new_valeur)
135 def set_nom(self,new_nom):
139 self.object.set_nom(new_nom)
140 #self.object.set_attribut('nom',new_nom)
144 Retourne le fr associé au parametre, cad la bulle d'aide pour EFICAS
146 return tr("Definition d'un parametre")
148 import Extensions.parametre
149 treeitem =PARAMTreeItem
150 objet = Extensions.parametre.PARAMETRE