X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/ac4e74bc3235c3ced324ee54e9f788307a1e5eed..a9f9aecb4dc1ae44e94c45b461dc18b6da2a9c9a:/emufs_gui/emufs_view.c?ds=sidebyside diff --git a/emufs_gui/emufs_view.c b/emufs_gui/emufs_view.c index a1333d7..9a2a94a 100644 --- a/emufs_gui/emufs_view.c +++ b/emufs_gui/emufs_view.c @@ -27,6 +27,7 @@ void menu_estadisticas(); void menu_ver_registros(); void menu_ver_bloques(); void preguntar_nuevo_tipo(const char *title, int *tipo, int *tam_bloque, int *tam_reg); +char *preguntar_file(); void ver_estadisticas(EMUFS *fp); @@ -456,6 +457,8 @@ void menu_mantenimiento() MENU_OPCION("Compactar Notas","Elimina espacio no utilizado."), MENU_OPCION("Cambiar tipo Archivo Articulos","Permite cambiar el tipo del archivo."), MENU_OPCION("Cambiar tipo Archivo Facturas","Permite cambiar el tipo del archivo."), + MENU_OPCION("Exportar Articulos", "Genera un archivo XML con los articulos."), + MENU_OPCION("Expostar Facturas", "Genera un archivo XML con las facturas."), MENU_OPCION("Volver", "Volver al menu anterior.") }; @@ -463,8 +466,9 @@ void menu_mantenimiento() int nuevo_tam_registro, nuevo_tam_bloque, nuevo_tipo; int nuevo_tam_registro1, nuevo_tam_bloque1, nuevo_tipo1; WINDOW *dlg; + char *s; - while ((opt = menu_ejecutar(mi_menu, 6, "Menu Mantenimiento")) != 5) { + while ((opt = menu_ejecutar(mi_menu, 8, "Menu Mantenimiento")) != 7) { switch (opt) { case 0: dlg = msg_box(stdscr, COLS, LINES, "Compactando archivo.... Aguarde"); @@ -495,6 +499,25 @@ void menu_mantenimiento() dlg = msg_box(stdscr, COLS, LINES, "Cambiando el formato de archivo .... Aguarde"); fact_reformatear(nuevo_tipo, nuevo_tam_bloque, nuevo_tam_registro, nuevo_tipo1, nuevo_tam_bloque1, nuevo_tam_registro1); msg_box_free(stdscr, dlg); + case 5: + s = preguntar_file(); + if (s) { + dlg = msg_box(stdscr, COLS, LINES, "Exportando .... Aguarde"); + PERR("Exportando"); + art_exportar_xml(s); + msg_box_free(stdscr, dlg); + free(s); + } + break; + case 6: + s = preguntar_file(); + if (s) { + dlg = msg_box(stdscr, COLS, LINES, "Exportando .... Aguarde"); + PERR("Exportando"); + fact_exportar_xml(s); + msg_box_free(stdscr, dlg); + free(s); + } } } } @@ -689,3 +712,29 @@ void ver_estadisticas(EMUFS *fp) delwin(win); } +char *preguntar_file() +{ + WINDOW *win; + t_Form *form; + char *s, *t; + + win = newwin(LINES/2, COLS/2, LINES/4, COLS/4); + box(win, 0, 0); + + form = form_crear(win); + form_agregar_widget(form, INPUT, "Nombre de archivo", 30, ""); + form_ejecutar(form, 1,1); + + s = form_obtener_valor_char(form, "Nombre de archivo"); + + if (strlen(s) == 0) { + form_destruir(form); + return NULL; + } + t = (char *)malloc(sizeof(char*)*(strlen(s)+1)); + strcpy(t, s); + form_destruir(form); + return t; +} + +