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