From 765339d95abb3c18c06d21e6ee6083eedc5a9a39 Mon Sep 17 00:00:00 2001 From: eficas <> Date: Fri, 7 Oct 2005 07:53:21 +0000 Subject: [PATCH] pour les complexes de la forme 3+1j --- Editeur/uniquecomppanel.py | 37 ++++++++++++++++++++++++++----------- Editeur/uniquepanel.py | 5 +++-- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/Editeur/uniquecomppanel.py b/Editeur/uniquecomppanel.py index df1906a8..64f6d776 100644 --- a/Editeur/uniquecomppanel.py +++ b/Editeur/uniquecomppanel.py @@ -60,28 +60,32 @@ class UNIQUE_COMP_Panel(UNIQUE_Panel): self.frame_valeur.bind("",lambda e,s=self,a=bulle_aide : s.parent.appli.affiche_aide(e,a)) self.frame_valeur.bind("",self.parent.appli.efface_aide) self.label = Label(self.frame_valeur,text='Valeur :') - self.label.place(relx=0.1,rely=0.5) + self.label.place(relx=0.1,rely=0.7) self.typ_cplx=StringVar() self.typ_cplx.set('RI') rb1 = Radiobutton(self.frame_valeur, text='RI',variable=self.typ_cplx,value='RI') rb2 = Radiobutton(self.frame_valeur, text='MP',variable=self.typ_cplx,value='MP') + rb1.place(relx=0.05,rely = 0.6) + rb2.place(relx=0.05,rely = 0.8) self.entry1 = Pmw.EntryField(self.frame_valeur,validate='real') self.entry2 = Pmw.EntryField(self.frame_valeur,validate='real') - rb1.place(relx=0.05,rely = 0.4) - rb2.place(relx=0.05,rely = 0.6) + self.entry3 = Pmw.EntryField(self.frame_valeur) self.entry1.component('entry').bind("",lambda e,s=self:s.entry2.component('entry').focus()) - self.entry2.component('entry').bind("",lambda e,c=self.valid_valeur:c()) self.entry1.component('entry').bind("",lambda e,s=self:s.entry2.component('entry').focus()) + self.entry2.component('entry').bind("",lambda e,c=self.valid_valeur:c()) self.entry2.component('entry').bind("",lambda e,c=self.valid_valeur:c()) - self.entry1.place(relx=0.27,rely = 0.5,relwidth=0.35) - self.entry2.place(relx=0.65,rely = 0.5,relwidth=0.35) + self.entry3.component('entry').bind("",lambda e,c=self.valid_complexe:c()) + self.entry3.component('entry').bind("",lambda e,c=self.valid_complexe:c()) + self.entry1.place(relx=0.27,rely = 0.7,relwidth=0.35) + self.entry2.place(relx=0.65,rely = 0.7,relwidth=0.35) + self.entry3.place(relx=0.27,rely = 0.4,relwidth=0.60) self.entry1.focus() self.frame_valeur.update() self.aide = Label(self.frame_valeur, text = aide, wraplength=int(self.frame_valeur.winfo_width()*0.8), justify='center') - self.aide.place(relx=0.5,rely=0.7,anchor='n') + self.aide.place(relx=0.5,rely=0.9,anchor='n') # affichage de la valeur du MCS self.display_valeur() @@ -91,12 +95,20 @@ class UNIQUE_COMP_Panel(UNIQUE_Panel): """ valeur = self.node.item.get_valeur() if valeur == None or valeur == '' : return # pas de valeur à afficher ... - typ_cplx,x1,x2=valeur self.entry1.delete(0,END) self.entry2.delete(0,END) - self.typ_cplx.set(typ_cplx) - self.entry1.setentry(x1) - self.entry2.setentry(x2) + self.entry3.delete(0,END) + if type(valeur) not in (types.ListType,types.TupleType) : + self.display_complexe + else: + typ_cplx,x1,x2=valeur + self.typ_cplx.set(typ_cplx) + self.entry1.setentry(x1) + self.entry2.setentry(x2) + + def display_complexe(self): + valeur = self.node.item.get_valeur() + self.entry3.setentry(valeur) def get_bulle_aide(self): """ @@ -135,3 +147,6 @@ class UNIQUE_COMP_Panel(UNIQUE_Panel): self.entry1.delete(0,END) self.entry2.delete(0,END) + def valid_complexe(self): + valeurentree=self.entry3.get() + self.valid_valeur(valeurentree=valeurentree) diff --git a/Editeur/uniquepanel.py b/Editeur/uniquepanel.py index 82634a45..777fa77b 100644 --- a/Editeur/uniquepanel.py +++ b/Editeur/uniquepanel.py @@ -59,7 +59,7 @@ class UNIQUE_Panel(newSIMPPanel): return self.entry.get() - def valid_valeur(self): + def valid_valeur(self,valeurentree=None): """ Teste si la valeur fournie par l'utilisateur est une valeur permise : - si oui, l'enregistre @@ -67,7 +67,8 @@ class UNIQUE_Panel(newSIMPPanel): """ if self.parent.modified == 'n' : self.parent.init_modif() anc_val = self.node.item.get_valeur() - valeurentree = self.get_valeur() + if valeurentree== None : + valeurentree = self.get_valeur() valeur,validite=self.node.item.eval_valeur(valeurentree) if not validite : commentaire = "impossible d'évaluer : %s " %`valeurentree` -- 2.39.2