11 static void finish(int sig);
13 int main(int argc, char *argv[])
15 /* initialize your non-curses data structures here */
18 t_LstArticulos *articulos;
21 articulos = art_cargar(argv[1]);
24 signal(SIGINT, finish); /* arrange interrupts to terminate */
25 mainwin = initscr(); /* initialize the curses library */
27 /* Verifico un tamaño minimo de consola */
28 if ((LINES < 25) || (COLS < 80)) {
31 printf("El tamaño de la consola debe ser de por lo menos 80x25!\n");
35 keypad(stdscr, TRUE); /* enable keyboard mapping */
36 nonl(); /* tell curses not to do NL->CR/NL on output */
37 cbreak(); /* take input chars one at a time, no wait for \n */
38 noecho(); /* don't echo input */
40 /* Si se soporta color, los inicializo */
43 /* Simple color assignment, often all we need. */
44 init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK);
45 init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
46 init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);
47 init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
48 init_pair(COLOR_WHITE, COLOR_WHITE, COLOR_BLACK);
49 init_pair(COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK);
50 init_pair(COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);
51 init_pair(COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);
54 /* Ventana, caracter para linea vertical, caracter para linea horizontal*/
55 box(mainwin, ACS_VLINE, ACS_HLINE);
56 /* Ventana, Y, X, Texto */
57 mvwaddstr(mainwin, 2, 10, "Ejemplo de Formulario");
59 /* Creo el formulario */
60 form = form_crear(mainwin);
61 form_agregar_widget(form, INPUT, "Numero de Articulo", 8, "");
63 form_ejecutar(form, 10, 10);
68 art = art_obtener(articulos, form_obtener_valor(form, "Numero de Articulo"));
70 /* Imprimo los datos! */
73 printf("\tDescripcion : %s\n", art->desc);
74 printf("\tPresentacion : %s\n", art->presentacion);
75 printf("\tExistencia : %s\n", art->existencia);
77 printf("NO EXISTE!\n");
79 /* Libero el formulario */
81 art_liberar(articulos);
87 static void finish(int sig)
91 /* do your non-curses wrapup here */