Package VisionEgg :: Package PyroApps :: Module ColorCalGUI
[frames] | no frames]

Source Code for Module VisionEgg.PyroApps.ColorCalGUI

 1  #!/usr/bin/env python 
 2  # 
 3  # The Vision Egg: ColorCalGUI 
 4  # 
 5  # Copyright (C) 2001-2003 Andrew Straw. 
 6  # Author: Andrew Straw <astraw@users.sourceforge.net> 
 7  # URL: <http://www.visionegg.org/> 
 8  # 
 9  # Distributed under the terms of the GNU Lesser General Public License 
10  # (LGPL). See LICENSE.TXT that came with this file. 
11  # 
12  # $Id$ 
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   
26 -def get_control_list():
27 return [("color_cal_server",ColorCalControlFrame,ColorCalControlFrame.title)]
28
29 -class ColorCalMetaParameters:
30 - def __init__(self):
31 self.color = (1.0, 1.0, 1.0, 0.0)
32
33 -class ColorCalControlFrame(client_utils.StimulusControlFrame):
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 # shorthand for self.param_frame created in base class 44 45 # Allow columns to expand 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
67 - def get_shortname(self):
68 return "color_cal"
69
70 - def update_tk_vars(self):
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
75 - def send_values(self,dummy_arg=None):
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
84 - def get_duration_sec(self):
85 return 0.0
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