Audacity 3.2.0
|
Namespaces | |
namespace | detail |
Classes | |
struct | CommandGroupItem |
struct | CommandItem |
struct | ConditionalGroupItem |
class | FinderScope |
struct | ItemProperties |
A mix-in discovered by dynamic_cast; independent of the Traits. More... | |
struct | ItemRegistry |
struct | MenuItem |
struct | MenuItemData |
struct | MenuItems |
struct | MenuPart |
struct | Options |
struct | SpecialItem |
struct | Traits |
struct | Visitor |
Typedefs | |
using | CheckFn = std::function< bool(AudacityProject &) > |
using | Condition = std::function< bool()> |
using | AttachedItem = RegisteredItem< ItemRegistry > |
Functions | |
template<typename RegistryTraits > | |
static bool | IsSection (const GroupItem< RegistryTraits > &item) |
MENUS_API void | Visit (Visitor< Traits > &visitor, AudacityProject &project) |
Variables | |
Factories | |
The following, and Registry::Indirect(), are the functions to use directly to specify elements of menu groupings. | |
constexpr auto | Items = Callable::UniqueMaker<MenuItems>() |
constexpr auto | Section = Callable::UniqueMaker<MenuPart>() |
constexpr auto | Menu = Callable::UniqueMaker<MenuItem>() |
Items will appear in a main toolbar menu or in a sub-menu. More... | |
constexpr auto | ConditionalItems = Callable::UniqueMaker<ConditionalGroupItem>() |
constexpr auto | Command = Callable::UniqueMaker<CommandItem>() |
constexpr auto | CommandGroup |
using MenuRegistry::AttachedItem = typedef RegisteredItem<ItemRegistry> |
Definition at line 470 of file MenuRegistry.h.
using MenuRegistry::CheckFn = typedef std::function< bool(AudacityProject&) > |
Definition at line 34 of file MenuRegistry.h.
using MenuRegistry::Condition = typedef std::function<bool()> |
Definition at line 230 of file MenuRegistry.h.
|
inlinestatic |
Definition at line 197 of file MenuRegistry.h.
References MenuRegistry::ItemProperties::GetProperties(), and MenuRegistry::ItemProperties::Section.
Referenced by CommandManager::Populator::DoBeginGroup(), and CommandManager::Populator::DoEndGroup().
void MenuRegistry::Visit | ( | Visitor< Traits > & | visitor, |
AudacityProject & | project | ||
) |
Definition at line 193 of file MenuRegistry.cpp.
References Items, MenuPathStart, project, MenuRegistry::ItemRegistry::Registry(), Registry::VisitWithFunctions(), and wxT().
Referenced by compileTest(), PluginManager::GetConfigValue(), ToolDock::LayoutToolBars(), anonymous_namespace{EditMenus.cpp}::OnCut(), anonymous_namespace{HelpMenus.cpp}::OnMenuTree(), ToolDock::PositionBar(), PluginManager::SetConfigValue(), and Tester< Const, ref >::testCase().
|
constexpr |
Definition at line 456 of file MenuRegistry.h.
Referenced by anonymous_namespace{MenuHelper.cpp}::AddEffectMenuItemGroup(), anonymous_namespace{PluginMenus.cpp}::AnalyzeMenu(), anonymous_namespace{ClipMenus.cpp}::ClipCursorItems(), anonymous_namespace{ClipMenus.cpp}::ClipSelectMenu(), anonymous_namespace{SelectMenus.cpp}::CursorMenu(), BuiltinCommandsModule::DiscoverPluginsAtPath(), anonymous_namespace{EditMenus.cpp}::EditMenu(), anonymous_namespace{PluginMenus.cpp}::EffectMenu(), anonymous_namespace{SelectMenus.cpp}::ExtraCursorMenu(), anonymous_namespace{DeviceToolBar.cpp}::ExtraDeviceMenu(), anonymous_namespace{EditMenus.cpp}::ExtraEditMenu(), anonymous_namespace{FileMenus.cpp}::ExtraExportMenu(), anonymous_namespace{NavigationMenus.cpp}::ExtraFocusMenu(), anonymous_namespace{NavigationMenus.cpp}::ExtraGlobalCommands(), anonymous_namespace{ExtraMenus.cpp}::ExtraMiscItems(), anonymous_namespace{MeterToolBar.cpp}::ExtraMixerMenu(), anonymous_namespace{TranscriptionToolBar.cpp}::ExtraPlayAtSpeedItems(), anonymous_namespace{SelectMenus.cpp}::ExtraSeekMenu(), anonymous_namespace{TransportMenus.cpp}::ExtraSelectionItems(), anonymous_namespace{SelectMenus.cpp}::ExtraSelectionMenu(), anonymous_namespace{TimelineMenus.cpp}::ExtraSelectionMenu(), anonymous_namespace{ClipMenus.cpp}::ExtraTimeShiftItems(), anonymous_namespace{ToolsToolBar.cpp}::ExtraToolsMenu(), anonymous_namespace{TrackMenus.cpp}::ExtraTrackMenu(), anonymous_namespace{TransportMenus.cpp}::ExtraTransportMenu(), anonymous_namespace{FileMenus.cpp}::FileMenu(), anonymous_namespace{PluginMenus.cpp}::GenerateMenu(), anonymous_namespace{HelpMenus.cpp}::HelpMenu(), anonymous_namespace{Scrubbing.cpp}::KeyboardScrubbingItems(), anonymous_namespace{LabelMenus.cpp}::LabelEditMenus(), TrackMenuTable::OnSetName(), PluginMenuItems(), anonymous_namespace{BatchProcessDialog.cpp}::PopulateMacrosMenu(), DEFINE_VERSION_CHECK::RegisterMenuItems(), anonymous_namespace{NyqBench.cpp}::RegisterMenuItems(), anonymous_namespace{SelectMenus.cpp}::SelectMenu(), MacroCommandDialog::SetCommandAndParams(), anonymous_namespace{SpectrumView.cpp}::SpectralSelectionMenu(), WaveTrackAffordanceControls::StartEditClipName(), anonymous_namespace{Scrubbing.cpp}::ToolbarMenu(), anonymous_namespace{ToolbarMenus.cpp}::ToolbarsMenu(), anonymous_namespace{PluginMenus.cpp}::ToolsMenu(), anonymous_namespace{TrackMenus.cpp}::TracksMenu(), anonymous_namespace{TransportMenus.cpp}::TransportMenu(), and anonymous_namespace{ViewMenus.cpp}::ViewMenu().
|
constexpr |
Definition at line 458 of file MenuRegistry.h.
Referenced by anonymous_namespace{TrackMenus.cpp}::TracksMenu().
|
constexpr |
These items register in the CommandManager but are not shown in menus if the condition evaluates false.
The name is untranslated. Try to keep the name stable across Audacity versions. Name for conditional group must be non-empty.
Definition at line 454 of file MenuRegistry.h.
Referenced by anonymous_namespace{ExtraMenus.cpp}::ExtraMenu().
|
constexpr |
Variadic constructor from pointers to subordinate items, which are moved into the result.
Null pointers are permitted, and ignored when building the menu. Items are spliced into the enclosing menu. The name is untranslated and may be empty, to make the group transparent in identification of items by path. Otherwise try to keep the name stable across Audacity versions.
Definition at line 427 of file MenuRegistry.h.
Referenced by anonymous_namespace{MenuHelper.cpp}::AddGroupedEffectMenuItems(), anonymous_namespace{PluginMenus.cpp}::AnalyzeMenu(), anonymous_namespace{ClipMenus.cpp}::ClipCursorItems(), anonymous_namespace{PluginMenus.cpp}::EffectMenu(), anonymous_namespace{NavigationMenus.cpp}::ExtraGlobalCommands(), anonymous_namespace{ExtraMenus.cpp}::ExtraMiscItems(), anonymous_namespace{TranscriptionToolBar.cpp}::ExtraPlayAtSpeedItems(), anonymous_namespace{TransportMenus.cpp}::ExtraSelectionItems(), anonymous_namespace{ClipMenus.cpp}::ExtraTimeShiftItems(), anonymous_namespace{PluginMenus.cpp}::GenerateMenu(), anonymous_namespace{HelpMenus.cpp}::HelpMenu(), anonymous_namespace{Scrubbing.cpp}::KeyboardScrubbingItems(), anonymous_namespace{LabelMenus.cpp}::LabelEditMenus(), anonymous_namespace{MenuHelper.cpp}::MakeAddGroupItems(), audacity::cloud::audiocom::sync::anonymous_namespace{AudioComDialogBase.cpp}::Idler::OnIdle(), PluginMenuItems(), MenuHelper::PopulateEffectsMenu(), anonymous_namespace{PluginMenus.cpp}::ToolsMenu(), and Visit().
|
constexpr |
Items will appear in a main toolbar menu or in a sub-menu.
The name is untranslated. Try to keep the name stable across Audacity versions. If the name of a menu is empty, then subordinate items cannot be located by path.
Definition at line 445 of file MenuRegistry.h.
Referenced by anonymous_namespace{MenuHelper.cpp}::AddEffectMenuItemGroup(), anonymous_namespace{MenuHelper.cpp}::AddGroupedEffectMenuItems(), anonymous_namespace{PluginMenus.cpp}::AnalyzeMenu(), anonymous_namespace{ClipMenus.cpp}::ClipSelectMenu(), anonymous_namespace{SelectMenus.cpp}::CursorMenu(), anonymous_namespace{EditMenus.cpp}::EditMenu(), anonymous_namespace{PluginMenus.cpp}::EffectMenu(), anonymous_namespace{SelectMenus.cpp}::ExtraCursorMenu(), anonymous_namespace{DeviceToolBar.cpp}::ExtraDeviceMenu(), anonymous_namespace{EditMenus.cpp}::ExtraEditMenu(), anonymous_namespace{FileMenus.cpp}::ExtraExportMenu(), anonymous_namespace{NavigationMenus.cpp}::ExtraFocusMenu(), anonymous_namespace{ExtraMenus.cpp}::ExtraMenu(), anonymous_namespace{MeterToolBar.cpp}::ExtraMixerMenu(), anonymous_namespace{TranscriptionToolBar.cpp}::ExtraPlayAtSpeedMenu(), ExtraScriptablesIIMenu(), ExtraScriptablesIMenu(), anonymous_namespace{SelectMenus.cpp}::ExtraSeekMenu(), anonymous_namespace{SelectMenus.cpp}::ExtraSelectionMenu(), anonymous_namespace{TimelineMenus.cpp}::ExtraSelectionMenu(), anonymous_namespace{ToolsToolBar.cpp}::ExtraToolsMenu(), anonymous_namespace{TrackMenus.cpp}::ExtraTrackMenu(), anonymous_namespace{TransportMenus.cpp}::ExtraTransportMenu(), anonymous_namespace{FileMenus.cpp}::FileMenu(), anonymous_namespace{PluginMenus.cpp}::GenerateMenu(), anonymous_namespace{HelpMenus.cpp}::HelpMenu(), anonymous_namespace{LabelMenus.cpp}::LabelEditMenus(), anonymous_namespace{MenuHelper.cpp}::MakeAddGroupItems(), KeyConfigPrefs::OnDefaults(), PluginMenuItems(), anonymous_namespace{SelectMenus.cpp}::SelectMenu(), anonymous_namespace{SpectrumView.cpp}::SpectralSelectionMenu(), anonymous_namespace{Scrubbing.cpp}::ToolbarMenu(), anonymous_namespace{ToolbarMenus.cpp}::ToolbarsMenu(), anonymous_namespace{PluginMenus.cpp}::ToolsMenu(), anonymous_namespace{TrackMenus.cpp}::TracksMenu(), anonymous_namespace{TransportMenus.cpp}::TransportMenu(), anonymous_namespace{RealtimeEffectPanel.cpp}::EffectsMenuHelper::UpdateEffectMenuItems(), and anonymous_namespace{ViewMenus.cpp}::ViewMenu().
|
constexpr |
Like Items, but insert a menu separator between the menu section and any other items or sections before or after it in the same (innermost, enclosing) menu.
It's not necessary that the sisters of sections be other sections, but it might clarify the logical groupings.
Definition at line 436 of file MenuRegistry.h.
Referenced by anonymous_namespace{PluginMenus.cpp}::AnalyzeMenu(), anonymous_namespace{EditMenus.cpp}::EditMenu(), anonymous_namespace{PluginMenus.cpp}::EffectMenu(), anonymous_namespace{FileMenus.cpp}::ExtraExportMenu(), anonymous_namespace{ExtraMenus.cpp}::ExtraMenu(), anonymous_namespace{FileMenus.cpp}::FileMenu(), anonymous_namespace{PluginMenus.cpp}::GenerateMenu(), anonymous_namespace{HelpMenus.cpp}::HelpMenu(), anonymous_namespace{LabelMenus.cpp}::LabelEditMenus(), PluginMenuItems(), MenuHelper::PopulateEffectsMenu(), DEFINE_VERSION_CHECK::RegisterMenuItems(), anonymous_namespace{NyqBench.cpp}::RegisterMenuItems(), anonymous_namespace{SelectMenus.cpp}::SelectMenu(), anonymous_namespace{ToolbarMenus.cpp}::ToolbarsMenu(), anonymous_namespace{PluginMenus.cpp}::ToolsMenu(), anonymous_namespace{TrackMenus.cpp}::TracksMenu(), anonymous_namespace{TransportMenus.cpp}::TransportMenu(), anonymous_namespace{RealtimeEffectPanel.cpp}::EffectsMenuHelper::UpdateEffectMenuItems(), and anonymous_namespace{ViewMenus.cpp}::ViewMenu().