#include <string.h>
#include "form.h"
+#include "articulos.h"
static void finish(int sig);
-
-/** Simula un TextField
- *
- * \param win Ventana
- * \param x Posicion en X
- * \param y Posicion en Y
- * \param w Cantidad maxima de caracteres.
- * \param s Destino donde guardar
- */
+
+void editar_articulo(WINDOW *win, t_Articulo *articulo);
int main(int argc, char *argv[])
{
/* initialize your non-curses data structures here */
WINDOW *mainwin;
t_Form *form;
+ t_LstArticulos *articulos;
+ t_Articulo *art;
+
+ if (argc != 2) {
+ printf("Modo de uso : %s archivo_de_articulos.xml\n", argv[0]);
+ return 1;
+ }
+ articulos = art_cargar(argv[1]);
+
+ /* Inicio Curses */
signal(SIGINT, finish); /* arrange interrupts to terminate */
mainwin = initscr(); /* initialize the curses library */
+
+ /* Verifico un tamaño minimo de consola */
+ if ((LINES < 25) || (COLS < 80)) {
+ delwin(mainwin);
+ endwin();
+ printf("El tamaño de la consola debe ser de por lo menos 80x25!\n");
+ return 1;
+ }
+
keypad(stdscr, TRUE); /* enable keyboard mapping */
nonl(); /* tell curses not to do NL->CR/NL on output */
cbreak(); /* take input chars one at a time, no wait for \n */
noecho(); /* don't echo input */
+ /* Si se soporta color, los inicializo */
if (has_colors()) {
start_color();
/* Simple color assignment, often all we need. */
/* Creo el formulario */
form = form_crear(mainwin);
- form_agregar_widget(form, INPUT, "Nombre", 15, "");
- form_agregar_widget(form, RADIO, "Voto", 2, "Si,No");
- form_agregar_widget(form, INPUT, "Datos", 30, "");
+ form_agregar_widget(form, INPUT, "Numero de Articulo", 8, "");
form_ejecutar(form, 10, 10);
-
-
- delwin(mainwin);
- endwin();
- /* Imprimo los datos! */
- printf("Datos Ingresados : \n");
- printf("\tNombre : %s\n", form_obtener_valor(form, "Nombre"));
- printf("\tVoto : %s\n", form_obtener_valor(form, "Voto"));
- printf("\tDatos : %s\n", form_obtener_valor(form, "Datos"));
+ art = art_obtener(articulos, form_obtener_valor(form, "Numero de Articulo"));
+ if (art != NULL) {
+ editar_articulo(mainwin, art);
+ }
/* Libero el formulario */
+
+ delwin(mainwin);
+ endwin();
+
form_destruir(form);
+ art_liberar(articulos);
MD_Listar();
return 0;
}
+void editar_articulo(WINDOW *win, t_Articulo *articulo)
+{
+ t_Form *form;
+ form = form_crear(win);
+ form_agregar_widget(form, INPUT, "Numero de Artículo", 8, articulo->numero);
+ form_agregar_widget(form, INPUT, "Descripción", 50, articulo->desc);
+ form_agregar_widget(form, INPUT, "Presentación", 30, articulo->presentacion);
+ form_agregar_widget(form, INPUT, "Stock Actual", 8, articulo->existencia);
+ form_agregar_widget(form, INPUT, "PVU", 30, articulo->pvu);
+ form_agregar_widget(form, INPUT, "Stock Mínimo", 8, articulo->emin);
+ form_ejecutar(form, 10, 10);
+
+ form_destruir(form);
+}
static void finish(int sig)
{
endwin();
/* do your non-curses wrapup here */
-
exit(0);
}