diff options
Diffstat (limited to 'contrib/bsddialog/examples_library/mixedlist.c')
-rw-r--r-- | contrib/bsddialog/examples_library/mixedlist.c | 60 |
1 files changed, 34 insertions, 26 deletions
diff --git a/contrib/bsddialog/examples_library/mixedlist.c b/contrib/bsddialog/examples_library/mixedlist.c index 2a4e9102164c..6d286996931b 100644 --- a/contrib/bsddialog/examples_library/mixedlist.c +++ b/contrib/bsddialog/examples_library/mixedlist.c @@ -8,16 +8,18 @@ * <http://creativecommons.org/publicdomain/zero/1.0/>. */ -#include <stdio.h> -#include <string.h> - #include <bsddialog.h> +#include <stdio.h> int main() { - int i, j, output; + int output; + unsigned int i, j; struct bsddialog_conf conf; struct bsddialog_menuitem item; + struct bsddialog_menuitem sep1[1] = { + { "", true, 0, "Checklist", "(desc)", "" } + }; struct bsddialog_menuitem check[5] = { { "+", true, 0, "Name 1", "Desc 1", "Bottom Desc 1" }, { "" , false, 0, "Name 2", "Desc 2", "Bottom Desc 2" }, @@ -25,8 +27,9 @@ int main() { "" , false, 0, "Name 4", "Desc 4", "Bottom Desc 4" }, { "+", true, 0, "Name 5", "Desc 5", "Bottom Desc 5" } }; - struct bsddialog_menuitem sep[1] = { - { "", true, 0, "Radiolist", "(desc)", "" } + struct bsddialog_menuitem sep2[2] = { + { "", true, 0, "Radiolist", "(desc)", "" }, + { "", true, 0, "Subtitle", "(desc)", "" } }; struct bsddialog_menuitem radio[5] = { { "", true, 0, "Name 1", "Desc 1", "Bottom Desc 1" }, @@ -35,36 +38,41 @@ int main() { "+", false, 0, "Name 4", "Desc 4", "Bottom Desc 4" }, { "", false, 0, "Name 5", "Desc 5", "Bottom Desc 5" } }; - struct bsddialog_menugroup group[3] = { - { BSDDIALOG_CHECKLIST, 5, check }, - { BSDDIALOG_SEPARATOR, 1, sep }, - { BSDDIALOG_RADIOLIST, 5, radio } + struct bsddialog_menugroup group[4] = { + { BSDDIALOG_SEPARATOR, 1, sep1, 0 }, + { BSDDIALOG_CHECKLIST, 5, check, 0 }, + { BSDDIALOG_SEPARATOR, 2, sep2, 0 }, + { BSDDIALOG_RADIOLIST, 5, radio, 0 } }; + if (bsddialog_init() == BSDDIALOG_ERROR) { + printf("Error: %s\n", bsddialog_geterror()); + return (1); + } bsddialog_initconf(&conf); - conf.title = "mixedmenu"; - - if (bsddialog_init() < 0) - return -1; - - output = bsddialog_mixedlist(&conf, "dialog4ports", 20, 30, 11, 3, group, - NULL,NULL); - + conf.title = "mixedlist"; + output = bsddialog_mixedlist(&conf, "Example", 20, 0, 13, 4, group, + NULL, NULL); bsddialog_end(); + if (output == BSDDIALOG_ERROR) { + printf("Error: %s\n", bsddialog_geterror()); + return (1); + } printf("Mixedlist:\n"); - for (i=0; i<3; i++) { - for (j=0; j<group[i].nitems; j++) { + for (i = 0; i < 4; i++) { + for (j = 0; j < group[i].nitems; j++) { item = group[i].items[j]; if (group[i].type == BSDDIALOG_SEPARATOR) printf("----- %s -----\n", item.name); else if (group[i].type == BSDDIALOG_RADIOLIST) - printf(" (%c) %s\n", item.on ? '*' : ' ', item.name); - else /* BSDDIALOG_PORTCHECKLIST */ - printf(" [%c] %s\n", item.on ? 'X' : ' ', item.name); + printf(" (%c) %s\n", + item.on ? '*' : ' ', item.name); + else /* BSDDIALOG_CHECKLIST */ + printf(" [%c] %s\n", + item.on ? 'X' : ' ', item.name); } } - - - return output; + + return (0); } |