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 MenuPermission checkPermissionToBeginSession(
ModControllableAudio* modControllable, int32_t whichThing,
35 void beginSession(MenuItem* navigatedBackwardFrom)
override;
38 bool hasItem(
const MenuItem* item)
override;
39 void setCurrentItem(
const MenuItem* item)
override;
42 void renderMenuItems(std::span<MenuItem*> items,
const MenuItem* currentItem)
override;
43 void selectMenuItem(int32_t pageNumber, int32_t itemPos)
override;
44 void handleInstrumentButtonPress(std::span<MenuItem*> visiblePageItems,
const MenuItem* previous,
45 int32_t pressedButtonPosition)
override;
46 Paging& preparePaging(std::span<MenuItem*> items,
const MenuItem*)
override;
47 void switchVisiblePage(int32_t direction)
override;
50 std::vector<HorizontalMenu*> menus_{};
51 HorizontalMenu* current_menu_{
nullptr};
52 MenuItem* navigated_backward_from{
nullptr};