Salome HOME
Modif V6_4_°
[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, types
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     def doPaste(self,node_selected):
29         return None
30
31
32
33 class PARAMTreeItem(Objecttreeitem.ObjectTreeItem):
34     """
35     Classe servant à définir l'item porté par le noeud de l'arbre d'EFICAS
36     qui représente le PARAMETRE
37     """
38     itemNode=Node
39
40     def init(self):      
41       self.setfunction = self.set_valeur
42
43 # ---------------------------------------------------------------------------
44 #                   API du PARAMETRE pour l'arbre 
45 # ---------------------------------------------------------------------------
46
47     def GetIconName(self):
48       """
49       Retourne le nom de l'icone associée au noeud qui porte self,
50       dépendant de la validité de l'objet
51       NB : un PARAMETRE est toujours valide ...
52       """
53       if self.isactif():
54           if self.isvalid():
55               return "ast-green-square"
56           else:
57               return "ast-red-square"
58       else:
59           return "ast-white-square"
60
61     def GetLabelText(self):
62         """ Retourne 3 valeurs :
63         - le texte à afficher dans le noeud représentant l'item
64         - la fonte dans laquelle afficher ce texte
65         - la couleur du texte
66         """
67         return 'PARAMETRE',None,None 
68
69     def GetText(self):
70       """
71       Retourne le texte à afficher aprês le nom de la commande (ici apres 'paramêtre')
72       Ce texte est tronqué à 25 caractêres
73       """
74       texte=self.object.nom+"="+str(self.object.valeur)
75       if type(self.object.valeur) == types.ListType :
76           texte=self.nom+' = ['
77           for l in self.object.valeur :
78             texte=texte+str(l) +","
79           texte=texte[0:-1]+']'
80       texte = string.split(texte,'\n')[0]
81       if len(texte) < 25 :
82           return texte
83       else :
84           return texte[0:24]+'...'
85
86     def GetSubList(self):
87       """
88       Retourne la liste des fils de self
89       """
90       return []
91     
92 # ---------------------------------------------------------------------------
93 #       Méthodes permettant la modification et la lecture des attributs
94 #       du paramêtre = API graphique du PARAMETRE pour Panel et EFICAS
95 # ---------------------------------------------------------------------------
96
97     def get_valeur(self):
98       """
99       Retourne la valeur de l'objet PARAMETRE cad son texte
100       """
101       if self.object.valeur is None: return ''
102       else: return self.object.valeur 
103
104     def get_nom(self):
105       """
106       Retourne le nom du paramêtre
107       """
108       return self.object.nom
109
110     def set_valeur(self,new_valeur):
111       """
112       Affecte valeur à l'objet PARAMETRE
113       """
114       self.object.set_valeur(new_valeur)
115
116     def set_nom(self,new_nom):
117       """
118       Renomme le paramêtre
119       """
120       self.object.set_nom(new_nom)
121       #self.object.set_attribut('nom',new_nom)
122
123     def get_fr(self):
124       """
125       Retourne le fr associé au paramêtre, cad la bulle d'aide pour EFICAS
126       """
127       return "Définition d'un paramêtre"
128     
129 import Extensions.parametre
130 treeitem =PARAMTreeItem
131 objet = Extensions.parametre.PARAMETRE