import sys 
from Tkinter import *
from PIL import ImageTk
import main as m

#funciones definidas para la graficacion
def nuevo():
	
	import funciones_aux as fa
	print('entrada')
	print(entrada_pasillo.get())
	print(type(entrada_pasillo.get()))
	resultado = fa.checkfile2(entrada_pasillo.get())
	if(resultado == True):
			
		aviso = Label(ventana, text = "Ya existe este pasillo", bg = 'red', relief = 'groove').place(x = 10, y = 100) 
	else:
		m.preparacion(entrada_pasillo.get(), entrada_altura.get())
		aviso2 = Label(ventana, text = "Pasillo creado con exito", bg = 'blue', relief = 'groove').place(x = 10, y = 100)

def agregar_list(pasillo):
	lst.delete(0, END)
	import funciones_aux as fa
 	name = "Docs/inventario/"+pasillo+'.txt'
 	matriz = fa.lectura_fichero(name, '\t')
 	for i in range(len(matriz)):
		matriz[i][3] = matriz[i][3].strip('\n')
 	
 	texto = ''
 	for j in range(len(matriz)):
	 	for i in range(len(matriz[j])):
	 		texto = texto+str(matriz[j][i])
	 		texto = texto+'\t'+'\t'
 		lst.insert(END,texto)
 		texto = ''
 	lst.see(END)
#funciones para los botones
def comenzar():
	print_buffer(actual_pasillo.get())
	agregar_list(actual_pasillo.get())

def boton_avance():
	m.movimientos(actual_pasillo.get(), 'avance')
	print_buffer(actual_pasillo.get())
	agregar_list(actual_pasillo.get())
def boton_retroceso():
	m.movimientos(actual_pasillo.get(), 'retroceso')
	print_buffer(actual_pasillo.get())
	agregar_list(actual_pasillo.get())
def lectura_normal():
	m.m_lectura(actual_pasillo.get(), 1, long_codigo.get())
	print_buffer(actual_pasillo.get())
	agregar_list(actual_pasillo.get())
def lectura_hueco():
	m.m_lectura(actual_pasillo.get(), 3, long_codigo.get())
	print_buffer(actual_pasillo.get())
	agregar_list(actual_pasillo.get())
def lectura_multicapa():
	m.m_lectura(actual_pasillo.get(), 2, long_codigo.get())
	print_buffer(actual_pasillo.get())
	agregar_list(actual_pasillo.get())
def lectura_sobre_altura():
	m.m_lectura(actual_pasillo.get(), 4, long_codigo.get())
	print_buffer(actual_pasillo.get())
	agregar_list(actual_pasillo.get())

def print_buffer(pasillo):
	import funciones_aux as fa
	pasillo = str(pasillo)
	nombre = 'Docs/buffer/'+pasillo+'.txt'
	buffer_vec = fa.lectura_fichero(nombre, '\t')
	buffer_vec = buffer_vec[1]
	buffer_vec[1] = int(buffer_vec[1])
	buffer_vec[1] = str(buffer_vec[1])

	buffer_texto = buffer_vec[0]+'\t'+buffer_vec[1]
	
	#graficar
	titulo_buffer = Label(ventana, text = 'Posicion actual de lectura', underline = 100).place(x = 10, y = 100)
	buffer_pasillo_columna = Label(ventana, text = buffer_texto, relief = 'groove').place(x = 10, y = 120)


#datos de la ventana
ventana = Tk()
ventana.geometry("1280x800")
ventana.title("Plataforma inventariado Airvant")


#imagenes
imagen = PhotoImage(file = "images/airvant.gif")
lblimagen = Label(ventana, image = imagen).place(x = 520 , y = 20)
"""
POR AHORA LO DEJO ASI COMENTADO HASTA QUE QUIERA METER COSAS NUEVAS
#menu
barramenu = Menu(ventana)
mnuarchivo = Menu(barramenu)
mnuarchivo.add_command(label="Nuevo pasillo", command=abrir)
barramenu.add_cascade(label="Archivo", menu=mnuarchivo)
ventana.config(menu=barramenu)
"""
#variables de destino
entrada_pasillo = StringVar()
entrada_altura = StringVar()
actual_pasillo = StringVar()
long_codigo = StringVar()


#FORMULARIO NUEVO PASILLO
titulo_nuevopasillo = Label(ventana, text = "Formulario para nuevo pasillo:",  relief = 'groove').place(x = 10, y = 10)
form_pasillo = Label(ventana, text = "Pasillo").place(x = 10, y = 50)
forma_altura = Label(ventana, text = "Altura").place(x = 120, y = 50)
pasillo = Entry(ventana, textvariable=entrada_pasillo, width = 8).place(x=10, y = 70)
altura = Entry(ventana, textvariable=entrada_altura, width = 8).place(x = 120, y = 70)
boton_ = Button(ventana, text = "Guardar", command = nuevo, height=2, width=10).place(x = 250, y = 50)


#FORMULARIO PASILLO DE TRABAJO
titulo_comenzarpasillo = Label(ventana, text = 'Formulario pasillo trabajo', relief = 'groove').place(x = 800, y = 10)
form_pasillo_trabajo = Label(ventana, text = "Marcar pasillo actual y pulsar comenzar.").place(x = 800, y = 50)
p_actual = Entry(ventana, textvariable = actual_pasillo, width = 8).place(x = 800, y = 80)
boton = Button(ventana, text = "Comenzar", command=comenzar, height=2, width=10).place(x = 925, y = 70)
form_longitud = Label(ventana, text="Longitud de los codigos").place(x=800, y = 110)
l_c = Entry(ventana, textvariable=long_codigo, width = 8).place(x=800, y = 130)

#lista para ver el inventario en curso 
titulo_lista = Label(ventana, text = "Inventario en curso", relief = 'groove').place(x = 10, y = 180)
lst = Listbox(ventana, width=55)
lst.insert(0, 'LISTADO DEL INVENTARIO EN CURSO')
lst.place(x = 10, y = 200)

#botonera
titulo_botonera=Label(ventana, text = "Botonera de control", relief = 'groove').place(x = 600, y = 180)
#botones avance/retroceso

image_r = ImageTk.PhotoImage(file="images/retroceso.gif")
boton_back = Button(ventana, image=image_r, command=boton_retroceso).place(x=600, y = 220)
image_a = ImageTk.PhotoImage(file="images/avance.gif")
boton_avac = Button(ventana, image=image_a, command=boton_avance).place(x=780, y = 220)

#botones de lectura
image_LN = ImageTk.PhotoImage(file="images/lectura_normal.gif")
boton_LN = Button(ventana, image=image_LN, command=lectura_normal).place(x=600, y = 380)

image_H = ImageTk.PhotoImage(file="images/hueco.gif")
boton_H = Button(ventana, image=image_H, command=lectura_hueco).place(x=900, y = 380)

image_M = ImageTk.PhotoImage(file="images/multicapa.gif")
boton_M = Button(ventana, image=image_M, command=lectura_multicapa).place(x=600, y = 530)

image_SB = ImageTk.PhotoImage(file="images/sobrealtura.gif")
boton_SB = Button(ventana, image=image_SB, command=lectura_sobre_altura).place(x=900, y = 530)

#mainloop

ventana.mainloop()


