Документ взят из кэша поисковой машины. Адрес оригинального документа : http://kodomo.cmm.msu.ru/hg/petri_dish/file/f350d610c986/scale.py
Дата изменения: Unknown
Дата индексирования: Sun Feb 3 05:57:45 2013
Кодировка:
petri_dish: f350d610c986 scale.py

petri_dish

view scale.py @ 13:f350d610c986

added menu bar
author Yashina Ksenia <ksenia_yashina@kodomo.fbb.msu.ru>
date Tue, 14 Dec 2010 17:10:59 +0300
parents 53672899af16
children 05518686d7af
line source
1 from Tkinter import *
2 import Bacteria
3 import Petri
5 class IF(object):
6 def __init__(self,delay=10,diam=300,num=1,env=1,reprod_a=False,reprod_s=False,life=1):
7 self.delay=delay
8 self.diam=diam
9 self.num=num
10 self.env=env
11 self.reprod_s=reprod_s
12 self.reprod_a=reprod_a
13 self.life=life
15 def __repr__(self):
16 return "<%s,%s,%s,%s,%s,%s,%s>"%(self.delay,self.diam,self.num,\
17 self.env,self.reprod_a,\
18 self.reprod_s,self.life)
19 def mutate():
20 pass
22 def sbmt(self):
23 submit.config(text="Stop",command=self.stop)
24 scl1.config(state=DISABLED)
25 scl2.config(state=DISABLED)
26 scl3.config(state=DISABLED)
27 cb1.config(state=DISABLED)
28 cb2.config(state=DISABLED)
29 self.num=scl1.get()
30 self.diam=scl2.get()
31 self.life=scl3.get()
32 c.config(height=self.diam+20,width=self.diam+20,bg="gray75")
33 filler=c.create_rectangle(0,0,self.diam+22,self.diam+22,fill="lightgrey")
34 c.grid(row=0,column=2,rowspan=6,padx=50,pady=10)
35 dish=c.create_oval(10,10,self.diam+10,self.diam+10,fill="white")
36 print self
38 def stop(self):
39 submit.config(text="Submit",command=self.sbmt)
40 scl1.config(state=NORMAL)
41 scl2.config(state=NORMAL)
42 scl3.config(state=NORMAL)
43 cb1.config(state=NORMAL)
44 cb2.config(state=NORMAL)
46 def new_reprod_a(self):
47 self.reprod_a=not(self.reprod_a)
48 return
50 def new_reprod_s(self):
51 self.reprod_s=not(self.reprod_s)
52 return
54 def help(self):
55 pass
57 def pause(self):
58 pass
60 def depict(self):
61 pass
63 root = Tk()
64 root.title("Interface")
65 intf=IF()
66 c=Canvas()
68 menubar = Menu(root)
70 # create a pulldown menu, and add it to the menu bar
71 controlsmenu = Menu(menubar, tearoff=0)
72 controlsmenu.add_command(label="Start", command=intf.sbmt)
73 controlsmenu.add_command(label="Stop", command=intf.stop)
74 controlsmenu.add_command(label="Add mutation", command=intf.mutate)
75 controlsmenu.add_separator()
76 controlsmenu.add_command(label="Exit", command=root.destroy)
77 #controlmenu.add_command(label="Pause", command=intf.pause)
78 menubar.add_cascade(label="Controls", menu=controlsmenu)
80 helpmenu = Menu(menubar, tearoff=0)
81 helpmenu.add_command(label="About", command=intf.help)
82 menubar.add_cascade(label="Help", menu=helpmenu)
84 # display the menu
85 root.config(menu=menubar)
89 init_frame=LabelFrame(root,text="Initial parameters")
90 init_frame.grid(padx=15,pady=10)
91 scl1 = Scale(init_frame,orient=HORIZONTAL,length=100,from_=1,\
92 to=50,sliderlength=7,width=10)
93 scl1.grid(row=0, column=0,padx=10,pady=5)
94 lbl1 = Label(init_frame,text="number of cells",bg="white")
95 lbl1.grid(row=0,column=1,padx=10)
96 scl2 = Scale(init_frame,orient=HORIZONTAL,length=100,from_=100,\
97 to=500,sliderlength=7,width=10)
98 scl2.grid(row=1, column=0,padx=10,pady=5)
99 lbl2 = Label(init_frame,text="diameter of Petri dish",bg="white")
100 lbl2.grid(row=1,column=1,padx=10)
101 scl3 = Scale(init_frame,orient=HORIZONTAL,length=100,from_=1,\
102 to=30,sliderlength=7,width=10)
103 scl3.grid(row=2, column=0,padx=10,pady=5