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     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       texte = string.split(texte,'\n')[0]
76       if len(texte) < 25 :
77           return texte
78       else :
79           return texte[0:24]+'...'
80
81     def GetSubList(self):
82       """
83       Retourne la liste des fils de self
84       """
85       return []
86     
87 # ---------------------------------------------------------------------------
88 #       Méthodes permettant la modification et la lecture des attributs
89 #       du paramêtre = API graphique du PARAMETRE pour Panel et EFICAS
90 # ---------------------------------------------------------------------------
91
92     def get_valeur(self):
93       """
94       Retourne la valeur de l'objet PARAMETRE cad son texte
95       """
96       if self.object.valeur is None: return ''
97       else: return self.object.valeur 
98
99     def get_nom(self):
100       """
101       Retourne le nom du paramêtre
102       """
103       return self.object.nom
104
105     def set_valeur(self,new_valeur):
106       """
107       Affecte valeur à l'objet PARAMETRE
108       """
109       self.object.set_valeur(new_valeur)
110
111     def set_nom(self,new_nom):
112       """
113       Renomme le paramêtre
114       """
115       self.object.set_nom(new_nom)
116       #self.object.set_attribut('nom',new_nom)
117
118     def get_fr(self):
119       """
120       Retourne le fr associé au paramêtre, cad la bulle d'aide pour EFICAS
121       """
122       return "Définition d'un paramêtre"
123     
124 import Extensions.parametre
125 treeitem =PARAMTreeItem
126 objet = Extensions.parametre.PARAMETRE