from Tkinter import *
from math import *
from visualizacao import *
from fisica import *

def prCart(vec):
    print "("+str(vec.x)+", "+str(vec.y)+")"
    
def aceitar():
    v0=float(v0Entr.get())
    th0=float(th0Entr.get())
    th0=th0*pi/180
    part.vel=Vetor(v0*cos(th0),v0*sin(th0))
#    prCart(part.vel)

def mover():
    global dt,flag
#    prCart(part.vel)
    part.mover(dt)
    anim.atualizar()
    if flag>0:
        mainWin.after(50,mover)
        if(part.pos.y<0):
            parar()

def parar():
    global flag
    flag=0

def andar():
    global flag
    aceitar()
    flag+=1
    if flag==1:
        mover()

def reiniciar():
    global flag
    flag=0
    part.pos=Vetor(0,0)
    anim.atualizar()

#============== Programa principal =================
#============== Inicializacao =======

part=Partic()
dt=0.1 # Time interval
flag=0 # Control switch

#========= Interface grafica ====================
mainWin=Tk()
mainWin.title("Movimento")
anim=ParticCanvas(mainWin,larg=400,alt=400,orig=Vetor(50,50))
anim.grid(row=1,column=1,rowspan=3,columnspan=4,padx=10,pady=5)
anim.mostrar(part)

Button(mainWin,text='Chega',command=mainWin.quit).grid(row=3,column=5)
Button(mainWin,text='Andar',command=andar).grid(row=1,column=5)
Button(mainWin,text='Parar',command=parar).grid(row=2,column=5)
Button(mainWin,text='Reiniciar',command=reiniciar).grid(row=3,column=5)
Label(mainWin,text='v0:').grid(row=4,column=1,sticky=E)
Label(mainWin,text='theta0:').grid(row=4,column=3,sticky=E)
v0Entr=Entry(mainWin)
v0Entr.grid(row=4,column=2)
th0Entr=Entry(mainWin)
th0Entr.grid(row=4,column=4)

#========= Main Loop =================
mainWin.mainloop()

