diff options
author | jkh <jkh@FreeBSD.org> | 1996-04-16 12:17:27 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1996-04-16 12:17:27 +0000 |
commit | 24a0bc2e7799a19dab39bf6c633ee7cd52b349ff (patch) | |
tree | 4657bce2c0155f54b1e409704ce7296c2c885a8a /gnu/lib/libdialog/TESTS/check1.c | |
parent | 2d55190c7fa36b39ad2d0189168c9fe4b1558bb7 (diff) | |
download | FreeBSD-src-24a0bc2e7799a19dab39bf6c633ee7cd52b349ff.zip FreeBSD-src-24a0bc2e7799a19dab39bf6c633ee7cd52b349ff.tar.gz |
More changes to attempt to make this whole new dialog scheme more
robust. The new "fire" actions, while affording signficantly more
interactivity to libdialog, come at a cost - if the fire action trashes
the screen then you're not going to be in Kansas anymore when you
come back to the menu and there had better be considerable extra
smarts in place for coping with such a situation. These changes are my
attempt to do just that.
Diffstat (limited to 'gnu/lib/libdialog/TESTS/check1.c')
-rw-r--r-- | gnu/lib/libdialog/TESTS/check1.c | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/gnu/lib/libdialog/TESTS/check1.c b/gnu/lib/libdialog/TESTS/check1.c index b66f48b..e8a0751 100644 --- a/gnu/lib/libdialog/TESTS/check1.c +++ b/gnu/lib/libdialog/TESTS/check1.c @@ -13,7 +13,7 @@ * the author assume any responsibility for damages incurred with * its use. * - * $Id: check1.c,v 1.1 1996/01/01 03:45:22 jkh Exp $ + * $Id: check1.c,v 1.2 1996/04/07 03:20:50 jkh Exp $ */ #include <stdio.h> @@ -28,19 +28,19 @@ static int getBool(dialogMenuItem *self) { - if (self->data && *((int *)self->data)) - return TRUE; - return FALSE; + if (self->data && *((int *)self->data)) + return TRUE; + return FALSE; } static int setBool(dialogMenuItem *self) { - if (self->data) { - *((int *)self->data) = !*((int *)self->data); - return DITEM_SUCCESS; - } - return DITEM_FAILURE; + if (self->data) { + *((int *)self->data) = !*((int *)self->data); + return DITEM_SUCCESS; + } + return DITEM_FAILURE; } static int german_book, italian_book, slang_book; @@ -48,17 +48,17 @@ static int german_book, italian_book, slang_book; static int clearBooks(dialogMenuItem *self) { - german_book = italian_book = slang_book = FALSE; - return DITEM_REDRAW; + german_book = italian_book = slang_book = FALSE; + return DITEM_SUCCESS | DITEM_REDRAW; } /* menu2 - A more advanced way of using checked and fire hooks to manipulate the backing-variables directly */ - /* prompt title checked fire sel data */ +/* prompt title checked fire sel data */ static dialogMenuItem menu2[] = { - { "German", "Buy book on learning German", getBool, setBool, NULL, &german_book}, - { "Italian", "Buy book on learning Italian", getBool, setBool, NULL, &italian_book }, - { "Slang", "Buy book on commonly used insults", getBool, setBool, NULL, &slang_book }, - { "Clear", "Clear book list", NULL, clearBooks, NULL, NULL, ' ', ' ', ' ' }, + { "German", "Buy book on learning German", getBool, setBool, NULL, &german_book}, + { "Italian", "Buy book on learning Italian", getBool, setBool, NULL, &italian_book }, + { "Slang", "Buy book on commonly used insults", getBool, setBool, NULL, &slang_book }, + { "Clear", "Clear book list", NULL, clearBooks, NULL, NULL, ' ', ' ', ' ' }, }; /* End of hook functions */ @@ -67,16 +67,16 @@ static dialogMenuItem menu2[] = { int main(int argc, unsigned char *argv[]) { - int retval; - - init_dialog(); - - retval = dialog_checklist("this is a dialog_checklist() in action, test #1", - "this checklist menu shows off some of the straight-forward features\n" - "of the new menu system's check & fire dispatch hooks", -1, -1, 4, -4, menu2, NULL); - dialog_clear(); - fprintf(stderr, "returned value for dialog_checklist was %d (%d %d %d)\n", retval, german_book, italian_book, slang_book); - - end_dialog(); - return 0; + int retval; + + init_dialog(); + + retval = dialog_checklist("this is a dialog_checklist() in action, test #1", + "this checklist menu shows off some of the straight-forward features\n" + "of the new menu system's check & fire dispatch hooks", -1, -1, 4, -4, menu2, NULL); + dialog_clear(); + fprintf(stderr, "returned value for dialog_checklist was %d (%d %d %d)\n", retval, german_book, italian_book, slang_book); + + end_dialog(); + return 0; } |