27 return MakeCheckFn( setting.GetPath(), setting.GetDefault() );
33 const auto properties =
37 bool shouldDoSeparator =
false;
58 return { !inlined, shouldDoSeparator };
64 const auto properties =
68 bool isExtension =
false;
82 needSeparator.push_back(
false);
83 firstItem.push_back(!isExtension);
90 const auto properties =
101 if ( !needSeparator.empty() )
102 needSeparator.back() =
true;
107 firstItem.pop_back();
108 needSeparator.pop_back();
120 bool separate =
false;
121 if (!needSeparator.empty()) {
122 separate = needSeparator.back() && !firstItem.back();
123 needSeparator.back() =
false;
124 firstItem.back() =
false;
141,
finder{ finder_ }, callback{ callback_ }
142, flags{ flags_ }, options{ options_ }
147 std::vector< ComponentInterfaceSymbol > items_,
153,
finder{ finder_ }, callback{ callback_ }
154, flags{ flags_ }, isEffect{ isEffect_ }
164 return name.empty() ? Anonymous : Weak;
208"File,Edit,Select,View,Transport,Tracks,Generate,Effect,Analyze,Tools,Window,Optional,Help"
210 {
wxT(
"/Optional/Extra/Part1"),
wxT(
211"Transport,Tools,Mixer,Edit,PlayAtSpeed,Seek,Device,Select"
213 {
wxT(
"/Optional/Extra/Part2"),
wxT(
214"Navigation,Focus,Cursor,Track,Scriptables1,Scriptables2"
216 {
wxT(
"/View/Windows"),
wxT(
"UndoHistory,MixerBoard")},
217 {
wxT(
"/Analyze/Analyzers/Windows"),
wxT(
"ContrastAnalyser,PlotSpectrum")},
218 {
wxT(
"/Transport/Basic"),
wxT(
"Play,Record,Scrubbing,Cursor")},
219 {
wxT(
"/View/Other/Toolbars/Toolbars/Other"),
wxT(
220"ShowTransportTB,ShowToolsTB,ShowRecordMeterTB,ShowPlayMeterTB,"
223"ShowEditTB,ShowTranscriptionTB,ShowScrubbingTB,ShowDeviceTB,ShowSelectionTB,"
224"ShowSpectralSelectionTB") },
225 {
wxT(
"/Tracks/Add/Add"),
wxT(
226"NewMonoTrack,NewStereoTrack,NewLabelTrack,NewTimeTrack")},
227 {
wxT(
"/Optional/Extra/Part2/Scriptables1"),
wxT(
228"SelectTime,SelectFrequencies,SelectTracks,SetTrackStatus,SetTrackAudio,"
229"SetTrackVisuals,GetPreference,SetPreference,SetClip,SetEnvelope,SetLabel"
231 {
wxT(
"/Optional/Extra/Part2/Scriptables2"),
wxT(
232"Select,SetTrack,GetInfo,Message,Help,Import2,Export2,OpenProject2,"
233"SaveProject2,Drag,CompareAudio") },
Toolkit-neutral facade for basic user interface services.
std::bitset< NCommandFlags > CommandFlag
std::function< CommandHandlerObject &(AudacityProject &) > CommandHandlerFinder
wxEvtHandler CommandHandlerObject
audacity::BasicSettings * gPrefs
static const auto MenuPathStart
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
This specialization of Setting for bool adds a Toggle method to negate the saved value.
An explicitly nonlocalized string, not meant for the user to see.
Holds a msgid for the translation catalog; may also bind format arguments.
bool ReadBool(const wxString &key, bool defaultValue) const
void VisitWithFunctions(const VisitorFunctions< RegistryTraits > &visitors, const GroupItem< RegistryTraits > *pTopItem, const GroupItem< RegistryTraits > *pRegistry={}, typename RegistryTraits::ComputedItemContextType &computedItemContext=RegistryTraits::ComputedItemContextType::Instance)
CommandGroupItem(const Identifier &name_, std::vector< ComponentInterfaceSymbol > items_, CommandFunctorPointer callback_, CommandFlag flags_, bool isEffect_, CommandHandlerFinder finder_)
~CommandGroupItem() override
CommandItem(const CommandID &name_, const TranslatableString &label_in_, CommandFunctorPointer callback_, CommandFlag flags_, const Options &options_, CommandHandlerFinder finder_)
Common abstract base class for items that are not groups.