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;
37 bool hasItem(
const MenuItem* item)
override;
40 void renderMenuItems(std::span<MenuItem*> items,
const MenuItem* currentItem)
override;
41 void selectMenuItem(int32_t pageNumber, int32_t itemPos)
override;
42 void handleInstrumentButtonPress(std::span<MenuItem*> visiblePageItems,
const MenuItem* previous,
43 int32_t pressedButtonPosition)
override;
44 Paging& preparePaging(std::span<MenuItem*> items,
const MenuItem*)
override;
45 void switchVisiblePage(int32_t direction)
override;
48 std::vector<HorizontalMenu*> menus_{};
49 HorizontalMenu* current_menu_{
nullptr};
50 MenuItem* navigated_backward_from{
nullptr};