def eliminarTarea(TablaTareas, tareas, identificador, tareaNueva): #Actualizar el widget correspondiente en la interfaz indiceNumerico = len(TablaTareas.get_children()) TablaTareas.insert(parent='', index=indiceNumerico, iid=indiceNumerico, text='', values=(identificador, tareaNueva['descripcion'], tareaNueva['estado'], tareaNueva['tiempo'])) #Eliminar todos los elementos (filas o hijos) for i in TablaTareas.get_children(): TablaTareas.delete(i) #Actualizar el contenedor cargado en memoria CRUD.Delete(tareas, identificador) #Insertar en la vista todas las tareas que están cargadas en memoria posterior a la eliminación indiceNumerico = 0 for identificador, tarea in tareas.items(): TablaTareas.insert(parent='', index=indiceNumerico, iid=indiceNumerico, text='', values=(identificador, tarea['descripcion'], tarea['estado'], tarea['tiempo'])) indiceNumerico += 1
def eliminarTarea(TablaTareas, tareas, identificador, tareaNueva): #Actualizar la interfaz acorde a la operación solicitada #Limpiar los campos de la interfaz limpiarCampos() #Eliminar todos los elementos (filas o hijos) de la tabla de la interfaz for i in TablaTareas.get_children(): TablaTareas.delete(i) #Actualizar el contenedor cargado en memoria (llamado a backend) CRUD.Delete(tareas, identificador) #Insertar en la vista todas las tareas que están cargadas en memoria posterior a la eliminación indiceNumerico = 0 for identificador, tarea in tareas.items(): TablaTareas.insert(parent='', index=indiceNumerico, iid=indiceNumerico, text='', values=(identificador, tarea['descripcion'], tarea['estado'], tarea['tiempo']) ) indiceNumerico += 1
#Realizar la actualización CRUD.Update(tareas, identificador, tareaActualizada) #Si Delete fue seleccionado por el usuario en el menú elif opcion == 4: #Solicitar a la interfaz mostrar el mensaje ic.mensaje("-> Eliminar Tarea") #Presentar formulario de eliminación de tareas identificador = ic.formularioEliminarTarea(tareas) #Si la interfaz preparó la eliminación if identificador != False: #Realizar la eliminación si llega autorización desde la interfaz (identificador) CRUD.Delete(tareas, identificador) #Si la opcíon de salida fue seleccionada por el usuario en el menú elif opcion == 5: #Solicitar a la interfaz mostrar el mensaje ic.mensaje("-> Ha salido de la aplicación") #Guardar el listado de tareas en la base de datos (archivo json) if CRUD.Write(tareas): #Solicitar a la interfaz reporte de salida exitosa ic.mensaje("Datos guardados: Cierre exitoso.") #Terminar el mainloop de la aplicación mainloop = False