From d1ad2d2e4986bb2b6081b9dc87083f792780163b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matheus=20M=C3=BCller?= Date: Wed, 28 Mar 2012 13:50:57 -0300 Subject: [PATCH] Remocao de classe Layer e selecao de elementos funcional --- layers.py | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/layers.py b/layers.py index f67bb8f..9abb23a 100644 --- a/layers.py +++ b/layers.py @@ -29,31 +29,36 @@ def Dmaxchange(layernum): Ldict[layernum+1]['LandE'][6].delete(0, 'end') Ldict[layernum+1]['LandE'][6].insert(0, number) +############################################################################## + +def elem_callback(x, edict , ebutton, Labentrys): + PTable(edict[x] , ebutton[x], Labentrys) + ############################################################################## ############################################################################## class Layer: - def self_destruct(self): # nao funciona + def self_destruct(self): for n in range(len(self.Elements)): del self.Elements[n] + self.Ebuttons[n].grid_forget() del self.Ebuttons[n] + self.Spinboxes[n].grid_forget() del self.Spinboxes[n] - #for n in range(8): - # del self.Frames[n] - for n in range(2): - del self.Buttons[n] - for n in range(4): - del self.LandE[n] - del self.LabelFrm + for n in range(8): + self.Frames[n].pack_forget() + for k in arange(0,1): + self.Buttons[k].pack_forget() + for j in range(4): + self.LandE[j].pack_forget() + self.LabelFrm.grid_forget() + def elem_select(self, i): Frames=list() Labentrys=list() - def elem_callback(x, edict , ebutton, Labentrys): - PTable(edict[x-1] , ebutton[x-1], Labentrys) - def update(k, Elelist): Elelist[k]['name'] = str(Labentrys[6].get()) Labentrys[0].configure(text = '%s' %Elelist[k]['name']) @@ -89,11 +94,11 @@ class Layer: # 3 // 9 = Symbol # 4 // 10 = Line shape # 5 // 11 = Max Depht - Labentrys.insert(0, tk.Label(Frames[3], width=23, pady=2, text='%s' %self.Elements[self.Ecount-1]['name']) ) - Labentrys.insert(1, tk.Label(Frames[3], width=23, pady=2, text='Mass - %f' %self.Elements[self.Ecount-1]['mass']) ) - Labentrys.insert(2, tk.Label(Frames[3], width=23, pady=2, text='Z - %f' %self.Elements[self.Ecount-1]['Z']) ) - Labentrys.insert(3, tk.Label(Frames[3], width=23, pady=2, text= 'Symbol - %s' %self.Elements[self.Ecount-1]['symbol']) ) - Labentrys.insert(4, tk.Label(Frames[3], width=23, pady=2, text='Line Shape α - %f' %self.Elements[self.Ecount-1]['LineShape']) ) + Labentrys.insert(0, tk.Label(Frames[3], width=23, pady=2, text='%s' %self.Elements[i]['name']) ) + Labentrys.insert(1, tk.Label(Frames[3], width=23, pady=2, text='Mass - %f' %self.Elements[i]['mass']) ) + Labentrys.insert(2, tk.Label(Frames[3], width=23, pady=2, text='Z - %f' %self.Elements[i]['Z']) ) + Labentrys.insert(3, tk.Label(Frames[3], width=23, pady=2, text= 'Symbol - %s' %self.Elements[i]['symbol']) ) + Labentrys.insert(4, tk.Label(Frames[3], width=23, pady=2, text='Line Shape α - %f' %self.Elements[i]['LineShape']) ) Labentrys.insert(5, tk.Label(Frames[3]) ) for n in range(5): @@ -109,17 +114,18 @@ class Layer: Labentrys[9].insert(0, self.Elements[i]['symbol']) Labentrys[10].insert(0, self.Elements[i]['LineShape']) - butPTE = tk.Button(Frames[1],text='Select from PTE',width=15,command=lambda i=i:elem_callback(self.Ecount,self.Elements,self.Ebuttons,Labentrys)) + butPTE = tk.Button(Frames[1],text='Select from PTE',width=15,command=lambda i=i:elem_callback(i,self.Elements,self.Ebuttons,Labentrys)) butPTE.pack() - BUpdate = tk.Button(Frames[1], text ='Update properties', command=lambda i=int(self.Ecount) :update(self.Ecount, self.Elements), width=15) + BUpdate = tk.Button(Frames[1], text ='Update properties', command=lambda i=i: update(i, self.Elements), width=15) BUpdate.pack() tempw.mainloop() def addel(self): i = int(self.Ecount) + n = int(self.Number) self.Elements[i]=dict(name="New",symbol="Hf",mass=178.,Z=72,LineShape=200.) - self.Ebuttons.insert(i, tk.Button(self.Frames[6], text=i, command = lambda i=i : self.elem_select(i) )) + self.Ebuttons.insert(i, tk.Button(self.Frames[6], text=i, command = lambda x=0: Ldict[n].elem_select(i) )) self.Ebuttons[i].grid(column=0, row=i) self.Spinboxes.insert(i, tk.Spinbox(self.Frames[7], from_=0, to=1, increment=0.05, bd=5 )) self.Spinboxes[i].grid(column=0, row=i) @@ -208,6 +214,7 @@ def rmvlay(): global Laycount, Ldict if Laycount > 1: Ldict[Laycount-1].self_destruct() + del Ldict[Laycount-1] Laycount = Laycount - 1 ############################################################################## @@ -219,7 +226,7 @@ def layers(): laywin = tk.Tk() laywin.title('Layers') - laywin.minsize(950,200) + laywin.minsize(950,400) laywin.geometry('950x200+200+600') for i in range(2): -- 2.22.0