"""The view module shows the GUI for the TelephoneBook application."""

from Tkinter import *

import TelephoneBook

#### The event handling functions:

def handleInsert():
    """This is the event handler for the Insert button: It inserts 
       the name and telephone number typed by the user.
    """
    data = textentry.get()
    items = data.split(":")
    name = items[0]
    number = int(items[1])
    number = TelephoneBook.insert(name, number)
    textentry.delete(0, END)
    label2.configure(text = "")


def handleLookup() :
    """This is the event handler for the Lookup button: It looks up
       the telephone number of the person typed by the user.
    """
    name = textentry.get()
    number = TelephoneBook.lookup(name)
    label2.configure(text = name + " has number, " + str(number))
    textentry.delete(0, END)

def handlePrint() :
    """This prints the contents of the telephone book to the
       command window.
    """
    TelephoneBook.printBook()

########

myfont = ("Arial", 14, "bold")

window = Tk()
window.title("Telephone Directory")
window.geometry("400x170")

frame = Frame(window)
frame.grid()

label1 = Label(frame, text = "Input: ", font = myfont)
label1.grid(row = 0, column = 0)

textentry = Entry(frame, width = 15, font = myfont)
textentry.grid(row = 0, column = 1)

button1 = Button(frame, text = "Lookup",
                 command = handleLookup,
                 font = myfont, fg = "blue", bg = "white")
button1.grid(row = 1, column = 0, padx = 10, pady = 10 )

button2 = Button(frame, text = "Insert",
                 command = handleInsert,
                 font = myfont, fg = "blue", bg = "white")
button2.grid(row = 1, column = 1, padx = 10, pady = 10 )

button3 = Button(frame, text = "Print",
                 command = handlePrint,
                 font = myfont, fg = "blue", bg = "white")
button3.grid(row = 1, column = 2, padx = 10, pady = 10)

label2 = Label(frame, text = "          ", font = myfont)
label2.grid(row = 2, column = 0, columnspan = 2)

window.mainloop()

