X-Git-Url: https://git.llucax.com/z.facultad/75.06/emufs.git/blobdiff_plain/fe7cadabd775ddd59714749b7dfe31a578c6ecca..ee3853f9b2bed3fa3a1f3a90c8dca81686d39fc8:/emufs_gui/emufs_view.c diff --git a/emufs_gui/emufs_view.c b/emufs_gui/emufs_view.c index be6bb29..fdd8c23 100644 --- a/emufs_gui/emufs_view.c +++ b/emufs_gui/emufs_view.c @@ -59,8 +59,8 @@ void print_help(char *s) int leer_tipo_arbol(char *s) { if (strcmp(s, "B") == 0) return 0; - if (strcmp(s, "B*") == 0) return 1; - if (strcmp(s, "B+") == 0) return 2; + if (strcmp(s, "BA") == 0) return 1; + if (strcmp(s, "BP") == 0) return 2; /* Por defecto es un B */ return 0; @@ -73,32 +73,37 @@ void leer_param_ind_art(t_Parametros *param, xmlNode *padre) node = padre->children; while (node) { if (node->type == XML_ELEMENT_NODE) { - nombre = xml_get_prop(node, "nombre"); - - if (strcmp(nombre, "codigo")==0) { - tmp = xml_get_prop(node, "tipo"); - param->ind_art[0].tipo_arbol = leer_tipo_arbol(tmp); - free(tmp); - tmp = xml_get_prop(node, "bloque"); - param->ind_art[0].tam_bloque = atoi(tmp); - free(tmp); - } else if (strcmp(nombre, "desc")==0) { - tmp = xml_get_prop(node, "tipo"); - param->ind_art[1].tipo_arbol = leer_tipo_arbol(tmp); - free(tmp); - tmp = xml_get_prop(node, "bloque"); - param->ind_art[1].tam_bloque = atoi(tmp); - free(tmp); - } else if (strcmp(nombre, "presentacion")) { - tmp = xml_get_prop(node, "tipo"); - param->ind_art[2].tipo_arbol = leer_tipo_arbol(tmp); - free(tmp); - tmp = xml_get_prop(node, "bloque"); - param->ind_art[2].tam_bloque = atoi(tmp); - free(tmp); + if (strcmp(node->name, "indice")==0) { + PERR(" LEO INDICE"); + nombre = xml_get_prop(node, "nombre"); + + if (strcmp(nombre, "codigo")==0) { + tmp = xml_get_prop(node, "tipo"); + param->ind_art[0].tipo_arbol = leer_tipo_arbol(tmp); + free(tmp); + tmp = xml_get_prop(node, "bloque"); + param->ind_art[0].tam_bloque = atoi(tmp); + free(tmp); + } else if (strcmp(nombre, "desc")==0) { + tmp = xml_get_prop(node, "tipo"); + param->ind_art[1].tipo_arbol = leer_tipo_arbol(tmp); + free(tmp); + tmp = xml_get_prop(node, "bloque"); + param->ind_art[1].tam_bloque = atoi(tmp); + free(tmp); + } else if (strcmp(nombre, "presentacion")==0) { + tmp = xml_get_prop(node, "tipo"); + param->ind_art[2].tipo_arbol = leer_tipo_arbol(tmp); + free(tmp); + tmp = xml_get_prop(node, "bloque"); + param->ind_art[2].tam_bloque = atoi(tmp); + free(tmp); + } + PERR(" LISTO"); + free(nombre); } - free(nombre); } + node = node->next; } } @@ -109,25 +114,51 @@ void leer_param_ind_fact(t_Parametros *param, xmlNode *padre) node = padre->children; while (node) { if (node->type == XML_ELEMENT_NODE) { - nombre = xml_get_prop(node, "nombre"); - - if (strcmp(nombre, "numero")==0) { - tmp = xml_get_prop(node, "tipo"); - param->ind_fac[0].tipo_arbol = leer_tipo_arbol(tmp); - free(tmp); - tmp = xml_get_prop(node, "bloque"); - param->ind_fac[0].tam_bloque = atoi(tmp); - free(tmp); - } else if (strcmp(nombre, "emision")==0) { - tmp = xml_get_prop(node, "tipo"); - param->ind_fac[1].tipo_arbol = leer_tipo_arbol(tmp); - free(tmp); - tmp = xml_get_prop(node, "bloque"); - param->ind_fac[1].tam_bloque = atoi(tmp); - free(tmp); + if (strcmp(node->name, "indice")==0) { + PERR(" LEO INDICE"); + nombre = xml_get_prop(node, "nombre"); + + if (strcmp(nombre, "numero")==0) { + tmp = xml_get_prop(node, "tipo"); + param->ind_fac[0].tipo_arbol = leer_tipo_arbol(tmp); + free(tmp); + tmp = xml_get_prop(node, "bloque"); + param->ind_fac[0].tam_bloque = atoi(tmp); + free(tmp); + } else if (strcmp(nombre, "emision")==0) { + tmp = xml_get_prop(node, "tipo"); + param->ind_fac[1].tipo_arbol = leer_tipo_arbol(tmp); + free(tmp); + tmp = xml_get_prop(node, "bloque"); + param->ind_fac[1].tam_bloque = atoi(tmp); + free(tmp); + } else if (strcmp(nombre, "vto")==0) { + tmp = xml_get_prop(node, "tipo"); + param->ind_fac[2].tipo_arbol = leer_tipo_arbol(tmp); + free(tmp); + tmp = xml_get_prop(node, "bloque"); + param->ind_fac[2].tam_bloque = atoi(tmp); + free(tmp); + } else if (strcmp(nombre, "cheque")==0) { + tmp = xml_get_prop(node, "tipo"); + param->ind_fac[3].tipo_arbol = leer_tipo_arbol(tmp); + free(tmp); + tmp = xml_get_prop(node, "bloque"); + param->ind_fac[3].tam_bloque = atoi(tmp); + free(tmp); + } else if (strcmp(nombre, "ctacte")==0) { + tmp = xml_get_prop(node, "tipo"); + param->ind_fac[4].tipo_arbol = leer_tipo_arbol(tmp); + free(tmp); + tmp = xml_get_prop(node, "bloque"); + param->ind_fac[4].tam_bloque = atoi(tmp); + free(tmp); + } + PERR(" LISTO"); + free(nombre); } - free(nombre); } + node = node->next; } } @@ -147,8 +178,10 @@ void leer_param_art(t_Parametros *param, xmlNode *padre) tmp = xml_get_prop(node, "bloque"); param->tam_bloque_art = atoi(tmp); free(tmp); - } else if (strcmp(node->name, "indices")) { + } else if (strcmp(node->name, "indices")==0) { + PERR("LEO INDICES") leer_param_ind_art(param, node); + PERR("LISTO"); } } node = node->next; @@ -178,6 +211,10 @@ void leer_param_fac(t_Parametros *param, xmlNode *padre) tmp = xml_get_prop(nodo, "bloque"); param->tam_bloque_nota = atoi(tmp); free(tmp); + } else if (strcmp(nodo->name, "indices")==0) { + PERR("LEO INDICES") + leer_param_ind_fact(param, nodo); + PERR("LISTO"); } } nodo = nodo->next; @@ -234,8 +271,9 @@ int main(int argc, char *argv[]) if (argc != 2) { print_help(argv[0]); } - - param_xml(argv[1], ¶metros); + + if (argc == 2) + param_xml(argv[1], ¶metros); #ifdef DEBUG printf("CUIDADO! - Uds esta a punto de ejecutar EMUFS Gui compilado con mensajes de debug (-DDEBUG). "); @@ -289,16 +327,16 @@ int main(int argc, char *argv[]) dialog = msg_box(stdscr, COLS, LINES, "Generando archivos ..."); -/* if (parametros.xml_art != -1) {*/ + if (argc == 2) { art_cargar(¶metros); -/* } else { + } else { art_cargar(NULL); } - if (parametros.xml_fact != -1) {*/ + if (argc == 2) { fact_cargar(¶metros); -/* } else { + } else { fact_cargar(NULL); - }*/ + } msg_box_free(stdscr, dialog); @@ -319,11 +357,12 @@ void menu_facturas() MENU_OPCION("Baja", "Elimina una factura existente."), MENU_OPCION("Modificacion", "Modifica una factura existente."), MENU_OPCION("Consultas", "Consulta varias de articulo."), + MENU_OPCION("Recorrer", "Recorrer el archivo por alguno de sus indices."), MENU_OPCION("Volver", "Volver al menu anterior.") }; int opt; - while ((opt = menu_ejecutar(mi_menu, 5, "Menu Articulos")) != 4) { + while ((opt = menu_ejecutar(mi_menu, 6, "Menu Articulos")) != 5) { switch (opt) { case 0: fact_agregar(NULL); @@ -333,8 +372,11 @@ void menu_facturas() break; case 2: fact_modificar(NULL); + break; case 3: fact_consultas(NULL); + case 4: + fact_recorrer(); } } } @@ -346,11 +388,12 @@ void menu_articulos() MENU_OPCION("Baja", "Elimina un articulo existente."), MENU_OPCION("Modificacion", "Modifica un articulo existente."), MENU_OPCION("Consultas", "Consulta varias de articulo."), + MENU_OPCION("Recorrer", "Recorrer el archivo por alguno de sus indices."), MENU_OPCION("Volver", "Volver al menu anterior.") }; int opt; - while ((opt = menu_ejecutar(mi_menu, 5, "Menu Articulos")) != 4) { + while ((opt = menu_ejecutar(mi_menu, 6, "Menu Articulos")) != 5) { switch (opt) { case 0: art_agregar(NULL); @@ -363,6 +406,9 @@ void menu_articulos() break; case 3: art_consultas(NULL); + break; + case 4: + art_recorrer(); } } @@ -492,7 +538,7 @@ int main_menu() h = LINES-2; w = COLS-2; win = newwin(h, w, 1, 1); - emufs_indice_b_ver(art_get_lst()->fp->indices, win, w, h, 0); + emufs_indice_b_ver(fact_get_lst()->fp->indices, win, w, h, 0); delwin(win); } }