X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=test%2Fdemo_forms.c;h=e3691a6b1aa33b109c8c739b7002dfe699045923;hp=7c0de1b9e3c392af3d05a352a04dac19f02214b3;hb=8f527f87c0b979d9c2598ef5c3394463af288468;hpb=027ae42953e3186daed8f3882da73de48291b606 diff --git a/test/demo_forms.c b/test/demo_forms.c index 7c0de1b9..e3691a6b 100644 --- a/test/demo_forms.c +++ b/test/demo_forms.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2003-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 2003-2007,2008 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -26,7 +26,7 @@ * authorization. * ****************************************************************************/ /* - * $Id: demo_forms.c,v 1.22 2006/12/10 00:30:24 tom Exp $ + * $Id: demo_forms.c,v 1.25 2008/08/04 15:45:04 tom Exp $ * * Demonstrate a variety of functions from the form library. * Thomas Dickey - 2003/4/26 @@ -316,12 +316,16 @@ demo_forms(void) { WINDOW *w; FORM *form; - FIELD *f[100]; + FIELD *f[100]; // FIXME memset to zero int finished = 0, c; unsigned n = 0; int pg; WINDOW *also; +#ifdef NCURSES_MOUSE_VERSION + mousemask(ALL_MOUSE_EVENTS, (mmask_t *) 0); +#endif + help_edit_field(); mvaddstr(4, 57, "Forms Entry Test"); @@ -330,6 +334,7 @@ demo_forms(void) refresh(); /* describe the form */ + memset(f, 0, sizeof(f)); for (pg = 0; pg < 4; ++pg) { char label[80]; sprintf(label, "Sample Form Page %d", pg + 1); @@ -394,35 +399,40 @@ demo_forms(void) f[n++] = (FIELD *) 0; - form = new_form(f); + if ((form = new_form(f)) != 0) { - display_form(form); + display_form(form); - w = form_win(form); - also = newwin(getmaxy(stdscr) - getmaxy(w), COLS, getmaxy(w), 0); - show_current_field(also, form); + w = form_win(form); + also = newwin(getmaxy(stdscr) - getmaxy(w), COLS, getmaxy(w), 0); + show_current_field(also, form); - while (!finished) { - switch (edit_field(form, &c)) { - case E_OK: - break; - case E_UNKNOWN_COMMAND: - finished = my_form_driver(form, c); - break; - default: - beep(); - break; + while (!finished) { + switch (edit_field(form, &c)) { + case E_OK: + break; + case E_UNKNOWN_COMMAND: + finished = my_form_driver(form, c); + break; + default: + beep(); + break; + } + show_current_field(also, form); } - show_current_field(also, form); - } - erase_form(form); + erase_form(form); - free_form(form); + free_form(form); + } for (c = 0; f[c] != 0; c++) free_field(f[c]); noraw(); nl(); + +#ifdef NCURSES_MOUSE_VERSION + mousemask(0, (mmask_t *) 0); +#endif } static void @@ -451,7 +461,7 @@ main(int argc, char *argv[]) setlocale(LC_ALL, ""); - while ((ch = getopt(argc, argv, "dj:m:o:t:")) != EOF) { + while ((ch = getopt(argc, argv, "dj:m:o:t:")) != -1) { switch (ch) { case 'd': d_option = TRUE;