26class HorizontalMenuGroup final :
public HorizontalMenu {
28 HorizontalMenuGroup(std::initializer_list<HorizontalMenu*> menus)
29 : HorizontalMenu(l10n::String::STRING_FOR_NONE, {}), menus_{menus} {}
31 [[nodiscard]] std::string_view
getTitle()
const override;
32 bool focusChild(
const MenuItem* child)
override;
33 void beginSession(MenuItem* navigatedBackwardFrom)
override;
35 bool hasItem(
const MenuItem* item)
override;
36 void setCurrentItem(
const MenuItem* item)
override;
39 void renderMenuItems(std::span<MenuItem*> items,
const MenuItem* currentItem)
override;
40 void selectMenuItem(int32_t pageNumber, int32_t itemPos)
override;
41 void handleInstrumentButtonPress(std::span<MenuItem*> visiblePageItems,
const MenuItem* previous,
42 int32_t pressedButtonPosition)
override;
43 Paging& preparePaging(std::span<MenuItem*> items,
const MenuItem*)
override;
44 void switchVisiblePage(int32_t direction)
override;
47 std::vector<HorizontalMenu*> menus_{};
48 HorizontalMenu* current_menu_{
nullptr};
49 MenuItem* navigated_backward_from{
nullptr};