EnumValueSymbols for scale names

This commit is contained in:
Paul Licameli 2020-02-03 14:48:17 -05:00
parent d213179767
commit 127eb56d4e
10 changed files with 20 additions and 10 deletions

View File

@ -269,6 +269,11 @@ TranslatableStrings Msgids(
);
}
TranslatableStrings Msgids( const std::vector<EnumValueSymbol> &strings )
{
return Msgids( strings.data(), strings.size() );
}
// Find a better place for this?
#include "audacity/Types.h"
Identifier::Identifier(

View File

@ -162,5 +162,6 @@ private:
class ComponentInterfaceSymbol;
TranslatableStrings Msgids(
const EnumValueSymbol strings[], size_t nStrings);
TranslatableStrings Msgids( const std::vector<EnumValueSymbol> &strings );
#endif

View File

@ -139,9 +139,9 @@ SpectrogramSettings& SpectrogramSettings::defaults()
}
//static
const TranslatableStrings &SpectrogramSettings::GetScaleNames()
const EnumValueSymbols &SpectrogramSettings::GetScaleNames()
{
static const TranslatableStrings result{
static const EnumValueSymbols result{
// Keep in correspondence with enum SpectrogramSettings::ScaleType:
XO("Linear") ,
XO("Logarithmic") ,

View File

@ -18,6 +18,7 @@ Paul Licameli
#undef SPECTRAL_SELECTION_GLOBAL_SWITCH
class EnumValueSymbols;
struct FFTParam;
class NumberScale;
class SpectrumPrefs;
@ -66,7 +67,7 @@ public:
stNumScaleTypes,
};
static const TranslatableStrings &GetScaleNames();
static const EnumValueSymbols &GetScaleNames();
static const TranslatableStrings &GetAlgorithmNames();
static SpectrogramSettings &defaults();

View File

@ -192,7 +192,7 @@ void SpectrumPrefs::PopulateOrExchange(ShuttleGui & S)
S.SetStretchyCol( 1 );
S.Id(ID_SCALE).TieChoice(XO("S&cale:"),
mTempSettings.scaleType,
SpectrogramSettings::GetScaleNames() );
Msgids( SpectrogramSettings::GetScaleNames() ) );
mMinFreq =
S.Id(ID_MINIMUM).TieNumericTextBox(XO("Mi&n Frequency (Hz):"),
mTempSettings.minFreq,

View File

@ -112,7 +112,7 @@ void WaveformPrefs::PopulateOrExchange(ShuttleGui & S)
mScaleChoice =
S.Id(ID_SCALE).TieChoice(XO("S&cale:"),
mTempSettings.scaleType,
WaveformSettings::GetScaleNames() );
Msgids( WaveformSettings::GetScaleNames() ) );
mRangeChoice =
S.Id(ID_RANGE).TieChoice(XO("Waveform dB &range:"),

View File

@ -146,9 +146,9 @@ void WaveformSettings::NextHigherDBRange()
}
//static
const TranslatableStrings &WaveformSettings::GetScaleNames()
const EnumValueSymbols &WaveformSettings::GetScaleNames()
{
static const TranslatableStrings result{
static const EnumValueSymbols result{
// Keep in correspondence with ScaleTypeValues:
XO("Linear"),
XO("dB"),

View File

@ -13,6 +13,8 @@ Paul Licameli
#include "../Internat.h" // for TranslatableStrings
class EnumValueSymbols;
class WaveformSettings
{
public:
@ -58,7 +60,7 @@ public:
stNumScaleTypes,
};
static const TranslatableStrings &GetScaleNames();
static const EnumValueSymbols &GetScaleNames();
ScaleType scaleType;
int dBRange;

View File

@ -280,7 +280,7 @@ BEGIN_POPUP_MENU(SpectrumVRulerMenuTable)
{
const auto & names = SpectrogramSettings::GetScaleNames();
for (int ii = 0, nn = names.size(); ii < nn; ++ii) {
POPUP_MENU_RADIO_ITEM(OnFirstSpectrumScaleID + ii, names[ii],
POPUP_MENU_RADIO_ITEM(OnFirstSpectrumScaleID + ii, names[ii].Msgid(),
OnSpectrumScaleType);
}
}

View File

@ -17,6 +17,7 @@ Paul Licameli split from WaveTrackVZoomHandle.cpp
#include "../../../../HitTestResult.h"
#include "../../../../NumberScale.h"
#include "../../../../Prefs.h"
#include "../../../../ProjectHistory.h"
#include "../../../../RefreshCode.h"
#include "../../../../TrackPanelMouseEvent.h"
@ -281,7 +282,7 @@ 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],
POPUP_MENU_RADIO_ITEM(OnFirstWaveformScaleID + ii, names[ii].Msgid(),
OnWaveformScaleType);
}
}