1f499134dSBaptiste Daroussin /*- 2f499134dSBaptiste Daroussin * SPDX-License-Identifier: CC0-1.0 3f499134dSBaptiste Daroussin * 4f499134dSBaptiste Daroussin * Written in 2021 by Alfonso Sabato Siciliano. 5f499134dSBaptiste Daroussin * To the extent possible under law, the author has dedicated all copyright 6f499134dSBaptiste Daroussin * and related and neighboring rights to this software to the public domain 7f499134dSBaptiste Daroussin * worldwide. This software is distributed without any warranty, see: 8f499134dSBaptiste Daroussin * <http://creativecommons.org/publicdomain/zero/1.0/>. 9f499134dSBaptiste Daroussin */ 10f499134dSBaptiste Daroussin 11f499134dSBaptiste Daroussin #include <stdio.h> 12f499134dSBaptiste Daroussin #include <string.h> 13f499134dSBaptiste Daroussin 14f499134dSBaptiste Daroussin #include <bsddialog.h> 15f499134dSBaptiste Daroussin 16f499134dSBaptiste Daroussin int main() 17f499134dSBaptiste Daroussin { 18f499134dSBaptiste Daroussin int i, output; 19f499134dSBaptiste Daroussin struct bsddialog_conf conf; 20f499134dSBaptiste Daroussin struct bsddialog_menuitem items[5] = { 21*263660c0SAlfonso Siciliano {"i", true, 0, "Name 1", "Desc 1", "Bottom Desc 1"}, 22*263660c0SAlfonso Siciliano {"ii", false, 0, "Name 2", "Desc 2", "Bottom Desc 2"}, 23*263660c0SAlfonso Siciliano {"iii", true, 0, "Name 3", "Desc 3", "Bottom Desc 3"}, 24*263660c0SAlfonso Siciliano {"iv", false, 0, "Name 4", "Desc 4", "Bottom Desc 4"}, 25*263660c0SAlfonso Siciliano {"v", true, 0, "Name 5", "Desc 5", "Bottom Desc 5"} 26f499134dSBaptiste Daroussin }; 27f499134dSBaptiste Daroussin 28*263660c0SAlfonso Siciliano if (bsddialog_init() == BSDDIALOG_ERROR) { 29*263660c0SAlfonso Siciliano printf("Error: %s\n", bsddialog_geterror()); 30*263660c0SAlfonso Siciliano return (1); 31*263660c0SAlfonso Siciliano } 32*263660c0SAlfonso Siciliano 33f499134dSBaptiste Daroussin bsddialog_initconf(&conf); 34f499134dSBaptiste Daroussin conf.title = "checklist"; 35*263660c0SAlfonso Siciliano output = bsddialog_checklist(&conf, "Example", 15, 30, 5, 5, items, 36*263660c0SAlfonso Siciliano NULL); 37f499134dSBaptiste Daroussin 38f499134dSBaptiste Daroussin bsddialog_end(); 39f499134dSBaptiste Daroussin 40*263660c0SAlfonso Siciliano if (output == BSDDIALOG_ERROR) { 41*263660c0SAlfonso Siciliano printf("Error: %s\n", bsddialog_geterror()); 42*263660c0SAlfonso Siciliano return (1); 43*263660c0SAlfonso Siciliano } 44*263660c0SAlfonso Siciliano 45*263660c0SAlfonso Siciliano if (output == BSDDIALOG_CANCEL) { 46*263660c0SAlfonso Siciliano printf("Cancel\n"); 47*263660c0SAlfonso Siciliano return (0); 48*263660c0SAlfonso Siciliano } 49*263660c0SAlfonso Siciliano 50f499134dSBaptiste Daroussin printf("Checklist:\n"); 51f499134dSBaptiste Daroussin for (i = 0; i < 5; i++) 52f499134dSBaptiste Daroussin printf(" [%c] %s\n", items[i].on ? 'X' : ' ', items[i].name); 53f499134dSBaptiste Daroussin 54*263660c0SAlfonso Siciliano return (output); 55f499134dSBaptiste Daroussin }