#! /usr/bin/env python
"""Introduce GUIs and reuse harmonic oscillator and linalg stuff

Date: November 15, 2008

Author: Bob Wimmer

"""

from Tkinter import *
from math import *

root = Tk()              # root (main) window
top = Frame(root)        # create frame
top.pack(side='top')     # pack frame in main window

hwtext = Label(top, text="Hello, World! Ain't this great! The sine of")
hwtext.pack(side='left')

r = StringVar() # variable to be attached to r_entry
r.set('1.2')    # default value
r_entry = Entry(top, width=6, textvariable=r)
r_entry.pack(side='left')

s = StringVar() # variable to be attached to s_label
def comp_s():
    global s
    s.set('%g' % sin(float(r.get()))) # construct string

compute = Button(top, text=' equals ', command=comp_s)
compute.pack(side='left')

s_label = Label(top, textvariable=s, width=18)
s_label.pack(side='left')

root.mainloop()

