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