1 # CONFIGURATION MANAGEMENT OF EDF VERSION
2 # ======================================================================
3 # COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
4 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
5 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
6 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
7 # (AT YOUR OPTION) ANY LATER VERSION.
9 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
10 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
11 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
12 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
14 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
15 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
16 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
21 import string,types,os
24 from copy import copy,deepcopy
32 from widgets import ListeChoix
33 from widgets import FenetreDeSelection
35 from Noyau.N_CR import justify_text
36 from utils import substract_list
39 from uniquepanel import UNIQUE_Panel
42 class UNIQUE_BASE_Panel(UNIQUE_Panel):
44 Classe servant à définir le panneau associé aux mots-clés simples qui attendent
45 une valeur d'un type de base (entier, réel ou string).
47 def makeValeurPage(self,page):
49 Génère la page de saisie de la valeur du mot-clé simple courant qui doit être de type
50 de base cad entier, réel, string ou complexe
52 # Récupération de l'aide associée au panneau, de l'aide destinée à l'utilisateur,
53 # et de la liste des SD du bon type (constituant la liste des choix)
54 bulle_aide=self.get_bulle_aide()
56 aide= justify_text(texte=aide)
57 liste_noms_sd = self.node.item.get_sd_avant_du_bon_type()
58 # Remplissage du panneau
59 self.frame_valeur = Frame(page)
60 self.frame_valeur.pack(fill='both',expand=1)
61 self.frame_valeur.bind("<Button-3>",lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a))
62 self.frame_valeur.bind("<ButtonRelease-3>",self.parent.appli.efface_aide)
63 self.label = Label(self.frame_valeur,text='Valeur :')
64 self.label.place(relx=0.1,rely=0.5)
65 self.entry = Entry(self.frame_valeur,relief='sunken')
66 self.entry.place(relx=0.28,rely=0.5,relwidth=0.6)
67 self.entry.bind("<Return>",lambda e,c=self.valid_valeur:c())
69 # aide associée au panneau
70 self.frame_valeur.update()
71 self.aide = Label(self.frame_valeur,
73 wraplength=int(self.frame_valeur.winfo_width()*0.8),
75 self.aide.place(relx=0.5,rely=0.7,anchor='n')
76 # affichage de la valeur du MCS
81 Retourne la phrase d'aide indiquant de quel type doit être la valeur
82 du mot-clé simple fournie par l'utilisateur
84 mc = self.node.item.get_definition()
85 d_aides = { 'TXM' : "Une chaîne de caractères est attendue",
86 'R' : "Un réel est attendu",
87 'I' : "Un entier est attendu"}
89 commentaire=d_aides.get(type,"Type de base inconnu")
90 aideval=self.node.item.aide()
91 commentaire=commentaire +"\n"+ aideval
94 def get_bulle_aide(self):
96 Retourne la bulle d'aide associée au panneau et affichée par clic droit
98 return """Saisissez la valeur que vous voulez affecter au mot-clé simple
99 dans la zone de saisie et pressez <Return>"""
101 def display_valeur(self):
103 Affiche la valeur de l'objet pointé par self
105 valeur = self.node.item.get_valeur()
106 if valeur == None or valeur == '' : return # pas de valeur à afficher ...
107 self.entry.delete(0,END)
108 self.entry.insert(0,valeur)