MCPcopy Create free account
hub / github.com/audacity/audacity / AppendSubMenu

Method AppendSubMenu

src/toolbars/AudioSetupToolBar.cpp:551–570  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

549}
550
551void AudioSetupToolBar::AppendSubMenu(AudioSetupToolBar &toolbar,
552 wxMenu& menu, const wxArrayString &labels, int checkedItem,
553 Callback callback, const wxString& title)
554{
555 auto subMenu = std::make_unique<wxMenu>();
556 int ii = 0;
557 for (const auto &label : labels) {
558 // Assign fresh ID with wxID_ANY
559 auto subMenuItem = subMenu->AppendRadioItem(wxID_ANY, label);
560 if (ii == checkedItem)
561 subMenuItem->Check();
562 subMenu->Bind(wxEVT_MENU,
563 [&toolbar, callback, ii](wxCommandEvent &){ (toolbar.*callback)(ii); },
564 subMenuItem->GetId());
565 ++ii;
566 }
567 auto menuItem = menu.AppendSubMenu(subMenu.release(), title);
568 if (checkedItem < 0)
569 menuItem->Enable(false);
570}
571
572void AudioSetupToolBar::Choices::AppendSubMenu(AudioSetupToolBar &toolBar,
573 wxMenu &menu, Callback callback, const wxString &title)

Callers 6

NyqBenchMethod · 0.80
InitPart2Method · 0.80
OnAudioSetupMethod · 0.80
OnPopupMethod · 0.80
PopupMenuBuilderMethod · 0.80

Calls 5

BindMethod · 0.80
GetIdMethod · 0.80
CheckMethod · 0.45
releaseMethod · 0.45
EnableMethod · 0.45

Tested by

no test coverage detected