11 static void finish(int sig);
13 void editar_articulo(WINDOW *win, t_Articulo *articulo);
15 int main(int argc, char *argv[])
17 /* initialize your non-curses data structures here */
20 t_LstArticulos *articulos;
24 printf("Modo de uso : %s archivo_de_articulos.xml\n", argv[0]);
28 articulos = art_cargar(argv[1]);
31 signal(SIGINT, finish); /* arrange interrupts to terminate */
32 mainwin = initscr(); /* initialize the curses library */
34 /* Verifico un tamaño minimo de consola */
35 if ((LINES < 25) || (COLS < 80)) {
38 printf("El tamaño de la consola debe ser de por lo menos 80x25!\n");
42 keypad(stdscr, TRUE); /* enable keyboard mapping */
43 nonl(); /* tell curses not to do NL->CR/NL on output */
44 cbreak(); /* take input chars one at a time, no wait for \n */
45 noecho(); /* don't echo input */
47 /* Si se soporta color, los inicializo */
50 /* Simple color assignment, often all we need. */
51 init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK);
52 init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
53 init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);
54 init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
55 init_pair(COLOR_WHITE, COLOR_WHITE, COLOR_BLACK);
56 init_pair(COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK);
57 init_pair(COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);
58 init_pair(COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);
61 /* Ventana, caracter para linea vertical, caracter para linea horizontal*/
62 box(mainwin, ACS_VLINE, ACS_HLINE);
63 /* Ventana, Y, X, Texto */
64 mvwaddstr(mainwin, 2, 10, "Ejemplo de Formulario");
66 /* Creo el formulario */
67 form = form_crear(mainwin);
68 form_agregar_widget(form, INPUT, "Numero de Articulo", 8, "");
70 form_ejecutar(form, 10, 10);
72 art = art_obtener(articulos, form_obtener_valor(form, "Numero de Articulo"));
75 editar_articulo(mainwin, art);
77 /* Libero el formulario */
83 art_liberar(articulos);
89 void editar_articulo(WINDOW *win, t_Articulo *articulo)
92 form = form_crear(win);
93 form_agregar_widget(form, INPUT, "Numero de Artículo", 8, articulo->numero);
94 form_agregar_widget(form, INPUT, "Descripción", 50, articulo->desc);
95 form_agregar_widget(form, INPUT, "Presentación", 30, articulo->presentacion);
96 form_agregar_widget(form, INPUT, "Stock Actual", 8, articulo->existencia);
97 form_agregar_widget(form, INPUT, "PVU", 30, articulo->pvu);
98 form_agregar_widget(form, INPUT, "Stock Mínimo", 8, articulo->emin);
100 form_ejecutar(form, 10, 10);
105 static void finish(int sig)
109 /* do your non-curses wrapup here */