Audacity  3.0.3
Classes | Namespaces | Typedefs | Functions
CommandManager.h File Reference
#include "Identifier.h"
#include "ClientData.h"
#include "CommandFunctors.h"
#include "CommandFlag.h"
#include "Keyboard.h"
#include "Prefs.h"
#include "Registry.h"
#include <vector>
#include "XMLTagHandler.h"
#include <unordered_map>
Include dependency graph for CommandManager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  CommandManager
 CommandManager implements a system for organizing all user-callable commands. More...
 
struct  CommandManager::Options
 
struct  MenuVisitor
 
struct  ToolbarMenuVisitor
 
struct  MenuTable::MenuSection
 
struct  MenuTable::WholeMenu
 
struct  MenuTable::MenuItem
 
struct  MenuTable::ConditionalGroupItem
 
class  MenuTable::FinderScope
 
struct  MenuTable::CommandItem
 
struct  MenuTable::CommandGroupItem
 
struct  MenuTable::SpecialItem
 
struct  MenuTable::MenuPart
 
struct  MenuTable::AttachedItem
 

Namespaces

 MenuTable
 

Typedefs

using CommandParameter = CommandID
 
using MenuBarList = std::vector< MenuBarListEntry >
 
using SubMenuList = std::vector< SubMenuListEntry >
 
using CommandList = std::vector< std::unique_ptr< CommandListEntry > >
 
using CommandKeyHash = std::unordered_map< NormalizedKeyString, CommandListEntry * >
 
using CommandNameHash = std::unordered_map< CommandID, CommandListEntry * >
 
using CommandNumericIDHash = std::unordered_map< int, CommandListEntry * >
 
using MenuTable::MenuItems = ConcreteGroupItem< true, ToolbarMenuVisitor >
 

Functions

template<typename... Args>
std::unique_ptr< MenuItems > MenuTable::Items (const Identifier &internalName, Args &&... args)
 
template<typename... Args>
std::unique_ptr< MenuPart > MenuTable::Section (const Identifier &internalName, Args &&... args)
 
template<typename... Args>
std::unique_ptr< MenuItem > MenuTable::Menu (const Identifier &internalName, const TranslatableString &title, Args &&... args)
 
std::unique_ptr< MenuItem > MenuTable::Menu (const Identifier &internalName, const TranslatableString &title, BaseItemPtrs &&items)
 
template<typename... Args>
std::unique_ptr< ConditionalGroupItem > MenuTable::ConditionalItems (const Identifier &internalName, ConditionalGroupItem::Condition condition, Args &&... args)
 
std::unique_ptr< ConditionalGroupItem > MenuTable::ConditionalItems (const Identifier &internalName, ConditionalGroupItem::Condition condition, BaseItemPtrs &&items)
 
template<typename... Args>
BaseItemPtr MenuTable::MenuOrItems (const Identifier &internalName, const TranslatableString &title, Args &&... args)
 
BaseItemPtr MenuTable::MenuOrItems (const Identifier &internalName, const TranslatableString &title, BaseItemPtrs &&items)
 
template<typename Handler >
std::unique_ptr< CommandItem > MenuTable::Command (const CommandID &name, const TranslatableString &label_in, void(Handler::*pmf)(const CommandContext &), CommandFlag flags, const CommandManager::Options &options={}, CommandHandlerFinder finder=FinderScope::DefaultFinder())
 
template<typename Handler >
std::unique_ptr< CommandGroupItem > MenuTable::CommandGroup (const Identifier &name, std::vector< ComponentInterfaceSymbol > items, void(Handler::*pmf)(const CommandContext &), CommandFlag flags, bool isEffect=false, CommandHandlerFinder finder=FinderScope::DefaultFinder())
 
std::unique_ptr< SpecialItem > MenuTable::Special (const Identifier &name, const SpecialItem::Appender &fn)
 
void MenuTable::DestroyRegistry ()
 

Typedef Documentation

◆ CommandKeyHash

using CommandKeyHash = std::unordered_map<NormalizedKeyString, CommandListEntry*>

Definition at line 49 of file CommandManager.h.

◆ CommandList

using CommandList = std::vector<std::unique_ptr<CommandListEntry> >

Definition at line 47 of file CommandManager.h.

◆ CommandNameHash

using CommandNameHash = std::unordered_map<CommandID, CommandListEntry*>

Definition at line 50 of file CommandManager.h.

◆ CommandNumericIDHash

using CommandNumericIDHash = std::unordered_map<int, CommandListEntry*>

Definition at line 51 of file CommandManager.h.

◆ CommandParameter

Definition at line 34 of file CommandManager.h.

◆ MenuBarList

using MenuBarList = std::vector < MenuBarListEntry >

Definition at line 42 of file CommandManager.h.

◆ SubMenuList

using SubMenuList = std::vector < SubMenuListEntry >

Definition at line 43 of file CommandManager.h.