From 99e3dd5d3ffd498cabd53badd83af9cd7ab8eed2 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Mon, 3 Feb 2020 15:33:48 -0500 Subject: [PATCH] Require an identifier for each popup menu item --- .../labeltrack/ui/LabelTrackControls.cpp | 2 +- .../notetrack/ui/NoteTrackControls.cpp | 4 +- .../notetrack/ui/NoteTrackVZoomHandle.cpp | 12 ++-- .../wavetrack/ui/SpectrumVZoomHandle.cpp | 11 ++-- .../wavetrack/ui/WaveTrackControls.cpp | 64 +++++++++---------- .../wavetrack/ui/WaveformVZoomHandle.cpp | 15 +++-- src/tracks/timetrack/ui/TimeTrackControls.cpp | 8 +-- src/tracks/ui/CommonTrackControls.cpp | 10 +-- src/widgets/PopupMenuTable.h | 28 ++++---- 9 files changed, 78 insertions(+), 76 deletions(-) diff --git a/src/tracks/labeltrack/ui/LabelTrackControls.cpp b/src/tracks/labeltrack/ui/LabelTrackControls.cpp index 689923615..886e3d408 100644 --- a/src/tracks/labeltrack/ui/LabelTrackControls.cpp +++ b/src/tracks/labeltrack/ui/LabelTrackControls.cpp @@ -73,7 +73,7 @@ enum BEGIN_POPUP_MENU(LabelTrackMenuTable) BEGIN_POPUP_MENU_SECTION( "Basic" ) - POPUP_MENU_ITEM(OnSetFontID, XO("&Font..."), OnSetFont) + POPUP_MENU_ITEM( "Font", OnSetFontID, XO("&Font..."), OnSetFont) END_POPUP_MENU_SECTION() END_POPUP_MENU() diff --git a/src/tracks/playabletrack/notetrack/ui/NoteTrackControls.cpp b/src/tracks/playabletrack/notetrack/ui/NoteTrackControls.cpp index 8591bec57..15bebb14a 100644 --- a/src/tracks/playabletrack/notetrack/ui/NoteTrackControls.cpp +++ b/src/tracks/playabletrack/notetrack/ui/NoteTrackControls.cpp @@ -132,8 +132,8 @@ void NoteTrackMenuTable::OnChangeOctave(wxCommandEvent &event) BEGIN_POPUP_MENU(NoteTrackMenuTable) BEGIN_POPUP_MENU_SECTION( "Basic" ) - POPUP_MENU_ITEM(OnUpOctaveID, XO("Up &Octave"), OnChangeOctave) - POPUP_MENU_ITEM(OnDownOctaveID, XO("Down Octa&ve"), OnChangeOctave) + POPUP_MENU_ITEM( "Up", OnUpOctaveID, XO("Up &Octave"), OnChangeOctave) + POPUP_MENU_ITEM( "Down", OnDownOctaveID, XO("Down Octa&ve"), OnChangeOctave) END_POPUP_MENU_SECTION() END_POPUP_MENU() diff --git a/src/tracks/playabletrack/notetrack/ui/NoteTrackVZoomHandle.cpp b/src/tracks/playabletrack/notetrack/ui/NoteTrackVZoomHandle.cpp index 0161199f1..b53d1c4a4 100644 --- a/src/tracks/playabletrack/notetrack/ui/NoteTrackVZoomHandle.cpp +++ b/src/tracks/playabletrack/notetrack/ui/NoteTrackVZoomHandle.cpp @@ -258,20 +258,20 @@ BEGIN_POPUP_MENU(NoteTrackVRulerMenuTable) BEGIN_POPUP_MENU_SECTION( "Zoom" ) BEGIN_POPUP_MENU_SECTION( "Basic" ) - POPUP_MENU_ITEM(OnZoomResetID, XO("Zoom Reset\tShift-Right-Click"), OnZoomReset) - POPUP_MENU_ITEM(OnZoomMaxID, XO("Max Zoom"), OnZoomMax) + POPUP_MENU_ITEM( "Reset", OnZoomResetID, XO("Zoom Reset\tShift-Right-Click"), OnZoomReset) + POPUP_MENU_ITEM( "Max", OnZoomMaxID, XO("Max Zoom"), OnZoomMax) END_POPUP_MENU_SECTION() BEGIN_POPUP_MENU_SECTION( "InOut" ) - POPUP_MENU_ITEM(OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical) - POPUP_MENU_ITEM(OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical) + POPUP_MENU_ITEM( "In", OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical) + POPUP_MENU_ITEM( "Out", OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical) END_POPUP_MENU_SECTION() END_POPUP_MENU_SECTION() BEGIN_POPUP_MENU_SECTION( "Pan" ) BEGIN_POPUP_MENU_SECTION( "Octaves" ) - POPUP_MENU_ITEM(OnUpOctaveID, XO("Up &Octave"), OnUpOctave) - POPUP_MENU_ITEM(OnDownOctaveID, XO("Down Octa&ve"), OnDownOctave) + POPUP_MENU_ITEM( "Up", OnUpOctaveID, XO("Up &Octave"), OnUpOctave) + POPUP_MENU_ITEM( "Down", OnDownOctaveID, XO("Down Octa&ve"), OnDownOctave) END_POPUP_MENU_SECTION() END_POPUP_MENU_SECTION() diff --git a/src/tracks/playabletrack/wavetrack/ui/SpectrumVZoomHandle.cpp b/src/tracks/playabletrack/wavetrack/ui/SpectrumVZoomHandle.cpp index 71c48dd39..f0ce4a59c 100644 --- a/src/tracks/playabletrack/wavetrack/ui/SpectrumVZoomHandle.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/SpectrumVZoomHandle.cpp @@ -281,7 +281,8 @@ BEGIN_POPUP_MENU_SECTION( "Scales" ) { const auto & names = SpectrogramSettings::GetScaleNames(); for (int ii = 0, nn = names.size(); ii < nn; ++ii) { - POPUP_MENU_RADIO_ITEM(OnFirstSpectrumScaleID + ii, names[ii].Msgid(), + POPUP_MENU_RADIO_ITEM( names[ii].Internal(), + OnFirstSpectrumScaleID + ii, names[ii].Msgid(), OnSpectrumScaleType); } } @@ -289,10 +290,10 @@ END_POPUP_MENU_SECTION() BEGIN_POPUP_MENU_SECTION( "Zoom" ) - POPUP_MENU_ITEM(OnZoomResetID, XO("Zoom Reset"), OnZoomReset) - POPUP_MENU_ITEM(OnZoomFitVerticalID, XO("Zoom to Fit\tShift-Right-Click"), OnZoomFitVertical) - POPUP_MENU_ITEM(OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical) - POPUP_MENU_ITEM(OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical) + POPUP_MENU_ITEM( "Reset", OnZoomResetID, XO("Zoom Reset"), OnZoomReset) + POPUP_MENU_ITEM( "Fit", OnZoomFitVerticalID, XO("Zoom to Fit\tShift-Right-Click"), OnZoomFitVertical) + POPUP_MENU_ITEM( "In", OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical) + POPUP_MENU_ITEM( "Out", OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical) END_POPUP_MENU_SECTION() END_POPUP_MENU() diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp index 2a451142e..adaaf5217 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackControls.cpp @@ -206,13 +206,13 @@ const TranslatableString GetWaveColorStr(int colorIndex) BEGIN_POPUP_MENU(WaveColorMenuTable) - POPUP_MENU_RADIO_ITEM(OnInstrument1ID, + POPUP_MENU_RADIO_ITEM( "Instrument1", OnInstrument1ID, GetWaveColorStr(0), OnWaveColorChange) - POPUP_MENU_RADIO_ITEM(OnInstrument2ID, + POPUP_MENU_RADIO_ITEM( "Instrument2", OnInstrument2ID, GetWaveColorStr(1), OnWaveColorChange) - POPUP_MENU_RADIO_ITEM(OnInstrument3ID, + POPUP_MENU_RADIO_ITEM( "Instrument3", OnInstrument3ID, GetWaveColorStr(2), OnWaveColorChange) - POPUP_MENU_RADIO_ITEM(OnInstrument4ID, + POPUP_MENU_RADIO_ITEM( "Instrument4", OnInstrument4ID, GetWaveColorStr(3), OnWaveColorChange) END_POPUP_MENU() @@ -300,11 +300,11 @@ void FormatMenuTable::InitMenu(wxMenu *pMenu) } BEGIN_POPUP_MENU(FormatMenuTable) - POPUP_MENU_RADIO_ITEM(On16BitID, + POPUP_MENU_RADIO_ITEM( "16Bit", On16BitID, GetSampleFormatStr(int16Sample), OnFormatChange) - POPUP_MENU_RADIO_ITEM(On24BitID, - GetSampleFormatStr(int24Sample), OnFormatChange) - POPUP_MENU_RADIO_ITEM(OnFloatID, + POPUP_MENU_RADIO_ITEM("24Bit", On24BitID, + GetSampleFormatStr( int24Sample), OnFormatChange) + POPUP_MENU_RADIO_ITEM( "Float", OnFloatID, GetSampleFormatStr(floatSample), OnFormatChange) END_POPUP_MENU() @@ -428,19 +428,19 @@ void RateMenuTable::InitMenu(wxMenu *pMenu) // If we did, we'd get no message when clicking on Other... // when it is already selected. BEGIN_POPUP_MENU(RateMenuTable) - POPUP_MENU_CHECK_ITEM(OnRate8ID, XO("8000 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate11ID, XO("11025 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate16ID, XO("16000 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate22ID, XO("22050 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate44ID, XO("44100 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate48ID, XO("48000 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate88ID, XO("88200 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate96ID, XO("96000 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate176ID, XO("176400 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate192ID, XO("192000 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate352ID, XO("352800 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRate384ID, XO("384000 Hz"), OnRateChange) - POPUP_MENU_CHECK_ITEM(OnRateOtherID, XO("&Other..."), OnRateOther) + POPUP_MENU_CHECK_ITEM( "8000", OnRate8ID, XO("8000 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "11025", OnRate11ID, XO("11025 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "16000", OnRate16ID, XO("16000 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "22050", OnRate22ID, XO("22050 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "44100", OnRate44ID, XO("44100 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "48000", OnRate48ID, XO("48000 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "88200", OnRate88ID, XO("88200 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "96000", OnRate96ID, XO("96000 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "176400", OnRate176ID, XO("176400 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "192000", OnRate192ID, XO("192000 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "352800", OnRate352ID, XO("352800 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "384000", OnRate384ID, XO("384000 Hz"), OnRateChange) + POPUP_MENU_CHECK_ITEM( "Other", OnRateOtherID, XO("&Other..."), OnRateOther) END_POPUP_MENU() const int nRates = 12; @@ -771,19 +771,19 @@ BEGIN_POPUP_MENU(WaveTrackMenuTable) BEGIN_POPUP_MENU_SECTION( "SubViews" ) if ( WaveTrackSubViews::slots() > 1 ) - POPUP_MENU_CHECK_ITEM(OnMultiViewID, XO("&Multi-view"), OnMultiView) + POPUP_MENU_CHECK_ITEM( "MultiView", OnMultiViewID, XO("&Multi-view"), OnMultiView) int id = OnSetDisplayId; for ( const auto &type : AllTypes() ) { if ( view.GetMultiView() ) { - POPUP_MENU_CHECK_ITEM(id++, type.name.Msgid(), OnSetDisplay) + POPUP_MENU_CHECK_ITEM( type.name.Internal(), id++, type.name.Msgid(), OnSetDisplay) } else { - POPUP_MENU_RADIO_ITEM(id++, type.name.Msgid(), OnSetDisplay) + POPUP_MENU_RADIO_ITEM( type.name.Internal(), id++, type.name.Msgid(), OnSetDisplay) } } - POPUP_MENU_ITEM(OnSpectrogramSettingsID, XO("S&pectrogram Settings..."), OnSpectrogramSettings) + POPUP_MENU_ITEM( "SpectrogramSettings", OnSpectrogramSettingsID, XO("S&pectrogram Settings..."), OnSpectrogramSettings) END_POPUP_MENU_SECTION() BEGIN_POPUP_MENU_SECTION( "Channels" ) @@ -792,13 +792,13 @@ BEGIN_POPUP_MENU(WaveTrackMenuTable) // POPUP_MENU_RADIO_ITEM(OnChannelMonoID, XO("&Mono"), OnChannelChange) // POPUP_MENU_RADIO_ITEM(OnChannelLeftID, XO("&Left Channel"), OnChannelChange) // POPUP_MENU_RADIO_ITEM(OnChannelRightID, XO("R&ight Channel"), OnChannelChange) - POPUP_MENU_ITEM(OnMergeStereoID, XO("Ma&ke Stereo Track"), OnMergeStereo) + POPUP_MENU_ITEM( "MakeStereo", OnMergeStereoID, XO("Ma&ke Stereo Track"), OnMergeStereo) - POPUP_MENU_ITEM(OnSwapChannelsID, XO("Swap Stereo &Channels"), OnSwapChannels) - POPUP_MENU_ITEM(OnSplitStereoID, XO("Spl&it Stereo Track"), OnSplitStereo) + POPUP_MENU_ITEM( "Swap", OnSwapChannelsID, XO("Swap Stereo &Channels"), OnSwapChannels) + POPUP_MENU_ITEM( "Split", OnSplitStereoID, XO("Spl&it Stereo Track"), OnSplitStereo) // DA: Uses split stereo track and then drag pan sliders for split-stereo-to-mono #ifndef EXPERIMENTAL_DA - POPUP_MENU_ITEM(OnSplitStereoMonoID, XO("Split Stereo to Mo&no"), OnSplitStereoMono) + POPUP_MENU_ITEM( "SplitToMono", OnSplitStereoMonoID, XO("Split Stereo to Mo&no"), OnSplitStereoMono) #endif END_POPUP_MENU_SECTION() @@ -810,17 +810,17 @@ BEGIN_POPUP_MENU(WaveTrackMenuTable) ) ); if( hasWaveform ){ BEGIN_POPUP_MENU_SECTION( "WaveColor" ) - POPUP_MENU_SUB_MENU(WaveColorMenuTable) + POPUP_MENU_SUB_MENU( "WaveColor", WaveColorMenuTable) END_POPUP_MENU_SECTION() } } BEGIN_POPUP_MENU_SECTION( "Format" ) - POPUP_MENU_SUB_MENU(FormatMenuTable) + POPUP_MENU_SUB_MENU( "Format", FormatMenuTable) END_POPUP_MENU_SECTION() BEGIN_POPUP_MENU_SECTION( "Rate" ) - POPUP_MENU_SUB_MENU(RateMenuTable) + POPUP_MENU_SUB_MENU( "Rate", RateMenuTable) END_POPUP_MENU_SECTION() END_POPUP_MENU() diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveformVZoomHandle.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveformVZoomHandle.cpp index 1273515a2..4611b9177 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveformVZoomHandle.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveformVZoomHandle.cpp @@ -283,7 +283,8 @@ BEGIN_POPUP_MENU(WaveformVRulerMenuTable) { const auto & names = WaveformSettings::GetScaleNames(); for (int ii = 0, nn = names.size(); ii < nn; ++ii) { - POPUP_MENU_RADIO_ITEM(OnFirstWaveformScaleID + ii, names[ii].Msgid(), + POPUP_MENU_RADIO_ITEM( names[ii].Internal(), + OnFirstWaveformScaleID + ii, names[ii].Msgid(), OnWaveformScaleType); } } @@ -291,18 +292,18 @@ BEGIN_POPUP_MENU(WaveformVRulerMenuTable) BEGIN_POPUP_MENU_SECTION( "Zoom" ) BEGIN_POPUP_MENU_SECTION( "Basic" ) - POPUP_MENU_ITEM(OnZoomFitVerticalID, XO("Zoom Reset\tShift-Right-Click"), OnZoomReset) - POPUP_MENU_ITEM(OnZoomDiv2ID, XO("Zoom x1/2"), OnZoomDiv2Vertical) - POPUP_MENU_ITEM(OnZoomTimes2ID, XO("Zoom x2"), OnZoomTimes2Vertical) + POPUP_MENU_ITEM( "Reset", OnZoomFitVerticalID, XO("Zoom Reset\tShift-Right-Click"), OnZoomReset) + POPUP_MENU_ITEM( "TimesHalf", OnZoomDiv2ID, XO("Zoom x1/2"), OnZoomDiv2Vertical) + POPUP_MENU_ITEM( "TimesTwo", OnZoomTimes2ID, XO("Zoom x2"), OnZoomTimes2Vertical) #ifdef EXPERIMENTAL_HALF_WAVE - POPUP_MENU_ITEM(OnZoomHalfWaveID, XO("Half Wave"), OnZoomHalfWave) + POPUP_MENU_ITEM( "HalfWave", OnZoomHalfWaveID, XO("Half Wave"), OnZoomHalfWave) #endif END_POPUP_MENU_SECTION() BEGIN_POPUP_MENU_SECTION( "InOut" ) - POPUP_MENU_ITEM(OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical) - POPUP_MENU_ITEM(OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical) + POPUP_MENU_ITEM( "In", OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical) + POPUP_MENU_ITEM( "Out", OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical) END_POPUP_MENU_SECTION() END_POPUP_MENU_SECTION() diff --git a/src/tracks/timetrack/ui/TimeTrackControls.cpp b/src/tracks/timetrack/ui/TimeTrackControls.cpp index 608d42d51..ea8d389bb 100644 --- a/src/tracks/timetrack/ui/TimeTrackControls.cpp +++ b/src/tracks/timetrack/ui/TimeTrackControls.cpp @@ -163,13 +163,13 @@ void TimeTrackMenuTable::OnTimeTrackLogInt(wxCommandEvent & /*event*/) BEGIN_POPUP_MENU(TimeTrackMenuTable) BEGIN_POPUP_MENU_SECTION( "Scales" ) - POPUP_MENU_RADIO_ITEM(OnTimeTrackLinID, XO("&Linear scale"), OnTimeTrackLin) - POPUP_MENU_RADIO_ITEM(OnTimeTrackLogID, XO("L&ogarithmic scale"), OnTimeTrackLog) + POPUP_MENU_RADIO_ITEM( "Linear", OnTimeTrackLinID, XO("&Linear scale"), OnTimeTrackLin) + POPUP_MENU_RADIO_ITEM( "Log", OnTimeTrackLogID, XO("L&ogarithmic scale"), OnTimeTrackLog) END_POPUP_MENU_SECTION() BEGIN_POPUP_MENU_SECTION( "Other" ) - POPUP_MENU_ITEM(OnSetTimeTrackRangeID, XO("&Range..."), OnSetTimeTrackRange) - POPUP_MENU_CHECK_ITEM(OnTimeTrackLogIntID, XO("Logarithmic &Interpolation"), OnTimeTrackLogInt) + POPUP_MENU_ITEM( "Range", OnSetTimeTrackRangeID, XO("&Range..."), OnSetTimeTrackRange) + POPUP_MENU_CHECK_ITEM( "LogInterp", OnTimeTrackLogIntID, XO("Logarithmic &Interpolation"), OnTimeTrackLogInt) END_POPUP_MENU_SECTION() END_POPUP_MENU() diff --git a/src/tracks/ui/CommonTrackControls.cpp b/src/tracks/ui/CommonTrackControls.cpp index b92c5a056..30d4d7285 100644 --- a/src/tracks/ui/CommonTrackControls.cpp +++ b/src/tracks/ui/CommonTrackControls.cpp @@ -128,10 +128,10 @@ void TrackMenuTable::InitMenu(wxMenu *pMenu) BEGIN_POPUP_MENU(TrackMenuTable) BEGIN_POPUP_MENU_SECTION( "Basic" ) - POPUP_MENU_ITEM(OnSetNameID, XO("&Name..."), OnSetName) + POPUP_MENU_ITEM( "Name", OnSetNameID, XO("&Name..."), OnSetName) END_POPUP_MENU_SECTION() BEGIN_POPUP_MENU_SECTION( "Move" ) - POPUP_MENU_ITEM( + POPUP_MENU_ITEM( "Up", // It is not correct to use NormalizedKeyString::Display here -- // wxWidgets will apply its equivalent to the key names passed to menu // functions. @@ -144,7 +144,7 @@ BEGIN_POPUP_MENU(TrackMenuTable) wxT("\t") ), OnMoveTrack) - POPUP_MENU_ITEM( + POPUP_MENU_ITEM( "Down", OnMoveDownID, XO("Move Track &Down").Join( Verbatim( @@ -154,7 +154,7 @@ BEGIN_POPUP_MENU(TrackMenuTable) wxT("\t") ), OnMoveTrack) - POPUP_MENU_ITEM( + POPUP_MENU_ITEM( "Top", OnMoveTopID, XO("Move Track to &Top").Join( Verbatim( @@ -164,7 +164,7 @@ BEGIN_POPUP_MENU(TrackMenuTable) wxT("\t") ), OnMoveTrack) - POPUP_MENU_ITEM( + POPUP_MENU_ITEM( "Bottom", OnMoveBottomID, XO("Move Track to &Bottom").Join( Verbatim( diff --git a/src/widgets/PopupMenuTable.h b/src/widgets/PopupMenuTable.h index 35b1a1c73..ef42402d1 100644 --- a/src/widgets/PopupMenuTable.h +++ b/src/widgets/PopupMenuTable.h @@ -136,7 +136,7 @@ BEGIN_POPUP_MENU(MyTable) // This is inside a function and can contain arbitrary code. But usually // you only need a sequence of macro calls: - POPUP_MENU_ITEM(OnCutSelectedTextID, XO("Cu&t"), OnCutSelectedText) + POPUP_MENU_ITEM("Cut", OnCutSelectedTextID, XO("Cu&t"), OnCutSelectedText) // etc. END_POPUP_MENU() @@ -166,7 +166,7 @@ That's all! void HandlerClass::Populate() { \ using My = HandlerClass; -#define POPUP_MENU_APPEND(type, id, string, memFn, subTable) \ +#define POPUP_MENU_APPEND(stringId, type, id, string, memFn, subTable) \ mContents.push_back( Entry { \ type, \ id, \ @@ -175,37 +175,37 @@ void HandlerClass::Populate() { \ subTable \ } ); -#define POPUP_MENU_APPEND_ITEM(type, id, string, memFn) \ - POPUP_MENU_APPEND( \ +#define POPUP_MENU_APPEND_ITEM(stringId, type, id, string, memFn) \ + POPUP_MENU_APPEND( stringId, \ type, \ id, \ string, \ (wxCommandEventFunction) (&My::memFn), \ nullptr ) -#define POPUP_MENU_ITEM(id, string, memFn) \ - POPUP_MENU_APPEND_ITEM(Entry::Item, id, string, memFn); +#define POPUP_MENU_ITEM(stringId, id, string, memFn) \ + POPUP_MENU_APPEND_ITEM(stringId, Entry::Item, id, string, memFn); -#define POPUP_MENU_RADIO_ITEM(id, string, memFn) \ - POPUP_MENU_APPEND_ITEM(Entry::RadioItem, id, string, memFn); +#define POPUP_MENU_RADIO_ITEM(stringId, id, string, memFn) \ + POPUP_MENU_APPEND_ITEM(stringId, Entry::RadioItem, id, string, memFn); -#define POPUP_MENU_CHECK_ITEM(id, string, memFn) \ - POPUP_MENU_APPEND_ITEM(Entry::CheckItem, id, string, memFn); +#define POPUP_MENU_CHECK_ITEM(stringId, id, string, memFn) \ + POPUP_MENU_APPEND_ITEM(stringId, Entry::CheckItem, id, string, memFn); // classname names a class that derives from MenuTable and defines Instance() -#define POPUP_MENU_SUB_MENU(classname) \ - POPUP_MENU_APPEND( \ +#define POPUP_MENU_SUB_MENU(stringId, classname) \ + POPUP_MENU_APPEND( stringId, \ Entry::SubMenu, -1, classname::Instance().Caption(), nullptr, &classname::Instance() ); #define BEGIN_POPUP_MENU_SECTION( name ) \ - POPUP_MENU_APPEND( \ + POPUP_MENU_APPEND( "", \ Entry::Separator, -1, {}, nullptr, nullptr ); #define END_POPUP_MENU_SECTION() // ends function #define END_POPUP_MENU() \ - POPUP_MENU_APPEND( \ + POPUP_MENU_APPEND( "", \ Entry::Invalid, -1, {}, nullptr, nullptr ) \ }