Audacity 3.2.0
Classes | Namespaces | Macros | Variables
CommandManager.cpp File Reference
#include "CommandManager.h"
#include "CommandContext.h"
#include "CommandManagerWindowClasses.h"
#include <wx/app.h>
#include <wx/defs.h>
#include <wx/evtloop.h>
#include <wx/frame.h>
#include <wx/hash.h>
#include <wx/log.h>
#include <wx/menu.h>
#include "../ActiveProject.h"
#include "Journal.h"
#include "JournalOutput.h"
#include "JournalRegistry.h"
#include "../Menus.h"
#include "Project.h"
#include "ProjectWindows.h"
#include "AudacityMessageBox.h"
#include "HelpSystem.h"
#include "../KeyboardCapture.h"
Include dependency graph for CommandManager.cpp:

Go to the source code of this file.

Classes

class  MenuBarListEntry
 MenuBarListEntry is a structure used by CommandManager. More...
 
class  SubMenuListEntry
 SubMenuListEntry is a structure used by CommandManager. More...
 
class  CommandListEntry
 CommandListEntry is a structure used by CommandManager. More...
 

Namespaces

namespace  anonymous_namespace{CommandManager.cpp}
 

Macros

#define MAX_MENU_LEN   20
 
#define MAX_SUBMENU_LEN   15
 
#define COMMAND   XO("Command")
 

Variables

static const AudacityProject::AttachedObjects::RegisteredFactory key
 
constexpr auto anonymous_namespace{CommandManager.cpp}::JournalCode = wxT("CM")
 
Journal::RegisteredCommand anonymous_namespace{CommandManager.cpp}::sCommand
 
static KeyboardCapture::PreFilter::Scope scope1
 
static KeyboardCapture::PostFilter::Scope scope2
 

Macro Definition Documentation

◆ COMMAND

#define COMMAND   XO("Command")

Definition at line 116 of file CommandManager.cpp.

◆ MAX_MENU_LEN

#define MAX_MENU_LEN   20

Definition at line 109 of file CommandManager.cpp.

◆ MAX_SUBMENU_LEN

#define MAX_SUBMENU_LEN   15

Definition at line 110 of file CommandManager.cpp.

Variable Documentation

◆ key

Initial value:
{
return std::make_unique<CommandManager>();
}
}
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
Definition: Project.h:90

Definition at line 200 of file CommandManager.cpp.

