Salome HOME
*** empty log message ***
[tools/eficas.git] / InterfaceQT4 / compoparam.py
1 # -*- coding: utf-8 -*-
2 """
3    Ce module contient les classes permettant de définir les objets graphiques
4    représentant un objet de type PARAMETRE, cad le panneau et l'item de l'arbre
5    d'EFICAS
6 """
7
8 # import modules Python
9 import string
10
11 # import modules EFICAS
12 from Editeur     import Objecttreeitem
13 import browser
14 import typeNode
15
16
17 class Node(browser.JDCNode,typeNode.PopUpMenuNodePartiel): 
18     def getPanel(self):
19         """        
20         """    
21         from monParamPanel  import MonParamPanel
22         return MonParamPanel(self, parent=self.editor )
23
24     def createPopUpMenu(self):
25         typeNode.PopUpMenuNodePartiel.createPopUpMenu(self)
26         self.menu.removeAction(self.Documentation)
27
28
29
30 class PARAMTreeItem(Objecttreeitem.ObjectTreeItem):
31     """
32     Classe servant à définir l'item porté par le noeud de l'arbre d'EFICAS
33     qui représente le PARAMETRE
34     """
35     itemNode=Node
36
37     def init(self):      
38       self.setfunction = self.set_valeur
39
40 # ---------------------------------------------------------------------------
41 #                   API du PARAMETRE pour l'arbre 
42 # ---------------------------------------------------------------------------
43
44     def GetIconName(self):
45       """
46       Retourne le nom de l'icone associée au noeud qui porte self,
47       dépendant de la validité de l'objet
48       NB : un PARAMETRE est toujours valide ...
49       """
50       if self.isactif():
51           if self.isvalid():
52               return "ast-green-square"
53           else:
54               return "ast-red-square"
55       else:
56           return "ast-white-square"
57
58     def GetLabelText(self):
59         """ Retourne 3 valeurs :
60         - le texte à afficher dans le noeud représentant l'item
61         - la fonte dans laquelle afficher ce texte
62         - la couleur du texte
63         """
64         return 'PARAMETRE',None,None 
65
66     def GetText(self):
67       """
68       Retourne le texte à afficher aprês le nom de la commande (ici apres 'paramêtre')
69       Ce texte est tronqué à 25 caractêres
70       """
71       texte=self.object.nom+"="+str(self.object.valeur)
72       texte = string.split(texte,'\n')[0]
73       if len(texte) < 25 :
74           return texte
75       else :
76           return texte[0:24]+'...'
77
78     def GetSubList(self):
79       """
80       Retourne la liste des fils de self
81       """
82       return []
83     
84 # ---------------------------------------------------------------------------
85 #       Méthodes permettant la modification et la lecture des attributs
86 #       du paramêtre = API graphique du PARAMETRE pour Panel et EFICAS
87 # ---------------------------------------------------------------------------
88
89     def get_valeur(self):
90       """
91       Retourne la valeur de l'objet PARAMETRE cad son texte
92       """
93       if self.object.valeur is None: return ''
94       else: return self.object.valeur 
95
96     def get_nom(self):
97       """
98       Retourne le nom du paramêtre
99       """
100       return self.object.nom
101
102     def set_valeur(self,new_valeur):
103       """
104       Affecte valeur à l'objet PARAMETRE
105       """
106       self.object.set_valeur(new_valeur)
107
108     def set_nom(self,new_nom):
109       """
110       Renomme le paramêtre
111       """
112       self.object.set_nom(new_nom)
113       #self.object.set_attribut('nom',new_nom)
114
115     def get_fr(self):
116       """
117       Retourne le fr associé au paramêtre, cad la bulle d'aide pour EFICAS
118       """
119       return "Définition d'un paramêtre"
120     
121 import Extensions.parametre
122 treeitem =PARAMTreeItem
123 objet = Extensions.parametre.PARAMETRE