diff options
-rw-r--r-- | archivo.py | 19 | ||||
-rw-r--r-- | calendario.py | 27 |
2 files changed, 42 insertions, 4 deletions
@@ -21,6 +21,13 @@ import pickle import gobject from gettext import gettext as _ +def indice_entero(cadena): + '''return an int from a string with tuple sintax''' + cadena = cadena.replace('(','') + cadena = cadena.replace(',','') + cadena = cadena.replace(')','') + return int(cadena) + def crear_modelo(indice): '''create the liststore model for the main block''' archivo = open('files/actividades.pkl', 'rb') @@ -58,3 +65,15 @@ def guardar_dato(indice, contenido): f.flush() f.close() +def borrar_dato(indice,indice_lista): + '''delete the selected content''' + indice_lista = str(indice_lista) + indice = str(indice) + indice_lista = indice_entero(indice_lista) + f = open('files/actividades.pkl', 'rb+wb') + dia = pickle.load(f) + del dia[indice][indice_lista] + f.seek(0) + pickle.dump(dia, f) + f.flush() + f.close() diff --git a/calendario.py b/calendario.py index f8192dd..67390e2 100644 --- a/calendario.py +++ b/calendario.py @@ -18,7 +18,7 @@ from gettext import gettext as _ from fecha import FechaUnix, FechaNormal -from archivo import crear_modelo, abrir_efemeride, guardar_dato +from archivo import crear_modelo, abrir_efemeride, guardar_dato, borrar_dato import gtk import pickle @@ -44,10 +44,10 @@ class Calendario: self.area_texto.set_shadow_type(gtk.SHADOW_IN) self.area_texto.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) - #temporalmente solo de prueba + self.lista_fecha_t = self.calendario.get_date() self.indice_dia_t = FechaUnix(self.lista_fecha_t) - + self.modelo = crear_modelo(self.indice_dia_t.fecha_unix()) self.actividades = gtk.TreeView(self.modelo) self.area_texto.add(self.actividades) @@ -103,7 +103,8 @@ class Calendario: #callbacks self.calendario.connect('day_selected', self._dia_selec_cb) self.boton1.connect('clicked', self._nuevo_ingreso_cb) - + self.boton2.connect('clicked', self._borrar_fila_cb) + #self.actividades.connect('select_cursor_row', self._seleccionar_celda_cb) ########################### Add Blocks ################################ self.contenedor_h.pack_start(self.contenedor_vi, False, padding = 5) @@ -129,6 +130,12 @@ class Calendario: '''main gtk''' gtk.main() + #def _seleccionar_celda_cb(self, widget, data=None): + # '''test''' + # print 'se selecciono' + + + def _cerrar_cb(self, widget, data=None): '''close gtk''' gtk.main_quit() @@ -137,6 +144,16 @@ class Calendario: '''when a date is selected''' self.date = self.calendario.get_date() + def _borrar_fila_cb(self, widget, data=None): + '''deleted the selected row''' + self.seleccion = self.actividades.get_selection() + self.model, self.iter = self.seleccion.get_selected() + self.enlace = self.modelo.get_path(self.iter) + self.lista_fecha = self.calendario.get_date() + self.indice_dia = FechaUnix(self.lista_fecha) + borrar_dato(self.indice_dia.fecha_unix(), self.enlace) + + def _nuevo_ingreso_cb(self, widget, data=None): '''when the user clicked on the save button, the content is added to a python object and @@ -160,6 +177,8 @@ class Calendario: self.columna = gtk.TreeViewColumn(self.actividad, self.celda, text = 1) self.actividades.append_column(self.columna) + + if __name__ == "__main__": foo = Calendario() |