1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-23 07:58:05 +02:00

Define tables for each menu and each Extra sub-menu and more

This commit is contained in:
Paul Licameli 2018-10-20 20:57:40 -04:00
commit e4a39bd135
3 changed files with 1458 additions and 1217 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1156,14 +1156,13 @@ bool Scrubber::CanScrub() const
static CommandHandlerObject &findme(AudacityProject &project)
{ return project.GetScrubber(); }
void Scrubber::AddMenuItems()
MenuTable::BaseItemPtr Scrubber::Menu()
{
auto cm = mProject->GetCommandManager();
using Options = CommandManager::Options;
cm->BeginMenu( _("Scru&bbing") );
MenuTable::BaseItemPtrs ptrs;
for (const auto &item : menuItems) {
cm->AddItem( item.name, wxGetTranslation(item.label),
ptrs.push_back( MenuTable::Command( item.name, wxGetTranslation(item.label),
// No menu items yet have dialogs
false,
findme, static_cast<CommandFunctorPointer>(item.memFn),
@ -1172,9 +1171,11 @@ void Scrubber::AddMenuItems()
? // a checkmark item
Options{}.CheckState( (this->*item.StatusTest)() )
: // not a checkmark item
Options{} );
Options{}
) );
}
cm->EndMenu();
return MenuTable::Menu( _("Scru&bbing"), std::move( ptrs ) );
}
void Scrubber::PopulatePopupMenu(wxMenu &menu)

View File

@ -20,6 +20,7 @@ Paul Licameli split from TrackPanel.cpp
#include "../../widgets/Overlay.h"
#include "../../commands/CommandFunctors.h"
#include "../../commands/CommandContext.h"
#include "../../commands/CommandManager.h" // for MenuTable
#include "../../../include/audacity/Types.h"
class AudacityProject;
@ -127,7 +128,7 @@ public:
bool CanScrub() const;
// For the toolbar
void AddMenuItems();
MenuTable::BaseItemPtr Menu();
// For popup
void PopulatePopupMenu(wxMenu &menu);