Lines Matching defs:menu

9 #include <boot/menu.h>
43 static void run_menu(Menu* menu);
221 draw_menu(Menu *menu)
235 if (menu->Title()) {
239 printf(" %s", menu->Title());
241 - strlen(menu->Title()) - 2 * kOffsetX);
244 MenuItemIterator iterator = menu->ItemIterator();
259 if (menu->CountItems() >= height) {
266 int32 start = sMenuOffset * height / menu->CountItems();
267 int32 end = (sMenuOffset + height) * height / menu->CountItems();
287 first_selectable_item(Menu *menu)
292 while ((item = menu->ItemAt(++index)) != NULL) {
302 last_selectable_item(Menu *menu)
304 int32 index = menu->CountItems();
307 while ((item = menu->ItemAt(--index)) != NULL) {
317 make_item_visible(Menu *menu, int32 selected)
326 draw_menu(menu);
335 select_previous_valid_item(Menu *menu, int32 selected)
338 while ((item = menu->ItemAt(selected)) != NULL) {
346 return first_selectable_item(menu);
353 select_next_valid_item(Menu *menu, int32 selected)
356 while ((item = menu->ItemAt(selected)) != NULL) {
363 if (selected >= menu->CountItems())
364 return last_selectable_item(menu);
371 invoke_item(Menu* menu, MenuItem* item, int32& selected, char key)
373 // leave the menu
376 menu->Hide();
380 (*item->Target())(menu, item);
382 // restore current menu
384 menu->FindSelected(&selected);
385 menu->Show();
386 draw_menu(menu);
393 (*item->Target())(menu, item);
395 // the space key does not exit the menu, only return does
396 if (menu->Type() == CHOICE_MENU
402 (*item->Target())(menu, item);
411 run_menu(Menu* menu)
414 menu->Entered();
415 menu->Show();
417 draw_menu(menu);
421 MenuItem *item = menu->FindSelected(&selected);
424 item = menu->ItemAt(selected);
429 make_item_visible(menu, selected);
434 item = menu->ItemAt(selected);
447 selected = select_previous_valid_item(menu, selected - 1);
452 selected = select_next_valid_item(menu, selected + 1);
456 selected = select_previous_valid_item(menu,
461 selected = select_next_valid_item(menu,
465 selected = first_selectable_item(menu);
468 selected = last_selectable_item(menu);
474 MenuItem *item = menu->ItemAt(selected);
478 make_item_visible(menu, selected);
487 draw_menu(menu);
492 if (item != NULL && invoke_item(menu, item, selected, key))
502 selected = select_next_valid_item(menu, selected + 1);
505 selected = first_selectable_item(menu);
509 MenuItem *item = menu->ItemAt(selected);
513 make_item_visible(menu, selected);
522 draw_menu(menu);
526 && menu->Type() != MAIN_MENU) {
531 shortcut_hook function = menu->FindShortcut(key);
535 item = menu->FindItemByShortcut(key);
536 if (item != NULL && invoke_item(menu, item, selected,
544 menu->Hide();
545 menu->Exited();
553 platform_generic_update_text_menu_item(Menu *menu, MenuItem *item)
555 if (menu->IsHidden())
558 int32 index = menu->IndexOf(item);
567 platform_generic_run_text_menu(Menu *menu)
571 run_menu(menu);
578 platform_generic_get_user_input_text(Menu* menu, MenuItem* item, char* buffer,
586 int32 line = menu->IndexOf(item) - sMenuOffset;
679 draw_menu(menu);