@@ 114,7 114,6 @@ static Janet jKEY_UP(int32_t argc, Janet *argv){
return janet_wrap_integer(KEY_UP);
}
-
// color and attribute stuff
static Janet jstart_color(int32_t argc, Janet *argv){
janet_fixarity(argc, 0);
@@ 124,13 123,14 @@ static Janet jstart_color(int32_t argc, Janet *argv){
static Janet jitems(int32_t argc, Janet *argv){
janet_fixarity(argc, 1);
- char *choices[] = {"Test", "Test2"};
+ JanetArray *jarray = janet_getarray(argv, 0);
ITEM **items;
- int n_choices = sizeof(choices)/sizeof(choices[0]);
+ int n_choices = jarray->count;
int i;
items = (ITEM **) calloc(n_choices + 1, sizeof(ITEM *));
- for(i = 0;i < n_choices;i++){
- items[i] = new_item(choices[i], choices[i]);
+ for(i = 0; i < n_choices; i++){
+ const uint8_t *value = janet_unwrap_string(jarray->data[i]);
+ items[i] = new_item(value, value);
}
items[n_choices] = (ITEM *) NULL;
return janet_wrap_pointer(items);
@@ 12,6 12,8 @@
(def items (nc/items choices))
(nc/refresh)
(def menu (nc/new_menu items))
(nc/post_menu menu)
@@ 20,7 22,6 @@
(while true
(let [c (nc/getch)]
(nc/mvwprintw (nc/stdscr) 5 1 (string c (nc/KEY_DOWN) (nc/KEY_UP)))
(case c
(nc/KEY_DOWN) (nc/menu_driver menu (nc/REQ_DOWN_ITEM))
(nc/KEY_UP) (nc/menu_driver menu (nc/REQ_UP_ITEM)))))