Referenced by audacity::sentry::Exception::AddData(), LV2InstanceFeaturesList::AddOption(), ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::Assign(), anonymous_namespace{Registry.cpp}::BadPath(), VampEffectsModule::CheckPluginExist(), CommandManager::Options::CheckTest(), KeyConfigPrefs::Commit(), ShuttleSetAutomation::CouldGet(), anonymous_namespace{VST3Wrapper.cpp}::CreateCache(), ThemeBase::CreateImageCache(), ShuttleSetAutomation::Define(), ShuttleGetAutomation::Define(), ShuttleGetDefinition::Define(), ShuttleSetAutomation::DefineEnum(), ShuttleGetAutomation::DefineEnum(), ShuttleGetDefinition::DefineEnum(), audacity::BasicSettings::DeleteEntry(), AudacityFileConfig::DeleteEntry(), audacity::BasicSettings::DeleteGroup(), AudacityFileConfig::DeleteGroup(), ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::DoFind(), ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::DoGet(), CommandParameters::DoReadDouble(), CommandParameters::DoReadLong(), CommandParameters::DoReadString(), CommandParameters::DoWriteDouble(), CommandParameters::DoWriteLong(), AudacityFileConfig::DoWriteLong(), CommandParameters::DoWriteString(), AudacityFileConfig::DoWriteString(), EffectSettingsExtra::DurationKey(), audacity::BasicSettings::Exists(), anonymous_namespace{ExtraMenus.cpp}::ExtraMiscItems(), EventMonitor::FilterEvent(), ChannelAttachments< Attachment >::Find(), ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::Find(), VampEffectsModule::FindPlugin(), AudioUnitEffectBase::FindPresetKey(), CommandManager::FormatLabelForMenu(), CommandManager::FormatLabelWithDisabledAccel(), anonymous_namespace{Registry.cpp}::ItemOrdering::Get(), CommandManager::Get(), ChannelAttachments< Attachment >::Get(), ClientData::Site< Host, ClientData, ObjectCopyingPolicy, Pointer, ObjectLockingPolicy, RegistryLockingPolicy >::Get(), AVDictionaryWrapper::Get(), ModulePrefs::GetAllModuleStatuses(), anonymous_namespace{VST3Wrapper.cpp}::GetCache(), SettingsWX::GetChildKeys(), PluginSettings::GetConfig(), PluginManager::GetConfigValue(), PluginSettings::GetConfigValue(), KeyView::GetIndexByKey(), KeyView::GetNameByKey(), CommandParameters::GetParameters(), PluginDescriptor::HandleXMLTag(), detail::PluginValidationResult::HandleXMLTag(), CommandManager::HandleXMLTag(), PluginManager::HasConfigValue(), PluginSettings::HasConfigValue(), SettingsWX::HasEntry(), SettingsWX::HasGroup(), AVDictionaryWrapper::HasValue(), AudacityApp::InitPart2(), anonymous_namespace{Registry.cpp}::ItemOrdering::ItemOrdering(), PluginManager::Key(), MeterPanel::Key(), KeyEventToKeyString(), FileHistory::Load(), AudioUnitEffectBase::LoadSettings(), VSTEffectBase::LoadSettings(), VampEffect::LoadSettings(), ThemeBase::LoadThemeComponents(), CommandManager::Options::MakeCheckFn(), SettingsWX::MakePath(), AudioUnitWrapper::MoveSettingsContents(), KeyConfigPrefs::NameFromKey(), NormalizedKeyString::NormalizedKeyString(), TagsEditorDialog::OnChange(), KeyConfigPrefs::OnFilterKeyDown(), Registry::OrderingPreferenceInitializer::operator()(), VST3Utils::ParseAutomationParameterKey(), AudioUnitWrapper::ParameterInfo::ParseKey(), SettingsWX::Read(), audacity::BasicSettings::Read(), CommandParameters::ReadAndVerify(), audacity::BasicSettings::ReadBool(), audacity::BasicSettings::ReadDouble(), CommandParameters::ReadEnum(), CommandParameters::ReadFloat(), audacity::BasicSettings::ReadLong(), audacity::BasicSettings::ReadObject(), SettingsWX::Remove(), PluginManager::RemoveConfig(), PluginSettings::RemoveConfig(), anonymous_namespace{Registry.cpp}::ReportConflictingPlacements(), anonymous_namespace{Registry.cpp}::ReportGroupGroupCollision(), anonymous_namespace{Registry.cpp}::ReportItemItemCollision(), AudioUnitEffectBase::SaveSettings(), VampEffect::SaveSettings(), AVDictionaryWrapper::Set(), PluginSettings::SetConfig(), PluginManager::SetConfigValue(), PluginSettings::SetConfigValue(), KeyView::SetKey(), KeyView::SetKeyByName(), KeyConfigPrefs::SetKeyForSelected(), CommandManager::SetKeyFromIndex(), CommandManager::SetKeyFromName(), CommandParameters::SetParameters(), ShowWarningDialog(), SettingsWX::Write(), audacity::BasicSettings::Write(), CommandParameters::WriteEnum(), CommandParameters::WriteFloat(), and ThemeBase::WriteImageMap().

◆ scope1

Initial value:
{
[]( wxKeyEvent & ) {
auto project = GetActiveProject().lock();
return project && GetProjectFrame( *project ).IsEnabled();
} }
AUDACITY_DLL_API std::weak_ptr< AudacityProject > GetActiveProject()
AUDACITY_DLL_API wxFrame & GetProjectFrame(AudacityProject &project)
Get the top-level window associated with the project (as a wxFrame only, when you do not need to use ...
const auto project

Definition at line 1721 of file CommandManager.cpp.

◆ scope2

Initial value:
{
[]( wxKeyEvent &key ) {
if (auto project = GetActiveProject().lock()) {
return manager.FilterKeyEvent(project.get(), key);
}
else
return false;
} }
static const AudacityProject::AttachedObjects::RegisteredFactory key
static const AttachedProjectObjects::RegisteredFactory manager
static CommandManager & Get(AudacityProject &project)

Definition at line 1728 of file CommandManager.cpp.