1
2
3
4
5
6
7
8
9
10
11
12
13
14 """Handle luminance and color calibration stimulus (client-side)"""
15
16 import VisionEgg, string
17 __version__ = VisionEgg.release_name
18 __cvs__ = string.split('$Revision$')[1]
19 __date__ = string.join(string.split('$Date$')[1:3], ' ')
20 __author__ = 'Andrew Straw <astraw@users.sourceforge.net>'
21
22 import sys, os
23 import Tkinter
24 import VisionEgg.PyroApps.EPhysGUIUtils as client_utils
25
28
32
34 title = "Color Calibration"
35 - def __init__(self, master=None, suppress_go_buttons=0,**kw):
36 client_utils.StimulusControlFrame.__init__(self,
37 master,
38 suppress_go_buttons,
39 ColorCalControlFrame.title,
40 ColorCalMetaParameters,
41 **kw)
42
43 param_frame = self.param_frame
44
45
46 param_frame.columnconfigure(0,weight=1)
47 param_frame.columnconfigure(1,weight=1)
48
49 pf_row = 0
50 Tkinter.Label(param_frame,text="Red:").grid(row=pf_row,column=0)
51 self.red_tk_var = Tkinter.DoubleVar()
52 self.red_tk_var.set(self.meta_params.color[0])
53 self.make_callback_entry(textvariable=self.red_tk_var).grid(row=pf_row,column=1)
54
55 pf_row += 1
56 Tkinter.Label(param_frame,text="Green:").grid(row=pf_row,column=0)
57 self.green_tk_var = Tkinter.DoubleVar()
58 self.green_tk_var.set(self.meta_params.color[1])
59 self.make_callback_entry(textvariable=self.green_tk_var).grid(row=pf_row,column=1)
60
61 pf_row += 1
62 Tkinter.Label(param_frame,text="Blue:").grid(row=pf_row,column=0)
63 self.blue_tk_var = Tkinter.DoubleVar()
64 self.blue_tk_var.set(self.meta_params.color[2])
65 self.make_callback_entry(textvariable=self.blue_tk_var).grid(row=pf_row,column=1)
66
69
71 self.red_tk_var.set( self.meta_params.color[0] )
72 self.green_tk_var.set( self.meta_params.color[1] )
73 self.blue_tk_var.set( self.meta_params.color[2] )
74
76 self.meta_params.color = ( self.red_tk_var.get(),
77 self.green_tk_var.get(),
78 self.blue_tk_var.get(),
79 0.0 )
80
81 if self.connected:
82 self.meta_controller.set_parameters( self.meta_params )
83
86
87 if __name__=='__main__':
88 frame = ColorCalControlFrame()
89 frame.pack(expand=1,fill=Tkinter.BOTH)
90 frame.winfo_toplevel().title("%s"%(os.path.basename(os.path.splitext(sys.argv[0])[0]),))
91 frame.mainloop()
92