view scale.py @ 19:b78c555543a8
added vector module
author |
Yashina Ksenia <ksenia_yashina@kodomo.fbb.msu.ru> |
date |
Mon, 20 Dec 2010 01:42:34 +0300 |
parents |
05518686d7af |
children |
2df48c61bd42 |
line source
6 def __init__(self,delay=10,diam=300,num=1,env=1,reprod_a=False,reprod_s=False,life=1):
11 self.reprod_s=reprod_s
12 self.reprod_a=reprod_a
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)
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)
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")
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)
50 def new_reprod_s(self):
51 self.reprod_s=not(self.reprod_s)
63 def update_scale(widget, times):
65 length = widget['to'] - widget['from']
66 value += length * times / 10
70 root.title("Interface")
74 root.bind_class("Scale", "<4>", lambda ev: update_scale(ev.widget, +1))
75 root.bind_class("Scale", "<5>", lambda ev: update_scale(ev.widget, -1))
79 # create a pulldown menu, and add it to the menu bar
80 controlsmenu = Menu(menubar, tearoff=0)
81 controlsmenu.add_command(label="Start", command=intf.sbmt)
82 controlsmenu.add_command(label="Stop", command=intf.stop)
83 controlsmenu.add_command(label="Add mutation", command=intf.mutate)
84 controlsmenu.add_separator()
85 controlsmenu.add_command(label="Exit", command=root.destroy)
86 #controlmenu.add_command(label="Pause", command=intf.pause)
87 menubar.add_cascade(label="Controls", menu=controlsmenu)
89 helpmenu = Menu(menubar, tearoff=0)
90 helpmenu.add_command(label="About", command=intf.help)
91 menubar.add_cascade(label="Help", menu=helpmenu)
94 root.config(menu=menubar)
98 init_frame=LabelFrame(root,text="Initial parameters")
99 init_frame.grid(padx=15,pady=10)
100 scl1 = Scale(init_frame,orient=HORIZONTAL,length=100,from_=1,\
101 to=50,sliderlength=7,width=10)
102 scl1.grid(row=0, column=0,padx=10,pady=5)
103 lbl1 = Label(init_frame,text="number of cells",bg="white")
104 lbl1.grid(row=0,column=1,padx=10)
105 scl2 = Scale(init_frame,orient=HORIZONTAL,length=100,from_=100,\
106 to=500,sliderlength=7,width=10)
107 scl2.grid(row=1, column=0,padx=10,pady=5)
108 lbl2 = Label(init_frame,text="diameter of Petri dish",bg="white")
109 lbl2.grid(row=1,column=1,padx=10)
110 scl3 = Scale(init_frame,orient=HORIZONTAL,length=100,from_=1,\
111 to=30,sliderlength=7,width=10)
112 scl3.grid(row=2, column=0,padx=10,pady=5)
113 lbl3 = Label(init_frame,text="cells' lifetime",bg="white")
114 lbl3.grid(row=2,column=1,padx=10)
115 lbl_frame=LabelFrame(init_frame,text="Reproduction")
116 lbl_frame.grid(row=4,column=0,columnspan=2,padx=15,pady=10)
117 list=["Asexual","Sexual"]
118 cb1 = Checkbutton(lbl_frame,text="Asexual",command=intf.new_reprod_a)
120 cb2 = Checkbutton(lbl_frame,text="Sexual",command=intf.new_reprod_s)
123 submit=Button(root,text="Submit",width=25,command=intf.sbmt)
124 submit.grid(row=1,column=0,columnspan=2,pady=10)
126 chng_frame=LabelFrame(root,text="Changeable parameters")
127 chng_frame.grid(padx=15,pady=10)
128 scl = Scale(chng_frame,orient=HORIZONTAL,length=100,from_=1,\
129 to=100,sliderlength=7,width=10)
130 scl.grid(row=0, column=0,padx=10,pady=5)
131 lbl = Label(chng_frame,text="environment",bg="white")
132 lbl.grid(row=0,column=1,padx=10)
133 btn = Button(chng_frame,text="Add mutation",width=25,command=intf.mutate)
134 btn.grid(row=1,column=0,columnspan=2,pady=10)
136 #root.after(intf.delay,intf.depict())