mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-22 14:13:30 -07:00
- BinPack(Arguments|Parameters): false
This commit is contained in:
parent
428c2baced
commit
2557b71d0d
55 changed files with 1050 additions and 424 deletions
|
@ -15,8 +15,8 @@ AlwaysBreakAfterDefinitionReturnType: None
|
|||
AlwaysBreakAfterReturnType: None
|
||||
AlwaysBreakBeforeMultilineStrings: false
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
BinPackArguments: true
|
||||
BinPackParameters: true
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
BreakBeforeBraces: Allman
|
||||
BreakBeforeInheritanceComma: false
|
||||
|
|
|
@ -59,7 +59,10 @@ void CCalcEngine::InitialOneTimeOnlySetup(CalculationManager::IResourceProvider&
|
|||
//
|
||||
//////////////////////////////////////////////////
|
||||
CCalcEngine::CCalcEngine(
|
||||
bool fPrecedence, bool fIntegerMode, CalculationManager::IResourceProvider* const pResourceProvider, __in_opt ICalcDisplay* pCalcDisplay,
|
||||
bool fPrecedence,
|
||||
bool fIntegerMode,
|
||||
CalculationManager::IResourceProvider* const pResourceProvider,
|
||||
__in_opt ICalcDisplay* pCalcDisplay,
|
||||
__in_opt shared_ptr<IHistoryDisplay> pHistoryDisplay)
|
||||
: m_fPrecedence(fPrecedence)
|
||||
, m_fIntegerMode(fIntegerMode)
|
||||
|
|
|
@ -12,7 +12,8 @@ CalculatorHistory::CalculatorHistory(size_t maxSize) : m_maxHistorySize(maxSize)
|
|||
}
|
||||
|
||||
unsigned int CalculatorHistory::AddToHistory(
|
||||
_In_ shared_ptr<CalculatorVector<pair<wstring, int>>> const& tokens, _In_ shared_ptr<CalculatorVector<shared_ptr<IExpressionCommand>>> const& commands,
|
||||
_In_ shared_ptr<CalculatorVector<pair<wstring, int>>> const& tokens,
|
||||
_In_ shared_ptr<CalculatorVector<shared_ptr<IExpressionCommand>>> const& commands,
|
||||
_In_ wstring_view result)
|
||||
{
|
||||
unsigned int addedIndex;
|
||||
|
|
|
@ -32,7 +32,8 @@ namespace CalculationManager
|
|||
CalculatorHistory(const size_t maxSize);
|
||||
unsigned int AddToHistory(
|
||||
_In_ std::shared_ptr<CalculatorVector<std::pair<std::wstring, int>>> const& spTokens,
|
||||
_In_ std::shared_ptr<CalculatorVector<std::shared_ptr<IExpressionCommand>>> const& spCommands, std::wstring_view result);
|
||||
_In_ std::shared_ptr<CalculatorVector<std::shared_ptr<IExpressionCommand>>> const& spCommands,
|
||||
std::wstring_view result);
|
||||
std::vector<std::shared_ptr<HISTORYITEM>> const& GetHistory();
|
||||
std::shared_ptr<HISTORYITEM> const& GetHistoryItem(unsigned int uIdx);
|
||||
void ClearHistory();
|
||||
|
|
|
@ -55,7 +55,10 @@ class CCalcEngine
|
|||
{
|
||||
public:
|
||||
CCalcEngine(
|
||||
bool fPrecedence, bool fIntegerMode, CalculationManager::IResourceProvider* const pResourceProvider, __in_opt ICalcDisplay* pCalcDisplay,
|
||||
bool fPrecedence,
|
||||
bool fIntegerMode,
|
||||
CalculationManager::IResourceProvider* const pResourceProvider,
|
||||
__in_opt ICalcDisplay* pCalcDisplay,
|
||||
__in_opt std::shared_ptr<IHistoryDisplay> pHistoryDisplay);
|
||||
void ProcessCommand(OpCode wID);
|
||||
void DisplayError(uint32_t nError);
|
||||
|
|
|
@ -10,5 +10,6 @@ public:
|
|||
virtual ~IHistoryDisplay(){};
|
||||
virtual unsigned int AddToHistory(
|
||||
_In_ std::shared_ptr<CalculatorVector<std::pair<std::wstring, int>>> const& tokens,
|
||||
_In_ std::shared_ptr<CalculatorVector<std::shared_ptr<IExpressionCommand>>> const& commands, _In_ std::wstring_view result) = 0;
|
||||
_In_ std::shared_ptr<CalculatorVector<std::shared_ptr<IExpressionCommand>>> const& commands,
|
||||
_In_ std::wstring_view result) = 0;
|
||||
};
|
||||
|
|
|
@ -357,7 +357,8 @@ extern PNUMBER _createnum(_In_ uint32_t size); // returns an empty number struct
|
|||
extern PNUMBER nRadixxtonum(_In_ PNUMBER a, uint32_t radix, int32_t precision);
|
||||
extern PNUMBER gcd(_In_ PNUMBER a, _In_ PNUMBER b);
|
||||
extern PNUMBER StringToNumber(
|
||||
std::wstring_view numberString, uint32_t radix,
|
||||
std::wstring_view numberString,
|
||||
uint32_t radix,
|
||||
int32_t precision); // takes a text representation of a number and returns a number.
|
||||
|
||||
// takes a text representation of a number as a mantissa with sign and an exponent with sign.
|
||||
|
|
|
@ -30,7 +30,12 @@ namespace UnitConversionManager
|
|||
}
|
||||
|
||||
Unit(
|
||||
int id, std::wstring currencyName, std::wstring countryName, std::wstring abbreviation, bool isRtlLanguage, bool isConversionSource,
|
||||
int id,
|
||||
std::wstring currencyName,
|
||||
std::wstring countryName,
|
||||
std::wstring abbreviation,
|
||||
bool isRtlLanguage,
|
||||
bool isConversionSource,
|
||||
bool isConversionTarget)
|
||||
: id(id), abbreviation(abbreviation), isConversionSource(isConversionSource), isConversionTarget(isConversionTarget), isWhimsical(false)
|
||||
{
|
||||
|
@ -157,7 +162,8 @@ namespace UnitConversionManager
|
|||
|
||||
typedef std::tuple<std::vector<UnitConversionManager::Unit>, UnitConversionManager::Unit, UnitConversionManager::Unit> CategorySelectionInitializer;
|
||||
typedef std::unordered_map<
|
||||
UnitConversionManager::Unit, std::unordered_map<UnitConversionManager::Unit, UnitConversionManager::ConversionData, UnitConversionManager::UnitHash>,
|
||||
UnitConversionManager::Unit,
|
||||
std::unordered_map<UnitConversionManager::Unit, UnitConversionManager::ConversionData, UnitConversionManager::UnitHash>,
|
||||
UnitConversionManager::UnitHash>
|
||||
UnitToUnitToConversionDataMap;
|
||||
typedef std::unordered_map<UnitConversionManager::Category, std::vector<UnitConversionManager::Unit>, UnitConversionManager::CategoryHash>
|
||||
|
|
|
@ -265,7 +265,9 @@ namespace CalculatorApp
|
|||
private:
|
||||
virtual Platform::Object
|
||||
^ Convert(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName /*targetType*/, Platform::Object ^ /*parameter*/,
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName /*targetType*/,
|
||||
Platform::Object ^ /*parameter*/,
|
||||
Platform::String ^ /*language*/) = Windows::UI::Xaml::Data::IValueConverter::Convert
|
||||
{
|
||||
auto result = dynamic_cast<Windows::UI::Xaml::Interop::IBindableVector ^>(value);
|
||||
|
@ -278,7 +280,9 @@ namespace CalculatorApp
|
|||
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ /*value*/, Windows::UI::Xaml::Interop::TypeName /*targetType*/, Platform::Object ^ /*parameter*/,
|
||||
Platform::Object ^ /*value*/,
|
||||
Windows::UI::Xaml::Interop::TypeName /*targetType*/,
|
||||
Platform::Object ^ /*parameter*/,
|
||||
Platform::String ^ /*language*/) = Windows::UI::Xaml::Data::IValueConverter::ConvertBack
|
||||
{
|
||||
return Windows::UI::Xaml::DependencyProperty::UnsetValue;
|
||||
|
|
|
@ -26,7 +26,10 @@ namespace CalculatorApp::Common::Automation
|
|||
}
|
||||
|
||||
NarratorAnnouncement::NarratorAnnouncement(
|
||||
String ^ announcement, String ^ activityId, AutomationNotificationKind kind, AutomationNotificationProcessing processing)
|
||||
String ^ announcement,
|
||||
String ^ activityId,
|
||||
AutomationNotificationKind kind,
|
||||
AutomationNotificationProcessing processing)
|
||||
: m_announcement(announcement), m_activityId(activityId), m_kind(kind), m_processing(processing)
|
||||
{
|
||||
}
|
||||
|
@ -95,14 +98,18 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetHistoryClearedAnnouncement(Str
|
|||
NarratorAnnouncement ^ CalculatorAnnouncement::GetCategoryNameChangedAnnouncement(String ^ announcement)
|
||||
{
|
||||
return ref new NarratorAnnouncement(
|
||||
announcement, CalculatorActivityIds::CategoryNameChanged, AutomationNotificationKind::ActionCompleted,
|
||||
announcement,
|
||||
CalculatorActivityIds::CategoryNameChanged,
|
||||
AutomationNotificationKind::ActionCompleted,
|
||||
AutomationNotificationProcessing::ImportantMostRecent);
|
||||
}
|
||||
|
||||
NarratorAnnouncement ^ CalculatorAnnouncement::GetUpdateCurrencyRatesAnnouncement(String ^ announcement)
|
||||
{
|
||||
return ref new NarratorAnnouncement(
|
||||
announcement, CalculatorActivityIds::UpdateCurrencyRates, AutomationNotificationKind::ActionCompleted,
|
||||
announcement,
|
||||
CalculatorActivityIds::UpdateCurrencyRates,
|
||||
AutomationNotificationKind::ActionCompleted,
|
||||
AutomationNotificationProcessing::ImportantMostRecent);
|
||||
}
|
||||
|
||||
|
@ -115,13 +122,17 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetDisplayCopiedAnnouncement(Stri
|
|||
NarratorAnnouncement ^ CalculatorAnnouncement::GetOpenParenthesisCountChangedAnnouncement(String ^ announcement)
|
||||
{
|
||||
return ref new NarratorAnnouncement(
|
||||
announcement, CalculatorActivityIds::OpenParenthesisCountChanged, AutomationNotificationKind::ActionCompleted,
|
||||
announcement,
|
||||
CalculatorActivityIds::OpenParenthesisCountChanged,
|
||||
AutomationNotificationKind::ActionCompleted,
|
||||
AutomationNotificationProcessing::ImportantMostRecent);
|
||||
}
|
||||
|
||||
NarratorAnnouncement ^ CalculatorAnnouncement::GetNoRightParenthesisAddedAnnouncement(String ^ announcement)
|
||||
{
|
||||
return ref new NarratorAnnouncement(
|
||||
announcement, CalculatorActivityIds::NoParenthesisAdded, AutomationNotificationKind::ActionCompleted,
|
||||
announcement,
|
||||
CalculatorActivityIds::NoParenthesisAdded,
|
||||
AutomationNotificationKind::ActionCompleted,
|
||||
AutomationNotificationProcessing::ImportantMostRecent);
|
||||
}
|
||||
|
|
|
@ -59,7 +59,10 @@ public
|
|||
friend class CalculatorAnnouncement;
|
||||
|
||||
NarratorAnnouncement(
|
||||
Platform::String ^ announcement, Platform::String ^ activityId, AutomationNotificationKind kind, AutomationNotificationProcessing processing);
|
||||
Platform::String ^ announcement,
|
||||
Platform::String ^ activityId,
|
||||
AutomationNotificationKind kind,
|
||||
AutomationNotificationProcessing processing);
|
||||
|
||||
Platform::String ^ m_announcement;
|
||||
Platform::String ^ m_activityId;
|
||||
|
|
|
@ -41,7 +41,8 @@ public
|
|||
|
||||
private:
|
||||
static void OnAnnouncementChanged(
|
||||
_In_ Windows::UI::Xaml::DependencyObject ^ dependencyObject, _In_ Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ eventArgs);
|
||||
_In_ Windows::UI::Xaml::DependencyObject ^ dependencyObject,
|
||||
_In_ Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ eventArgs);
|
||||
|
||||
static Windows::UI::Xaml::DependencyProperty ^ s_announcementProperty;
|
||||
|
||||
|
|
|
@ -35,7 +35,9 @@ void NotificationHost::Announce(NarratorAnnouncement ^ announcement)
|
|||
if (peer != nullptr)
|
||||
{
|
||||
peer->RaiseNotificationEvent(
|
||||
GetWindowsNotificationKind(announcement->Kind), GetWindowsNotificationProcessing(announcement->Processing), announcement->Announcement,
|
||||
GetWindowsNotificationKind(announcement->Kind),
|
||||
GetWindowsNotificationProcessing(announcement->Processing),
|
||||
announcement->Announcement,
|
||||
announcement->ActivityId);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,10 @@ namespace CalculatorApp
|
|||
public:
|
||||
static void CopyToClipboard(Platform::String ^ stringToCopy);
|
||||
static concurrency::task<Platform::String ^> GetStringToPaste(
|
||||
CalculatorApp::Common::ViewMode mode, CalculatorApp::Common::CategoryGroupType modeType, int programmerNumberBase = -1, int bitLengthType = -1);
|
||||
CalculatorApp::Common::ViewMode mode,
|
||||
CalculatorApp::Common::CategoryGroupType modeType,
|
||||
int programmerNumberBase = -1,
|
||||
int bitLengthType = -1);
|
||||
static bool HasStringToPaste()
|
||||
{
|
||||
return ClipboardTextFormat() >= 0;
|
||||
|
@ -41,21 +44,32 @@ namespace CalculatorApp
|
|||
^ ValidatePasteExpression(Platform::String ^ pastedText, CalculatorApp::Common::ViewMode mode, int programmerNumberBase, int bitLengthType);
|
||||
static Platform::String
|
||||
^ ValidatePasteExpression(
|
||||
Platform::String ^ pastedText, CalculatorApp::Common::ViewMode mode, CalculatorApp::Common::CategoryGroupType modeType,
|
||||
int programmerNumberBase, int bitLengthType);
|
||||
Platform::String ^ pastedText,
|
||||
CalculatorApp::Common::ViewMode mode,
|
||||
CalculatorApp::Common::CategoryGroupType modeType,
|
||||
int programmerNumberBase,
|
||||
int bitLengthType);
|
||||
|
||||
static std::vector<std::wstring>
|
||||
ExtractOperands(const std::wstring& pasteExpression, CalculatorApp::Common::ViewMode mode, int programmerNumberBase = -1, int bitLengthType = -1);
|
||||
static bool ExpressionRegExMatch(
|
||||
std::vector<std::wstring> operands, CalculatorApp::Common::ViewMode mode, CalculatorApp::Common::CategoryGroupType modeType,
|
||||
int programmerNumberBase = -1, int bitLengthType = -1);
|
||||
std::vector<std::wstring> operands,
|
||||
CalculatorApp::Common::ViewMode mode,
|
||||
CalculatorApp::Common::CategoryGroupType modeType,
|
||||
int programmerNumberBase = -1,
|
||||
int bitLengthType = -1);
|
||||
|
||||
static std::pair<size_t, uint64_t> GetMaxOperandLengthAndValue(
|
||||
CalculatorApp::Common::ViewMode mode, CalculatorApp::Common::CategoryGroupType modeType, int programmerNumberBase = -1, int bitLengthType = -1);
|
||||
CalculatorApp::Common::ViewMode mode,
|
||||
CalculatorApp::Common::CategoryGroupType modeType,
|
||||
int programmerNumberBase = -1,
|
||||
int bitLengthType = -1);
|
||||
static std::wstring SanitizeOperand(const std::wstring& operand);
|
||||
static bool TryOperandToULL(const std::wstring& operand, int numberBase, unsigned long long int& result);
|
||||
static size_t OperandLength(
|
||||
const std::wstring& operand, CalculatorApp::Common::ViewMode mode, CalculatorApp::Common::CategoryGroupType modeType,
|
||||
const std::wstring& operand,
|
||||
CalculatorApp::Common::ViewMode mode,
|
||||
CalculatorApp::Common::CategoryGroupType modeType,
|
||||
int programmerNumberBase = -1);
|
||||
static size_t StandardScientificOperandLength(const std::wstring& operand);
|
||||
static size_t ProgrammerOperandLength(const std::wstring& operand, int numberBase);
|
||||
|
|
|
@ -47,9 +47,13 @@ namespace CalculatorApp
|
|||
bool __nothrow
|
||||
AddDuration(_In_ Windows::Foundation::DateTime startDate, _In_ const DateDifference& duration, _Out_ Windows::Foundation::DateTime* endDate);
|
||||
bool __nothrow SubtractDuration(
|
||||
_In_ Windows::Foundation::DateTime startDate, _In_ const DateDifference& duration, _Out_ Windows::Foundation::DateTime* endDate);
|
||||
_In_ Windows::Foundation::DateTime startDate,
|
||||
_In_ const DateDifference& duration,
|
||||
_Out_ Windows::Foundation::DateTime* endDate);
|
||||
void __nothrow GetDateDifference(
|
||||
_In_ Windows::Foundation::DateTime date1, _In_ Windows::Foundation::DateTime date2, _In_ DateUnit outputFormat,
|
||||
_In_ Windows::Foundation::DateTime date1,
|
||||
_In_ Windows::Foundation::DateTime date2,
|
||||
_In_ DateUnit outputFormat,
|
||||
_Out_ DateDifference* difference);
|
||||
|
||||
private:
|
||||
|
|
|
@ -434,28 +434,41 @@ unordered_map<wstring, wstring> LocalizationService::GetTokenToReadableNameMap()
|
|||
// change given that the engine heavily relies on perfect ordering of certain elements.
|
||||
// To compromise, we'll declare a map from engine resource key to automation name from the
|
||||
// standard project resources.
|
||||
static vector<pair<wstring, wstring>> s_parenEngineKeyResourceMap = {
|
||||
// Sine permutations
|
||||
make_pair<wstring, wstring>(L"67", L"SineDegrees"), make_pair<wstring, wstring>(L"73", L"SineRadians"),
|
||||
make_pair<wstring, wstring>(L"79", L"SineGradians"), make_pair<wstring, wstring>(L"70", L"InverseSineDegrees"),
|
||||
make_pair<wstring, wstring>(L"76", L"InverseSineRadians"), make_pair<wstring, wstring>(L"82", L"InverseSineGradians"),
|
||||
make_pair<wstring, wstring>(L"25", L"HyperbolicSine"), make_pair<wstring, wstring>(L"85", L"InverseHyperbolicSine"),
|
||||
static vector<pair<wstring, wstring>> s_parenEngineKeyResourceMap = { // Sine permutations
|
||||
make_pair<wstring, wstring>(L"67", L"SineDegrees"),
|
||||
make_pair<wstring, wstring>(L"73", L"SineRadians"),
|
||||
make_pair<wstring, wstring>(L"79", L"SineGradians"),
|
||||
make_pair<wstring, wstring>(L"70", L"InverseSineDegrees"),
|
||||
make_pair<wstring, wstring>(L"76", L"InverseSineRadians"),
|
||||
make_pair<wstring, wstring>(L"82", L"InverseSineGradians"),
|
||||
make_pair<wstring, wstring>(L"25", L"HyperbolicSine"),
|
||||
make_pair<wstring, wstring>(L"85", L"InverseHyperbolicSine"),
|
||||
|
||||
// Cosine permutations
|
||||
make_pair<wstring, wstring>(L"68", L"CosineDegrees"), make_pair<wstring, wstring>(L"74", L"CosineRadians"),
|
||||
make_pair<wstring, wstring>(L"80", L"CosineGradians"), make_pair<wstring, wstring>(L"71", L"InverseCosineDegrees"),
|
||||
make_pair<wstring, wstring>(L"77", L"InverseCosineRadians"), make_pair<wstring, wstring>(L"83", L"InverseCosineGradians"),
|
||||
make_pair<wstring, wstring>(L"26", L"HyperbolicCosine"), make_pair<wstring, wstring>(L"86", L"InverseHyperbolicCosine"),
|
||||
// Cosine permutations
|
||||
make_pair<wstring, wstring>(L"68", L"CosineDegrees"),
|
||||
make_pair<wstring, wstring>(L"74", L"CosineRadians"),
|
||||
make_pair<wstring, wstring>(L"80", L"CosineGradians"),
|
||||
make_pair<wstring, wstring>(L"71", L"InverseCosineDegrees"),
|
||||
make_pair<wstring, wstring>(L"77", L"InverseCosineRadians"),
|
||||
make_pair<wstring, wstring>(L"83", L"InverseCosineGradians"),
|
||||
make_pair<wstring, wstring>(L"26", L"HyperbolicCosine"),
|
||||
make_pair<wstring, wstring>(L"86", L"InverseHyperbolicCosine"),
|
||||
|
||||
// Tangent permutations
|
||||
make_pair<wstring, wstring>(L"69", L"TangentDegrees"), make_pair<wstring, wstring>(L"75", L"TangentRadians"),
|
||||
make_pair<wstring, wstring>(L"81", L"TangentGradians"), make_pair<wstring, wstring>(L"72", L"InverseTangentDegrees"),
|
||||
make_pair<wstring, wstring>(L"78", L"InverseTangentRadians"), make_pair<wstring, wstring>(L"84", L"InverseTangentGradians"),
|
||||
make_pair<wstring, wstring>(L"27", L"HyperbolicTangent"), make_pair<wstring, wstring>(L"87", L"InverseHyperbolicTangent"),
|
||||
// Tangent permutations
|
||||
make_pair<wstring, wstring>(L"69", L"TangentDegrees"),
|
||||
make_pair<wstring, wstring>(L"75", L"TangentRadians"),
|
||||
make_pair<wstring, wstring>(L"81", L"TangentGradians"),
|
||||
make_pair<wstring, wstring>(L"72", L"InverseTangentDegrees"),
|
||||
make_pair<wstring, wstring>(L"78", L"InverseTangentRadians"),
|
||||
make_pair<wstring, wstring>(L"84", L"InverseTangentGradians"),
|
||||
make_pair<wstring, wstring>(L"27", L"HyperbolicTangent"),
|
||||
make_pair<wstring, wstring>(L"87", L"InverseHyperbolicTangent"),
|
||||
|
||||
// Miscellaneous Scientific functions
|
||||
make_pair<wstring, wstring>(L"94", L"Factorial"), make_pair<wstring, wstring>(L"35", L"DegreeMinuteSecond"),
|
||||
make_pair<wstring, wstring>(L"28", L"NaturalLog"), make_pair<wstring, wstring>(L"91", L"Square")
|
||||
// Miscellaneous Scientific functions
|
||||
make_pair<wstring, wstring>(L"94", L"Factorial"),
|
||||
make_pair<wstring, wstring>(L"35", L"DegreeMinuteSecond"),
|
||||
make_pair<wstring, wstring>(L"28", L"NaturalLog"),
|
||||
make_pair<wstring, wstring>(L"91", L"Square")
|
||||
};
|
||||
|
||||
static vector<pair<wstring, wstring>> s_noParenEngineKeyResourceMap = { // Programmer mode functions
|
||||
|
|
|
@ -45,7 +45,9 @@ namespace CalculatorApp
|
|||
static Windows::Globalization::DateTimeFormatting::DateTimeFormatter ^ GetRegionalSettingsAwareDateTimeFormatter(_In_ Platform::String ^ format);
|
||||
static Windows::Globalization::DateTimeFormatting::DateTimeFormatter
|
||||
^ GetRegionalSettingsAwareDateTimeFormatter(
|
||||
_In_ Platform::String ^ format, _In_ Platform::String ^ calendarIdentifier, _In_ Platform::String ^ clockIdentifier);
|
||||
_In_ Platform::String ^ format,
|
||||
_In_ Platform::String ^ calendarIdentifier,
|
||||
_In_ Platform::String ^ clockIdentifier);
|
||||
|
||||
static Windows::Globalization::NumberFormatting::CurrencyFormatter ^ GetRegionalSettingsAwareCurrencyFormatter();
|
||||
|
||||
|
@ -61,7 +63,9 @@ namespace CalculatorApp
|
|||
// Attached property callbacks
|
||||
static void OnFontTypePropertyChanged(Windows::UI::Xaml::DependencyObject ^ target, LanguageFontType oldValue, LanguageFontType newValue);
|
||||
static void OnFontWeightPropertyChanged(
|
||||
Windows::UI::Xaml::DependencyObject ^ target, Windows::UI::Text::FontWeight oldValue, Windows::UI::Text::FontWeight newValue);
|
||||
Windows::UI::Xaml::DependencyObject ^ target,
|
||||
Windows::UI::Text::FontWeight oldValue,
|
||||
Windows::UI::Text::FontWeight newValue);
|
||||
static void OnFontSizePropertyChanged(Windows::UI::Xaml::DependencyObject ^ target, double oldValue, double newValue);
|
||||
|
||||
static void UpdateFontFamilyAndSize(Windows::UI::Xaml::DependencyObject ^ target);
|
||||
|
|
|
@ -61,7 +61,9 @@ namespace CalculatorApp
|
|||
// Get locale info for List Separator, eg. comma is used in many locales
|
||||
wchar_t listSeparatorString[4] = L"";
|
||||
result = ::GetLocaleInfoEx(
|
||||
LOCALE_NAME_USER_DEFAULT, LOCALE_SLIST, listSeparatorString,
|
||||
LOCALE_NAME_USER_DEFAULT,
|
||||
LOCALE_SLIST,
|
||||
listSeparatorString,
|
||||
static_cast<int>(std::size(listSeparatorString))); // Max length of the expected return value is 4
|
||||
if (result == 0)
|
||||
{
|
||||
|
@ -70,7 +72,9 @@ namespace CalculatorApp
|
|||
|
||||
int currencyTrailingDigits = 0;
|
||||
result = GetLocaleInfoEx(
|
||||
m_resolvedName.c_str(), LOCALE_ICURRDIGITS | LOCALE_RETURN_NUMBER, (LPWSTR)¤cyTrailingDigits,
|
||||
m_resolvedName.c_str(),
|
||||
LOCALE_ICURRDIGITS | LOCALE_RETURN_NUMBER,
|
||||
(LPWSTR)¤cyTrailingDigits,
|
||||
sizeof(currencyTrailingDigits) / sizeof(WCHAR));
|
||||
if (result == 0)
|
||||
{
|
||||
|
@ -81,7 +85,9 @@ namespace CalculatorApp
|
|||
// A value of 0 indicates the symbol follows the currency value.
|
||||
int currencySymbolPrecedence = 1;
|
||||
result = GetLocaleInfoEx(
|
||||
LOCALE_NAME_USER_DEFAULT, LOCALE_IPOSSYMPRECEDES | LOCALE_RETURN_NUMBER, (LPWSTR)¤cySymbolPrecedence,
|
||||
LOCALE_NAME_USER_DEFAULT,
|
||||
LOCALE_IPOSSYMPRECEDES | LOCALE_RETURN_NUMBER,
|
||||
(LPWSTR)¤cySymbolPrecedence,
|
||||
sizeof(currencySymbolPrecedence) / sizeof(WCHAR));
|
||||
|
||||
// As CalcEngine only supports the first character of the decimal separator,
|
||||
|
|
|
@ -49,42 +49,142 @@ static constexpr int CURRENCY_ID = 16;
|
|||
// ^^^ THESE CONSTANTS SHOULD NEVER CHANGE ^^^
|
||||
|
||||
// The order of items in this list determines the order of items in the menu.
|
||||
static constexpr array<const NavCategoryInitializer, 17> s_categoryManifest = {
|
||||
NavCategoryInitializer{ ViewMode::Standard, STANDARD_ID, L"Standard", L"StandardMode", L"\uE8EF", CategoryGroupType::Calculator, MyVirtualKey::Number1,
|
||||
SUPPORTS_ALL },
|
||||
NavCategoryInitializer{ ViewMode::Scientific, SCIENTIFIC_ID, L"Scientific", L"ScientificMode", L"\uF196", CategoryGroupType::Calculator,
|
||||
MyVirtualKey::Number2, SUPPORTS_ALL },
|
||||
NavCategoryInitializer{ ViewMode::Programmer, PROGRAMMER_ID, L"Programmer", L"ProgrammerMode", L"\uECCE", CategoryGroupType::Calculator,
|
||||
MyVirtualKey::Number3, SUPPORTS_ALL },
|
||||
NavCategoryInitializer{ ViewMode::Date, DATE_ID, L"Date", L"DateCalculationMode", L"\uE787", CategoryGroupType::Calculator, MyVirtualKey::Number4,
|
||||
SUPPORTS_ALL },
|
||||
NavCategoryInitializer{ ViewMode::Currency, CURRENCY_ID, L"Currency", L"CategoryName_Currency", L"\uEB0D", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Volume, VOLUME_ID, L"Volume", L"CategoryName_Volume", L"\uF1AA", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Length, LENGTH_ID, L"Length", L"CategoryName_Length", L"\uECC6", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Weight, WEIGHT_ID, L"Weight and Mass", L"CategoryName_Weight", L"\uF4C1", CategoryGroupType::Converter,
|
||||
MyVirtualKey::None, POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Temperature, TEMPERATURE_ID, L"Temperature", L"CategoryName_Temperature", L"\uE7A3", CategoryGroupType::Converter,
|
||||
MyVirtualKey::None, SUPPORTS_NEGATIVE },
|
||||
NavCategoryInitializer{ ViewMode::Energy, ENERGY_ID, L"Energy", L"CategoryName_Energy", L"\uECAD", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Area, AREA_ID, L"Area", L"CategoryName_Area", L"\uE809", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Speed, SPEED_ID, L"Speed", L"CategoryName_Speed", L"\uEADA", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Time, TIME_ID, L"Time", L"CategoryName_Time", L"\uE917", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Power, POWER_ID, L"Power", L"CategoryName_Power", L"\uE945", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Data, DATA_ID, L"Data", L"CategoryName_Data", L"\uF20F", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Pressure, PRESSURE_ID, L"Pressure", L"CategoryName_Pressure", L"\uEC4A", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Angle, ANGLE_ID, L"Angle", L"CategoryName_Angle", L"\uF515", CategoryGroupType::Converter, MyVirtualKey::None,
|
||||
POSITIVE_ONLY }
|
||||
};
|
||||
static constexpr array<const NavCategoryInitializer, 17> s_categoryManifest = { NavCategoryInitializer{ ViewMode::Standard,
|
||||
STANDARD_ID,
|
||||
L"Standard",
|
||||
L"StandardMode",
|
||||
L"\uE8EF",
|
||||
CategoryGroupType::Calculator,
|
||||
MyVirtualKey::Number1,
|
||||
SUPPORTS_ALL },
|
||||
NavCategoryInitializer{ ViewMode::Scientific,
|
||||
SCIENTIFIC_ID,
|
||||
L"Scientific",
|
||||
L"ScientificMode",
|
||||
L"\uF196",
|
||||
CategoryGroupType::Calculator,
|
||||
MyVirtualKey::Number2,
|
||||
SUPPORTS_ALL },
|
||||
NavCategoryInitializer{ ViewMode::Programmer,
|
||||
PROGRAMMER_ID,
|
||||
L"Programmer",
|
||||
L"ProgrammerMode",
|
||||
L"\uECCE",
|
||||
CategoryGroupType::Calculator,
|
||||
MyVirtualKey::Number3,
|
||||
SUPPORTS_ALL },
|
||||
NavCategoryInitializer{ ViewMode::Date,
|
||||
DATE_ID,
|
||||
L"Date",
|
||||
L"DateCalculationMode",
|
||||
L"\uE787",
|
||||
CategoryGroupType::Calculator,
|
||||
MyVirtualKey::Number4,
|
||||
SUPPORTS_ALL },
|
||||
NavCategoryInitializer{ ViewMode::Currency,
|
||||
CURRENCY_ID,
|
||||
L"Currency",
|
||||
L"CategoryName_Currency",
|
||||
L"\uEB0D",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Volume,
|
||||
VOLUME_ID,
|
||||
L"Volume",
|
||||
L"CategoryName_Volume",
|
||||
L"\uF1AA",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Length,
|
||||
LENGTH_ID,
|
||||
L"Length",
|
||||
L"CategoryName_Length",
|
||||
L"\uECC6",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Weight,
|
||||
WEIGHT_ID,
|
||||
L"Weight and Mass",
|
||||
L"CategoryName_Weight",
|
||||
L"\uF4C1",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Temperature,
|
||||
TEMPERATURE_ID,
|
||||
L"Temperature",
|
||||
L"CategoryName_Temperature",
|
||||
L"\uE7A3",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
SUPPORTS_NEGATIVE },
|
||||
NavCategoryInitializer{ ViewMode::Energy,
|
||||
ENERGY_ID,
|
||||
L"Energy",
|
||||
L"CategoryName_Energy",
|
||||
L"\uECAD",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Area,
|
||||
AREA_ID,
|
||||
L"Area",
|
||||
L"CategoryName_Area",
|
||||
L"\uE809",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Speed,
|
||||
SPEED_ID,
|
||||
L"Speed",
|
||||
L"CategoryName_Speed",
|
||||
L"\uEADA",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Time,
|
||||
TIME_ID,
|
||||
L"Time",
|
||||
L"CategoryName_Time",
|
||||
L"\uE917",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Power,
|
||||
POWER_ID,
|
||||
L"Power",
|
||||
L"CategoryName_Power",
|
||||
L"\uE945",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Data,
|
||||
DATA_ID,
|
||||
L"Data",
|
||||
L"CategoryName_Data",
|
||||
L"\uF20F",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Pressure,
|
||||
PRESSURE_ID,
|
||||
L"Pressure",
|
||||
L"CategoryName_Pressure",
|
||||
L"\uEC4A",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY },
|
||||
NavCategoryInitializer{ ViewMode::Angle,
|
||||
ANGLE_ID,
|
||||
L"Angle",
|
||||
L"CategoryName_Angle",
|
||||
L"\uF515",
|
||||
CategoryGroupType::Converter,
|
||||
MyVirtualKey::None,
|
||||
POSITIVE_ONLY } };
|
||||
|
||||
// This function should only be used when storing the mode to app data.
|
||||
int NavCategory::Serialize(ViewMode mode)
|
||||
|
@ -290,8 +390,13 @@ NavCategoryGroup::NavCategoryGroup(const NavCategoryGroupInitializer& groupIniti
|
|||
LocalizationStringUtil::GetLocalizedString(navCategoryItemAutomationNameFormat->Data(), categoryName->Data(), m_Name->Data()).c_str());
|
||||
|
||||
m_Categories->Append(ref new NavCategory(
|
||||
categoryName, categoryAutomationName, StringReference(categoryInitializer.glyph), resProvider.GetResourceString(nameResourceKey + "AccessKey"),
|
||||
groupMode, categoryInitializer.viewMode, categoryInitializer.supportsNegative));
|
||||
categoryName,
|
||||
categoryAutomationName,
|
||||
StringReference(categoryInitializer.glyph),
|
||||
resProvider.GetResourceString(nameResourceKey + "AccessKey"),
|
||||
groupMode,
|
||||
categoryInitializer.viewMode,
|
||||
categoryInitializer.supportsNegative));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -59,7 +59,13 @@ namespace CalculatorApp
|
|||
struct NavCategoryInitializer
|
||||
{
|
||||
constexpr NavCategoryInitializer(
|
||||
ViewMode mode, int id, wchar_t const* name, wchar_t const* nameKey, wchar_t const* glyph, CategoryGroupType group, MyVirtualKey vKey,
|
||||
ViewMode mode,
|
||||
int id,
|
||||
wchar_t const* name,
|
||||
wchar_t const* nameKey,
|
||||
wchar_t const* glyph,
|
||||
CategoryGroupType group,
|
||||
MyVirtualKey vKey,
|
||||
bool categorySupportsNegative)
|
||||
: viewMode(mode)
|
||||
, serializationId(id)
|
||||
|
@ -163,8 +169,13 @@ namespace CalculatorApp
|
|||
static ViewMode GetViewModeForVirtualKey(MyVirtualKey virtualKey);
|
||||
|
||||
internal : NavCategory(
|
||||
Platform::String ^ name, Platform::String ^ automationName, Platform::String ^ glyph, Platform::String ^ accessKey,
|
||||
Platform::String ^ mode, ViewMode viewMode, bool supportsNegative)
|
||||
Platform::String ^ name,
|
||||
Platform::String ^ automationName,
|
||||
Platform::String ^ glyph,
|
||||
Platform::String ^ accessKey,
|
||||
Platform::String ^ mode,
|
||||
ViewMode viewMode,
|
||||
bool supportsNegative)
|
||||
: m_name(name)
|
||||
, m_automationName(automationName)
|
||||
, m_glyph(glyph)
|
||||
|
|
|
@ -16,7 +16,8 @@ namespace CalculatorApp
|
|||
}
|
||||
|
||||
TraceActivity(
|
||||
winrt::Windows::Foundation::Diagnostics::LoggingChannel channel, std::wstring_view activityName,
|
||||
winrt::Windows::Foundation::Diagnostics::LoggingChannel channel,
|
||||
std::wstring_view activityName,
|
||||
winrt::Windows::Foundation::Diagnostics::LoggingFields fields)
|
||||
: m_channel(channel), m_activityName(activityName), m_fields(fields), m_activity(nullptr)
|
||||
{
|
||||
|
@ -24,7 +25,9 @@ namespace CalculatorApp
|
|||
// or level for START and STOP events because they always use the activity's
|
||||
// keyword and level.
|
||||
m_activity = m_channel.StartActivity(
|
||||
m_activityName, m_fields, winrt::Windows::Foundation::Diagnostics::LoggingLevel::Verbose,
|
||||
m_activityName,
|
||||
m_fields,
|
||||
winrt::Windows::Foundation::Diagnostics::LoggingLevel::Verbose,
|
||||
winrt::Windows::Foundation::Diagnostics::LoggingOptions(WINEVENT_KEYWORD_RESPONSE_TIME));
|
||||
}
|
||||
|
||||
|
|
|
@ -93,7 +93,8 @@ wstring Utils::RemoveUnwantedCharsFromWstring(wstring input, wchar_t* unwantedCh
|
|||
}
|
||||
|
||||
void Utils::SerializeCommandsAndTokens(
|
||||
_In_ shared_ptr<CalculatorVector<pair<wstring, int>>> const& tokens, _In_ shared_ptr<CalculatorVector<shared_ptr<IExpressionCommand>>> const& commands,
|
||||
_In_ shared_ptr<CalculatorVector<pair<wstring, int>>> const& tokens,
|
||||
_In_ shared_ptr<CalculatorVector<shared_ptr<IExpressionCommand>>> const& commands,
|
||||
DataWriter ^ writer)
|
||||
{
|
||||
unsigned int commandsSize;
|
||||
|
|
|
@ -386,7 +386,8 @@ namespace Utils
|
|||
void RunOnUIThreadNonblocking(std::function<void()>&& function, _In_ Windows::UI::Core::CoreDispatcher ^ currentDispatcher);
|
||||
void SerializeCommandsAndTokens(
|
||||
_In_ std::shared_ptr<CalculatorVector<std::pair<std::wstring, int>>> const& tokens,
|
||||
_In_ std::shared_ptr<CalculatorVector<std::shared_ptr<IExpressionCommand>>> const& commands, Windows::Storage::Streams::DataWriter ^ writer);
|
||||
_In_ std::shared_ptr<CalculatorVector<std::shared_ptr<IExpressionCommand>>> const& commands,
|
||||
Windows::Storage::Streams::DataWriter ^ writer);
|
||||
|
||||
const std::shared_ptr<CalculatorVector<std::shared_ptr<IExpressionCommand>>> DeserializeCommands(Windows::Storage::Streams::DataReader ^ reader);
|
||||
const std::shared_ptr<CalculatorVector<std::pair<std::wstring, int>>> DeserializeTokens(Windows::Storage::Streams::DataReader ^ reader);
|
||||
|
@ -395,7 +396,9 @@ namespace Utils
|
|||
bool IsDateTimeOlderThan(Windows::Foundation::DateTime dateTime, const long long duration);
|
||||
|
||||
concurrency::task<void> WriteFileToFolder(
|
||||
Windows::Storage::IStorageFolder ^ folder, Platform::String ^ fileName, Platform::String ^ contents,
|
||||
Windows::Storage::IStorageFolder ^ folder,
|
||||
Platform::String ^ fileName,
|
||||
Platform::String ^ contents,
|
||||
Windows::Storage::CreationCollisionOption collisionOption);
|
||||
concurrency::task<Platform::String ^> ReadFileFromFolder(Windows::Storage::IStorageFolder ^ folder, Platform::String ^ fileName);
|
||||
}
|
||||
|
|
|
@ -18,7 +18,9 @@ namespace CalculatorApp
|
|||
private:
|
||||
virtual Platform::Object
|
||||
^ Convert(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName /*targetType*/, Platform::Object ^ /*parameter*/,
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName /*targetType*/,
|
||||
Platform::Object ^ /*parameter*/,
|
||||
Platform::String ^ /*language*/) = Windows::UI::Xaml::Data::IValueConverter::Convert
|
||||
{
|
||||
// Pass through as we don't want to change the value from the source
|
||||
|
@ -27,7 +29,9 @@ namespace CalculatorApp
|
|||
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName /*targetType*/, Platform::Object ^ /*parameter*/,
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName /*targetType*/,
|
||||
Platform::Object ^ /*parameter*/,
|
||||
Platform::String ^ /*language*/) = Windows::UI::Xaml::Data::IValueConverter::ConvertBack
|
||||
{
|
||||
if (value)
|
||||
|
@ -50,7 +54,9 @@ namespace CalculatorApp
|
|||
private:
|
||||
virtual Platform::Object
|
||||
^ Convert(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName /*targetType*/, Platform::Object ^ /*parameter*/,
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName /*targetType*/,
|
||||
Platform::Object ^ /*parameter*/,
|
||||
Platform::String ^ /*language*/) = Windows::UI::Xaml::Data::IValueConverter::Convert
|
||||
{
|
||||
// Pass through as we don't want to change the value from the source
|
||||
|
@ -59,7 +65,9 @@ namespace CalculatorApp
|
|||
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName /*targetType*/, Platform::Object ^ /*parameter*/,
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName /*targetType*/,
|
||||
Platform::Object ^ /*parameter*/,
|
||||
Platform::String ^ /*language*/) = Windows::UI::Xaml::Data::IValueConverter::ConvertBack
|
||||
{
|
||||
// The value to be valid has to be a boxed int32 value
|
||||
|
|
|
@ -46,8 +46,10 @@ static constexpr auto CACHE_LANGCODE_KEY = L"CURRENCY_CONVERTER_LANGCODE";
|
|||
static constexpr auto CACHE_DELIMITER = L"%";
|
||||
|
||||
static constexpr auto STATIC_DATA_FILENAME = L"CURRENCY_CONVERTER_STATIC_DATA.txt";
|
||||
static constexpr array<wstring_view, 5> STATIC_DATA_PROPERTIES = { wstring_view{ L"CountryCode", 11 }, wstring_view{ L"CountryName", 11 },
|
||||
wstring_view{ L"CurrencyCode", 12 }, wstring_view{ L"CurrencyName", 12 },
|
||||
static constexpr array<wstring_view, 5> STATIC_DATA_PROPERTIES = { wstring_view{ L"CountryCode", 11 },
|
||||
wstring_view{ L"CountryName", 11 },
|
||||
wstring_view{ L"CurrencyCode", 12 },
|
||||
wstring_view{ L"CurrencyName", 12 },
|
||||
wstring_view{ L"CurrencySymbol", 14 } };
|
||||
|
||||
static constexpr auto ALL_RATIOS_DATA_FILENAME = L"CURRENCY_CONVERTER_ALL_RATIOS_DATA.txt";
|
||||
|
@ -460,7 +462,10 @@ task<bool> CurrencyDataLoader::TryLoadDataFromWebOverrideAsync()
|
|||
#pragma optimize("", on)
|
||||
|
||||
bool CurrencyDataLoader::TryParseWebResponses(
|
||||
_In_ String ^ staticDataJson, _In_ String ^ allRatiosJson, _Inout_ vector<UCM::CurrencyStaticData>& staticData, _Inout_ CurrencyRatioMap& allRatiosData)
|
||||
_In_ String ^ staticDataJson,
|
||||
_In_ String ^ allRatiosJson,
|
||||
_Inout_ vector<UCM::CurrencyStaticData>& staticData,
|
||||
_Inout_ CurrencyRatioMap& allRatiosData)
|
||||
{
|
||||
return TryParseStaticData(staticDataJson, staticData) && TryParseAllRatiosData(allRatiosJson, allRatiosData);
|
||||
}
|
||||
|
|
|
@ -89,7 +89,9 @@ namespace CalculatorApp
|
|||
concurrency::task<bool> TryFinishLoadFromCacheAsync();
|
||||
|
||||
bool TryParseWebResponses(
|
||||
_In_ Platform::String ^ staticDataJson, _In_ Platform::String ^ allRatiosJson, _Inout_ std::vector<UCM::CurrencyStaticData>& staticData,
|
||||
_In_ Platform::String ^ staticDataJson,
|
||||
_In_ Platform::String ^ allRatiosJson,
|
||||
_Inout_ std::vector<UCM::CurrencyStaticData>& staticData,
|
||||
_Inout_ CurrencyRatioMap& allRatiosData);
|
||||
bool TryParseStaticData(_In_ Platform::String ^ rawJson, _Inout_ std::vector<UCM::CurrencyStaticData>& staticData);
|
||||
bool TryParseAllRatiosData(_In_ Platform::String ^ rawJson, _Inout_ CurrencyRatioMap& allRatiosData);
|
||||
|
|
|
@ -183,34 +183,65 @@ void UnitConverterDataLoader::GetUnits(_In_ unordered_map<ViewMode, vector<Order
|
|||
OrderedUnit{ UnitConverterUnits::Area_Acre, GetLocalizedStringName(L"UnitName_Acre"), GetLocalizedStringName(L"UnitAbbreviation_Acre"), 9 });
|
||||
areaUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Area_Hectare, GetLocalizedStringName(L"UnitName_Hectare"), GetLocalizedStringName(L"UnitAbbreviation_Hectare"), 4 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareCentimeter, GetLocalizedStringName(L"UnitName_SquareCentimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareCentimeter"), 2 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareFoot, GetLocalizedStringName(L"UnitName_SquareFoot"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareFoot"), 7, useSI, useUSCustomary, false });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareInch, GetLocalizedStringName(L"UnitName_SquareInch"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareInch"), 6 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareKilometer, GetLocalizedStringName(L"UnitName_SquareKilometer"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareKilometer"), 5 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareMeter, GetLocalizedStringName(L"UnitName_SquareMeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareMeter"), 3, useUSCustomary, useSI, false });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareMile, GetLocalizedStringName(L"UnitName_SquareMile"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareMile"), 10 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareMillimeter, GetLocalizedStringName(L"UnitName_SquareMillimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareMillimeter"), 1 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareYard, GetLocalizedStringName(L"UnitName_SquareYard"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareYard"), 8 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_Hand, GetLocalizedStringName(L"UnitName_Hand"), GetLocalizedStringName(L"UnitAbbreviation_Hand"),
|
||||
11, false, false, true });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_Paper, GetLocalizedStringName(L"UnitName_Paper"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Paper"), 12, false, false, true });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SoccerField, GetLocalizedStringName(L"UnitName_SoccerField"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SoccerField"), 13, false, false, true });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_Castle, GetLocalizedStringName(L"UnitName_Castle"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Castle"), 14, false, false, true });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareCentimeter,
|
||||
GetLocalizedStringName(L"UnitName_SquareCentimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareCentimeter"),
|
||||
2 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareFoot,
|
||||
GetLocalizedStringName(L"UnitName_SquareFoot"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareFoot"),
|
||||
7,
|
||||
useSI,
|
||||
useUSCustomary,
|
||||
false });
|
||||
areaUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Area_SquareInch, GetLocalizedStringName(L"UnitName_SquareInch"), GetLocalizedStringName(L"UnitAbbreviation_SquareInch"), 6 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareKilometer,
|
||||
GetLocalizedStringName(L"UnitName_SquareKilometer"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareKilometer"),
|
||||
5 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareMeter,
|
||||
GetLocalizedStringName(L"UnitName_SquareMeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareMeter"),
|
||||
3,
|
||||
useUSCustomary,
|
||||
useSI,
|
||||
false });
|
||||
areaUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Area_SquareMile, GetLocalizedStringName(L"UnitName_SquareMile"), GetLocalizedStringName(L"UnitAbbreviation_SquareMile"), 10 });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SquareMillimeter,
|
||||
GetLocalizedStringName(L"UnitName_SquareMillimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SquareMillimeter"),
|
||||
1 });
|
||||
areaUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Area_SquareYard, GetLocalizedStringName(L"UnitName_SquareYard"), GetLocalizedStringName(L"UnitAbbreviation_SquareYard"), 8 });
|
||||
areaUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Area_Hand, GetLocalizedStringName(L"UnitName_Hand"), GetLocalizedStringName(L"UnitAbbreviation_Hand"), 11, false, false, true });
|
||||
areaUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Area_Paper, GetLocalizedStringName(L"UnitName_Paper"), GetLocalizedStringName(L"UnitAbbreviation_Paper"), 12, false, false, true });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_SoccerField,
|
||||
GetLocalizedStringName(L"UnitName_SoccerField"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SoccerField"),
|
||||
13,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_Castle,
|
||||
GetLocalizedStringName(L"UnitName_Castle"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Castle"),
|
||||
14,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
if (usePyeong)
|
||||
{
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_Pyeong, GetLocalizedStringName(L"UnitName_Pyeong"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Pyeong"), 15, false, false, false });
|
||||
areaUnits.push_back(OrderedUnit{ UnitConverterUnits::Area_Pyeong,
|
||||
GetLocalizedStringName(L"UnitName_Pyeong"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Pyeong"),
|
||||
15,
|
||||
false,
|
||||
false,
|
||||
false });
|
||||
}
|
||||
unitMap.emplace(ViewMode::Area, areaUnits);
|
||||
|
||||
|
@ -221,169 +252,275 @@ void UnitConverterDataLoader::GetUnits(_In_ unordered_map<ViewMode, vector<Order
|
|||
OrderedUnit{ UnitConverterUnits::Data_Byte, GetLocalizedStringName(L"UnitName_Byte"), GetLocalizedStringName(L"UnitAbbreviation_Byte"), 2 });
|
||||
dataUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Data_Exabits, GetLocalizedStringName(L"UnitName_Exabits"), GetLocalizedStringName(L"UnitAbbreviation_Exabits"), 23 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Exabytes, GetLocalizedStringName(L"UnitName_Exabytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Exabytes"), 25 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Exbibits, GetLocalizedStringName(L"UnitName_Exbibits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Exbibits"), 24 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Exbibytes, GetLocalizedStringName(L"UnitName_Exbibytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Exbibytes"), 26 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Gibibits, GetLocalizedStringName(L"UnitName_Gibibits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Gibibits"), 12 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Gibibytes, GetLocalizedStringName(L"UnitName_Gibibytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Gibibytes"), 14 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Exabytes, GetLocalizedStringName(L"UnitName_Exabytes"), GetLocalizedStringName(L"UnitAbbreviation_Exabytes"), 25 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Exbibits, GetLocalizedStringName(L"UnitName_Exbibits"), GetLocalizedStringName(L"UnitAbbreviation_Exbibits"), 24 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Exbibytes, GetLocalizedStringName(L"UnitName_Exbibytes"), GetLocalizedStringName(L"UnitAbbreviation_Exbibytes"), 26 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Gibibits, GetLocalizedStringName(L"UnitName_Gibibits"), GetLocalizedStringName(L"UnitAbbreviation_Gibibits"), 12 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Gibibytes, GetLocalizedStringName(L"UnitName_Gibibytes"), GetLocalizedStringName(L"UnitAbbreviation_Gibibytes"), 14 });
|
||||
dataUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Data_Gigabit, GetLocalizedStringName(L"UnitName_Gigabit"), GetLocalizedStringName(L"UnitAbbreviation_Gigabit"), 11 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Gigabyte, GetLocalizedStringName(L"UnitName_Gigabyte"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Gigabyte"), 13, true, false, false });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Kibibits, GetLocalizedStringName(L"UnitName_Kibibits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kibibits"), 4 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Kibibytes, GetLocalizedStringName(L"UnitName_Kibibytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kibibytes"), 6 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Gigabyte,
|
||||
GetLocalizedStringName(L"UnitName_Gigabyte"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Gigabyte"),
|
||||
13,
|
||||
true,
|
||||
false,
|
||||
false });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Kibibits, GetLocalizedStringName(L"UnitName_Kibibits"), GetLocalizedStringName(L"UnitAbbreviation_Kibibits"), 4 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Kibibytes, GetLocalizedStringName(L"UnitName_Kibibytes"), GetLocalizedStringName(L"UnitAbbreviation_Kibibytes"), 6 });
|
||||
dataUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Data_Kilobit, GetLocalizedStringName(L"UnitName_Kilobit"), GetLocalizedStringName(L"UnitAbbreviation_Kilobit"), 3 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Kilobyte, GetLocalizedStringName(L"UnitName_Kilobyte"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilobyte"), 5 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Mebibits, GetLocalizedStringName(L"UnitName_Mebibits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Mebibits"), 8 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Mebibytes, GetLocalizedStringName(L"UnitName_Mebibytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Mebibytes"), 10 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Kilobyte, GetLocalizedStringName(L"UnitName_Kilobyte"), GetLocalizedStringName(L"UnitAbbreviation_Kilobyte"), 5 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Mebibits, GetLocalizedStringName(L"UnitName_Mebibits"), GetLocalizedStringName(L"UnitAbbreviation_Mebibits"), 8 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Mebibytes, GetLocalizedStringName(L"UnitName_Mebibytes"), GetLocalizedStringName(L"UnitAbbreviation_Mebibytes"), 10 });
|
||||
dataUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Data_Megabit, GetLocalizedStringName(L"UnitName_Megabit"), GetLocalizedStringName(L"UnitAbbreviation_Megabit"), 7 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Megabyte, GetLocalizedStringName(L"UnitName_Megabyte"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Megabyte"), 9, false, true, false });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Pebibits, GetLocalizedStringName(L"UnitName_Pebibits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Pebibits"), 20 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Pebibytes, GetLocalizedStringName(L"UnitName_Pebibytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Pebibytes"), 22 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Megabyte,
|
||||
GetLocalizedStringName(L"UnitName_Megabyte"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Megabyte"),
|
||||
9,
|
||||
false,
|
||||
true,
|
||||
false });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Pebibits, GetLocalizedStringName(L"UnitName_Pebibits"), GetLocalizedStringName(L"UnitAbbreviation_Pebibits"), 20 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Pebibytes, GetLocalizedStringName(L"UnitName_Pebibytes"), GetLocalizedStringName(L"UnitAbbreviation_Pebibytes"), 22 });
|
||||
dataUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Data_Petabit, GetLocalizedStringName(L"UnitName_Petabit"), GetLocalizedStringName(L"UnitAbbreviation_Petabit"), 19 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Petabyte, GetLocalizedStringName(L"UnitName_Petabyte"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Petabyte"), 21 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Tebibits, GetLocalizedStringName(L"UnitName_Tebibits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Tebibits"), 16 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Tebibytes, GetLocalizedStringName(L"UnitName_Tebibytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Tebibytes"), 18 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Petabyte, GetLocalizedStringName(L"UnitName_Petabyte"), GetLocalizedStringName(L"UnitAbbreviation_Petabyte"), 21 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Tebibits, GetLocalizedStringName(L"UnitName_Tebibits"), GetLocalizedStringName(L"UnitAbbreviation_Tebibits"), 16 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Tebibytes, GetLocalizedStringName(L"UnitName_Tebibytes"), GetLocalizedStringName(L"UnitAbbreviation_Tebibytes"), 18 });
|
||||
dataUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Data_Terabit, GetLocalizedStringName(L"UnitName_Terabit"), GetLocalizedStringName(L"UnitAbbreviation_Terabit"), 15 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Terabyte, GetLocalizedStringName(L"UnitName_Terabyte"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Terabyte"), 17 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Yobibits, GetLocalizedStringName(L"UnitName_Yobibits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Yobibits"), 32 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Yobibytes, GetLocalizedStringName(L"UnitName_Yobibytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Yobibytes"), 34 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Yottabit, GetLocalizedStringName(L"UnitName_Yottabit"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Yottabit"), 31 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Yottabyte, GetLocalizedStringName(L"UnitName_Yottabyte"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Yottabyte"), 33 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Zebibits, GetLocalizedStringName(L"UnitName_Zebibits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Zebibits"), 28 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Zebibytes, GetLocalizedStringName(L"UnitName_Zebibytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Zebibytes"), 30 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Zetabits, GetLocalizedStringName(L"UnitName_Zetabits"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Zetabits"), 27 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_Zetabytes, GetLocalizedStringName(L"UnitName_Zetabytes"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Zetabytes"), 29 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_FloppyDisk, GetLocalizedStringName(L"UnitName_FloppyDisk"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_FloppyDisk"), 13, false, false, true });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_CD, GetLocalizedStringName(L"UnitName_CD"), GetLocalizedStringName(L"UnitAbbreviation_CD"), 14,
|
||||
false, false, true });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_DVD, GetLocalizedStringName(L"UnitName_DVD"), GetLocalizedStringName(L"UnitAbbreviation_DVD"), 15,
|
||||
false, false, true });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Terabyte, GetLocalizedStringName(L"UnitName_Terabyte"), GetLocalizedStringName(L"UnitAbbreviation_Terabyte"), 17 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Yobibits, GetLocalizedStringName(L"UnitName_Yobibits"), GetLocalizedStringName(L"UnitAbbreviation_Yobibits"), 32 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Yobibytes, GetLocalizedStringName(L"UnitName_Yobibytes"), GetLocalizedStringName(L"UnitAbbreviation_Yobibytes"), 34 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Yottabit, GetLocalizedStringName(L"UnitName_Yottabit"), GetLocalizedStringName(L"UnitAbbreviation_Yottabit"), 31 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Yottabyte, GetLocalizedStringName(L"UnitName_Yottabyte"), GetLocalizedStringName(L"UnitAbbreviation_Yottabyte"), 33 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Zebibits, GetLocalizedStringName(L"UnitName_Zebibits"), GetLocalizedStringName(L"UnitAbbreviation_Zebibits"), 28 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Zebibytes, GetLocalizedStringName(L"UnitName_Zebibytes"), GetLocalizedStringName(L"UnitAbbreviation_Zebibytes"), 30 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Zetabits, GetLocalizedStringName(L"UnitName_Zetabits"), GetLocalizedStringName(L"UnitAbbreviation_Zetabits"), 27 });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_Zetabytes, GetLocalizedStringName(L"UnitName_Zetabytes"), GetLocalizedStringName(L"UnitAbbreviation_Zetabytes"), 29 });
|
||||
dataUnits.push_back(OrderedUnit{ UnitConverterUnits::Data_FloppyDisk,
|
||||
GetLocalizedStringName(L"UnitName_FloppyDisk"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_FloppyDisk"),
|
||||
13,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_CD, GetLocalizedStringName(L"UnitName_CD"), GetLocalizedStringName(L"UnitAbbreviation_CD"), 14, false, false, true });
|
||||
dataUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Data_DVD, GetLocalizedStringName(L"UnitName_DVD"), GetLocalizedStringName(L"UnitAbbreviation_DVD"), 15, false, false, true });
|
||||
unitMap.emplace(ViewMode::Data, dataUnits);
|
||||
|
||||
vector<OrderedUnit> energyUnits;
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_BritishThermalUnit, GetLocalizedStringName(L"UnitName_BritishThermalUnit"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_BritishThermalUnit"), 7 });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_BritishThermalUnit,
|
||||
GetLocalizedStringName(L"UnitName_BritishThermalUnit"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_BritishThermalUnit"),
|
||||
7 });
|
||||
energyUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Energy_Calorie, GetLocalizedStringName(L"UnitName_Calorie"), GetLocalizedStringName(L"UnitAbbreviation_Calorie"), 4 });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_ElectronVolt, GetLocalizedStringName(L"UnitName_Electron-Volt"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Electron-Volt"), 1 });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_FootPound, GetLocalizedStringName(L"UnitName_Foot-Pound"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Foot-Pound"), 6 });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Joule, GetLocalizedStringName(L"UnitName_Joule"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Joule"), 2, true, false, false });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Kilocalorie, GetLocalizedStringName(L"UnitName_Kilocalorie"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilocalorie"), 5, false, true, false });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Kilojoule, GetLocalizedStringName(L"UnitName_Kilojoule"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilojoule"), 3 });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Battery, GetLocalizedStringName(L"UnitName_Battery"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Battery"), 8, false, false, true });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Banana, GetLocalizedStringName(L"UnitName_Banana"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Banana"), 9, false, false, true });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_SliceOfCake, GetLocalizedStringName(L"UnitName_SliceOfCake"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SliceOfCake"), 10, false, false, true });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_ElectronVolt,
|
||||
GetLocalizedStringName(L"UnitName_Electron-Volt"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Electron-Volt"),
|
||||
1 });
|
||||
energyUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Energy_FootPound, GetLocalizedStringName(L"UnitName_Foot-Pound"), GetLocalizedStringName(L"UnitAbbreviation_Foot-Pound"), 6 });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Joule,
|
||||
GetLocalizedStringName(L"UnitName_Joule"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Joule"),
|
||||
2,
|
||||
true,
|
||||
false,
|
||||
false });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Kilocalorie,
|
||||
GetLocalizedStringName(L"UnitName_Kilocalorie"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilocalorie"),
|
||||
5,
|
||||
false,
|
||||
true,
|
||||
false });
|
||||
energyUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Energy_Kilojoule, GetLocalizedStringName(L"UnitName_Kilojoule"), GetLocalizedStringName(L"UnitAbbreviation_Kilojoule"), 3 });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Battery,
|
||||
GetLocalizedStringName(L"UnitName_Battery"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Battery"),
|
||||
8,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_Banana,
|
||||
GetLocalizedStringName(L"UnitName_Banana"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Banana"),
|
||||
9,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
energyUnits.push_back(OrderedUnit{ UnitConverterUnits::Energy_SliceOfCake,
|
||||
GetLocalizedStringName(L"UnitName_SliceOfCake"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SliceOfCake"),
|
||||
10,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
unitMap.emplace(ViewMode::Energy, energyUnits);
|
||||
|
||||
vector<OrderedUnit> lengthUnits;
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Centimeter, GetLocalizedStringName(L"UnitName_Centimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Centimeter"), 4, useUSCustomary, useSI, false });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Centimeter,
|
||||
GetLocalizedStringName(L"UnitName_Centimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Centimeter"),
|
||||
4,
|
||||
useUSCustomary,
|
||||
useSI,
|
||||
false });
|
||||
lengthUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Length_Foot, GetLocalizedStringName(L"UnitName_Foot"), GetLocalizedStringName(L"UnitAbbreviation_Foot"), 8 });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Inch, GetLocalizedStringName(L"UnitName_Inch"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Inch"), 7, useSI, useUSCustomary, false });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Kilometer, GetLocalizedStringName(L"UnitName_Kilometer"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilometer"), 6 });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Inch,
|
||||
GetLocalizedStringName(L"UnitName_Inch"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Inch"),
|
||||
7,
|
||||
useSI,
|
||||
useUSCustomary,
|
||||
false });
|
||||
lengthUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Length_Kilometer, GetLocalizedStringName(L"UnitName_Kilometer"), GetLocalizedStringName(L"UnitAbbreviation_Kilometer"), 6 });
|
||||
lengthUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Length_Meter, GetLocalizedStringName(L"UnitName_Meter"), GetLocalizedStringName(L"UnitAbbreviation_Meter"), 5 });
|
||||
lengthUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Length_Micron, GetLocalizedStringName(L"UnitName_Micron"), GetLocalizedStringName(L"UnitAbbreviation_Micron"), 2 });
|
||||
lengthUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Length_Mile, GetLocalizedStringName(L"UnitName_Mile"), GetLocalizedStringName(L"UnitAbbreviation_Mile"), 10 });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Millimeter, GetLocalizedStringName(L"UnitName_Millimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Millimeter"), 3 });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Nanometer, GetLocalizedStringName(L"UnitName_Nanometer"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Nanometer"), 1 });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_NauticalMile, GetLocalizedStringName(L"UnitName_NauticalMile"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_NauticalMile"), 11 });
|
||||
lengthUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Length_Millimeter, GetLocalizedStringName(L"UnitName_Millimeter"), GetLocalizedStringName(L"UnitAbbreviation_Millimeter"), 3 });
|
||||
lengthUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Length_Nanometer, GetLocalizedStringName(L"UnitName_Nanometer"), GetLocalizedStringName(L"UnitAbbreviation_Nanometer"), 1 });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_NauticalMile,
|
||||
GetLocalizedStringName(L"UnitName_NauticalMile"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_NauticalMile"),
|
||||
11 });
|
||||
lengthUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Length_Yard, GetLocalizedStringName(L"UnitName_Yard"), GetLocalizedStringName(L"UnitAbbreviation_Yard"), 9 });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Paperclip, GetLocalizedStringName(L"UnitName_Paperclip"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Paperclip"), 12, false, false, true });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Hand, GetLocalizedStringName(L"UnitName_Hand"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Hand"), 13, false, false, true });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_JumboJet, GetLocalizedStringName(L"UnitName_JumboJet"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_JumboJet"), 14, false, false, true });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_Paperclip,
|
||||
GetLocalizedStringName(L"UnitName_Paperclip"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Paperclip"),
|
||||
12,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
lengthUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Length_Hand, GetLocalizedStringName(L"UnitName_Hand"), GetLocalizedStringName(L"UnitAbbreviation_Hand"), 13, false, false, true });
|
||||
lengthUnits.push_back(OrderedUnit{ UnitConverterUnits::Length_JumboJet,
|
||||
GetLocalizedStringName(L"UnitName_JumboJet"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_JumboJet"),
|
||||
14,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
unitMap.emplace(ViewMode::Length, lengthUnits);
|
||||
|
||||
vector<OrderedUnit> powerUnits;
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_BritishThermalUnitPerMinute, GetLocalizedStringName(L"UnitName_BTUPerMinute"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_BTUPerMinute"), 5 });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_FootPoundPerMinute, GetLocalizedStringName(L"UnitName_Foot-PoundPerMinute"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Foot-PoundPerMinute"), 4 });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_Horsepower, GetLocalizedStringName(L"UnitName_Horsepower"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Horsepower"), 3, false, true, false });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_Kilowatt, GetLocalizedStringName(L"UnitName_Kilowatt"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilowatt"), 2, !useWattInsteadOfKilowatt });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_Watt, GetLocalizedStringName(L"UnitName_Watt"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Watt"), 1, useWattInsteadOfKilowatt });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_LightBulb, GetLocalizedStringName(L"UnitName_LightBulb"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_LightBulb"), 6, false, false, true });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_Horse, GetLocalizedStringName(L"UnitName_Horse"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Horse"), 7, false, false, true });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_TrainEngine, GetLocalizedStringName(L"UnitName_TrainEngine"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TrainEngine"), 8, false, false, true });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_BritishThermalUnitPerMinute,
|
||||
GetLocalizedStringName(L"UnitName_BTUPerMinute"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_BTUPerMinute"),
|
||||
5 });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_FootPoundPerMinute,
|
||||
GetLocalizedStringName(L"UnitName_Foot-PoundPerMinute"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Foot-PoundPerMinute"),
|
||||
4 });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_Horsepower,
|
||||
GetLocalizedStringName(L"UnitName_Horsepower"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Horsepower"),
|
||||
3,
|
||||
false,
|
||||
true,
|
||||
false });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_Kilowatt,
|
||||
GetLocalizedStringName(L"UnitName_Kilowatt"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilowatt"),
|
||||
2,
|
||||
!useWattInsteadOfKilowatt });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_Watt,
|
||||
GetLocalizedStringName(L"UnitName_Watt"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Watt"),
|
||||
1,
|
||||
useWattInsteadOfKilowatt });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_LightBulb,
|
||||
GetLocalizedStringName(L"UnitName_LightBulb"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_LightBulb"),
|
||||
6,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
powerUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Power_Horse, GetLocalizedStringName(L"UnitName_Horse"), GetLocalizedStringName(L"UnitAbbreviation_Horse"), 7, false, false, true });
|
||||
powerUnits.push_back(OrderedUnit{ UnitConverterUnits::Power_TrainEngine,
|
||||
GetLocalizedStringName(L"UnitName_TrainEngine"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TrainEngine"),
|
||||
8,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
unitMap.emplace(ViewMode::Power, powerUnits);
|
||||
|
||||
vector<OrderedUnit> tempUnits;
|
||||
tempUnits.push_back(OrderedUnit{ UnitConverterUnits::Temperature_DegreesCelsius, GetLocalizedStringName(L"UnitName_DegreesCelsius"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_DegreesCelsius"), 1, useFahrenheit, !useFahrenheit, false });
|
||||
tempUnits.push_back(OrderedUnit{ UnitConverterUnits::Temperature_DegreesFahrenheit, GetLocalizedStringName(L"UnitName_DegreesFahrenheit"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_DegreesFahrenheit"), 2, !useFahrenheit, useFahrenheit, false });
|
||||
tempUnits.push_back(OrderedUnit{ UnitConverterUnits::Temperature_Kelvin, GetLocalizedStringName(L"UnitName_Kelvin"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kelvin"), 3 });
|
||||
tempUnits.push_back(OrderedUnit{ UnitConverterUnits::Temperature_DegreesCelsius,
|
||||
GetLocalizedStringName(L"UnitName_DegreesCelsius"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_DegreesCelsius"),
|
||||
1,
|
||||
useFahrenheit,
|
||||
!useFahrenheit,
|
||||
false });
|
||||
tempUnits.push_back(OrderedUnit{ UnitConverterUnits::Temperature_DegreesFahrenheit,
|
||||
GetLocalizedStringName(L"UnitName_DegreesFahrenheit"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_DegreesFahrenheit"),
|
||||
2,
|
||||
!useFahrenheit,
|
||||
useFahrenheit,
|
||||
false });
|
||||
tempUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Temperature_Kelvin, GetLocalizedStringName(L"UnitName_Kelvin"), GetLocalizedStringName(L"UnitAbbreviation_Kelvin"), 3 });
|
||||
unitMap.emplace(ViewMode::Temperature, tempUnits);
|
||||
|
||||
vector<OrderedUnit> timeUnits;
|
||||
timeUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Time_Day, GetLocalizedStringName(L"UnitName_Day"), GetLocalizedStringName(L"UnitAbbreviation_Day"), 6 });
|
||||
timeUnits.push_back(OrderedUnit{ UnitConverterUnits::Time_Hour, GetLocalizedStringName(L"UnitName_Hour"), GetLocalizedStringName(L"UnitAbbreviation_Hour"),
|
||||
5, true, false, false });
|
||||
timeUnits.push_back(OrderedUnit{ UnitConverterUnits::Time_Microsecond, GetLocalizedStringName(L"UnitName_Microsecond"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Microsecond"), 1 });
|
||||
timeUnits.push_back(OrderedUnit{ UnitConverterUnits::Time_Millisecond, GetLocalizedStringName(L"UnitName_Millisecond"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Millisecond"), 2 });
|
||||
timeUnits.push_back(OrderedUnit{ UnitConverterUnits::Time_Minute, GetLocalizedStringName(L"UnitName_Minute"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Minute"), 4, false, true, false });
|
||||
timeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Time_Hour, GetLocalizedStringName(L"UnitName_Hour"), GetLocalizedStringName(L"UnitAbbreviation_Hour"), 5, true, false, false });
|
||||
timeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Time_Microsecond, GetLocalizedStringName(L"UnitName_Microsecond"), GetLocalizedStringName(L"UnitAbbreviation_Microsecond"), 1 });
|
||||
timeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Time_Millisecond, GetLocalizedStringName(L"UnitName_Millisecond"), GetLocalizedStringName(L"UnitAbbreviation_Millisecond"), 2 });
|
||||
timeUnits.push_back(OrderedUnit{ UnitConverterUnits::Time_Minute,
|
||||
GetLocalizedStringName(L"UnitName_Minute"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Minute"),
|
||||
4,
|
||||
false,
|
||||
true,
|
||||
false });
|
||||
timeUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Time_Second, GetLocalizedStringName(L"UnitName_Second"), GetLocalizedStringName(L"UnitAbbreviation_Second"), 3 });
|
||||
timeUnits.push_back(
|
||||
|
@ -393,136 +530,239 @@ void UnitConverterDataLoader::GetUnits(_In_ unordered_map<ViewMode, vector<Order
|
|||
unitMap.emplace(ViewMode::Time, timeUnits);
|
||||
|
||||
vector<OrderedUnit> speedUnits;
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_CentimetersPerSecond, GetLocalizedStringName(L"UnitName_CentimetersPerSecond"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CentimetersPerSecond"), 1 });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_FeetPerSecond, GetLocalizedStringName(L"UnitName_FeetPerSecond"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_FeetPerSecond"), 4 });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_KilometersPerHour, GetLocalizedStringName(L"UnitName_KilometersPerHour"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_KilometersPerHour"), 3, useUSCustomary, useSI, false });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_CentimetersPerSecond,
|
||||
GetLocalizedStringName(L"UnitName_CentimetersPerSecond"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CentimetersPerSecond"),
|
||||
1 });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_FeetPerSecond,
|
||||
GetLocalizedStringName(L"UnitName_FeetPerSecond"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_FeetPerSecond"),
|
||||
4 });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_KilometersPerHour,
|
||||
GetLocalizedStringName(L"UnitName_KilometersPerHour"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_KilometersPerHour"),
|
||||
3,
|
||||
useUSCustomary,
|
||||
useSI,
|
||||
false });
|
||||
speedUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Speed_Knot, GetLocalizedStringName(L"UnitName_Knot"), GetLocalizedStringName(L"UnitAbbreviation_Knot"), 6 });
|
||||
speedUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Speed_Mach, GetLocalizedStringName(L"UnitName_Mach"), GetLocalizedStringName(L"UnitAbbreviation_Mach"), 7 });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_MetersPerSecond, GetLocalizedStringName(L"UnitName_MetersPerSecond"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_MetersPerSecond"), 2 });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_MilesPerHour, GetLocalizedStringName(L"UnitName_MilesPerHour"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_MilesPerHour"), 5, useSI, useUSCustomary, false });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_Turtle, GetLocalizedStringName(L"UnitName_Turtle"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Turtle"), 8, false, false, true });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_Horse, GetLocalizedStringName(L"UnitName_Horse"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Horse"), 9, false, false, true });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_Jet, GetLocalizedStringName(L"UnitName_Jet"), GetLocalizedStringName(L"UnitAbbreviation_Jet"),
|
||||
10, false, false, true });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_MetersPerSecond,
|
||||
GetLocalizedStringName(L"UnitName_MetersPerSecond"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_MetersPerSecond"),
|
||||
2 });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_MilesPerHour,
|
||||
GetLocalizedStringName(L"UnitName_MilesPerHour"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_MilesPerHour"),
|
||||
5,
|
||||
useSI,
|
||||
useUSCustomary,
|
||||
false });
|
||||
speedUnits.push_back(OrderedUnit{ UnitConverterUnits::Speed_Turtle,
|
||||
GetLocalizedStringName(L"UnitName_Turtle"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Turtle"),
|
||||
8,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
speedUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Speed_Horse, GetLocalizedStringName(L"UnitName_Horse"), GetLocalizedStringName(L"UnitAbbreviation_Horse"), 9, false, false, true });
|
||||
speedUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Speed_Jet, GetLocalizedStringName(L"UnitName_Jet"), GetLocalizedStringName(L"UnitAbbreviation_Jet"), 10, false, false, true });
|
||||
unitMap.emplace(ViewMode::Speed, speedUnits);
|
||||
|
||||
vector<OrderedUnit> volumeUnits;
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_CubicCentimeter, GetLocalizedStringName(L"UnitName_CubicCentimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CubicCentimeter"), 2 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_CubicFoot, GetLocalizedStringName(L"UnitName_CubicFoot"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CubicFoot"), 13 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_CubicInch, GetLocalizedStringName(L"UnitName_CubicInch"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CubicInch"), 12 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_CubicMeter, GetLocalizedStringName(L"UnitName_CubicMeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CubicMeter"), 4 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_CubicYard, GetLocalizedStringName(L"UnitName_CubicYard"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CubicYard"), 14 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_CubicCentimeter,
|
||||
GetLocalizedStringName(L"UnitName_CubicCentimeter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CubicCentimeter"),
|
||||
2 });
|
||||
volumeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Volume_CubicFoot, GetLocalizedStringName(L"UnitName_CubicFoot"), GetLocalizedStringName(L"UnitAbbreviation_CubicFoot"), 13 });
|
||||
volumeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Volume_CubicInch, GetLocalizedStringName(L"UnitName_CubicInch"), GetLocalizedStringName(L"UnitAbbreviation_CubicInch"), 12 });
|
||||
volumeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Volume_CubicMeter, GetLocalizedStringName(L"UnitName_CubicMeter"), GetLocalizedStringName(L"UnitAbbreviation_CubicMeter"), 4 });
|
||||
volumeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Volume_CubicYard, GetLocalizedStringName(L"UnitName_CubicYard"), GetLocalizedStringName(L"UnitAbbreviation_CubicYard"), 14 });
|
||||
volumeUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Volume_CupUS, GetLocalizedStringName(L"UnitName_CupUS"), GetLocalizedStringName(L"UnitAbbreviation_CupUS"), 8 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_FluidOunceUK, GetLocalizedStringName(L"UnitName_FluidOunceUK"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_FluidOunceUK"), 17 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_FluidOunceUS, GetLocalizedStringName(L"UnitName_FluidOunceUS"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_FluidOunceUS"), 7 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_GallonUK, GetLocalizedStringName(L"UnitName_GallonUK"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_GallonUK"), 20 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_GallonUS, GetLocalizedStringName(L"UnitName_GallonUS"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_GallonUS"), 11 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_FluidOunceUK,
|
||||
GetLocalizedStringName(L"UnitName_FluidOunceUK"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_FluidOunceUK"),
|
||||
17 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_FluidOunceUS,
|
||||
GetLocalizedStringName(L"UnitName_FluidOunceUS"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_FluidOunceUS"),
|
||||
7 });
|
||||
volumeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Volume_GallonUK, GetLocalizedStringName(L"UnitName_GallonUK"), GetLocalizedStringName(L"UnitAbbreviation_GallonUK"), 20 });
|
||||
volumeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Volume_GallonUS, GetLocalizedStringName(L"UnitName_GallonUS"), GetLocalizedStringName(L"UnitAbbreviation_GallonUS"), 11 });
|
||||
volumeUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Volume_Liter, GetLocalizedStringName(L"UnitName_Liter"), GetLocalizedStringName(L"UnitAbbreviation_Liter"), 3 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_Milliliter, GetLocalizedStringName(L"UnitName_Milliliter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Milliliter"), 1, useUSCustomary, useSI });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_Milliliter,
|
||||
GetLocalizedStringName(L"UnitName_Milliliter"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Milliliter"),
|
||||
1,
|
||||
useUSCustomary,
|
||||
useSI });
|
||||
volumeUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Volume_PintUK, GetLocalizedStringName(L"UnitName_PintUK"), GetLocalizedStringName(L"UnitAbbreviation_PintUK"), 18 });
|
||||
volumeUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Volume_PintUS, GetLocalizedStringName(L"UnitName_PintUS"), GetLocalizedStringName(L"UnitAbbreviation_PintUS"), 9 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_TablespoonUS, GetLocalizedStringName(L"UnitName_TablespoonUS"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TablespoonUS"), 6 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_TeaspoonUS, GetLocalizedStringName(L"UnitName_TeaspoonUS"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TeaspoonUS"), 5, useSI, useUSCustomary && m_currentRegionCode != "GB" });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_QuartUK, GetLocalizedStringName(L"UnitName_QuartUK"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_QuartUK"), 19 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_QuartUS, GetLocalizedStringName(L"UnitName_QuartUS"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_QuartUS"), 10 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_TeaspoonUK, GetLocalizedStringName(L"UnitName_TeaspoonUK"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TeaspoonUK"), 15, false, useUSCustomary && m_currentRegionCode == "GB" });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_TablespoonUK, GetLocalizedStringName(L"UnitName_TablespoonUK"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TablespoonUK"), 16 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_CoffeeCup, GetLocalizedStringName(L"UnitName_CoffeeCup"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CoffeeCup"), 22, false, false, true });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_Bathtub, GetLocalizedStringName(L"UnitName_Bathtub"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Bathtub"), 23, false, false, true });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_SwimmingPool, GetLocalizedStringName(L"UnitName_SwimmingPool"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SwimmingPool"), 24, false, false, true });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_TablespoonUS,
|
||||
GetLocalizedStringName(L"UnitName_TablespoonUS"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TablespoonUS"),
|
||||
6 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_TeaspoonUS,
|
||||
GetLocalizedStringName(L"UnitName_TeaspoonUS"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TeaspoonUS"),
|
||||
5,
|
||||
useSI,
|
||||
useUSCustomary && m_currentRegionCode != "GB" });
|
||||
volumeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Volume_QuartUK, GetLocalizedStringName(L"UnitName_QuartUK"), GetLocalizedStringName(L"UnitAbbreviation_QuartUK"), 19 });
|
||||
volumeUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Volume_QuartUS, GetLocalizedStringName(L"UnitName_QuartUS"), GetLocalizedStringName(L"UnitAbbreviation_QuartUS"), 10 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_TeaspoonUK,
|
||||
GetLocalizedStringName(L"UnitName_TeaspoonUK"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TeaspoonUK"),
|
||||
15,
|
||||
false,
|
||||
useUSCustomary && m_currentRegionCode == "GB" });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_TablespoonUK,
|
||||
GetLocalizedStringName(L"UnitName_TablespoonUK"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_TablespoonUK"),
|
||||
16 });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_CoffeeCup,
|
||||
GetLocalizedStringName(L"UnitName_CoffeeCup"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_CoffeeCup"),
|
||||
22,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_Bathtub,
|
||||
GetLocalizedStringName(L"UnitName_Bathtub"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Bathtub"),
|
||||
23,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
volumeUnits.push_back(OrderedUnit{ UnitConverterUnits::Volume_SwimmingPool,
|
||||
GetLocalizedStringName(L"UnitName_SwimmingPool"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SwimmingPool"),
|
||||
24,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
unitMap.emplace(ViewMode::Volume, volumeUnits);
|
||||
|
||||
vector<OrderedUnit> weightUnits;
|
||||
weightUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Weight_Carat, GetLocalizedStringName(L"UnitName_Carat"), GetLocalizedStringName(L"UnitAbbreviation_Carat"), 1 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Centigram, GetLocalizedStringName(L"UnitName_Centigram"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Centigram"), 3 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Decigram, GetLocalizedStringName(L"UnitName_Decigram"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Decigram"), 4 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Decagram, GetLocalizedStringName(L"UnitName_Decagram"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Decagram"), 6 });
|
||||
weightUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Weight_Centigram, GetLocalizedStringName(L"UnitName_Centigram"), GetLocalizedStringName(L"UnitAbbreviation_Centigram"), 3 });
|
||||
weightUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Weight_Decigram, GetLocalizedStringName(L"UnitName_Decigram"), GetLocalizedStringName(L"UnitAbbreviation_Decigram"), 4 });
|
||||
weightUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Weight_Decagram, GetLocalizedStringName(L"UnitName_Decagram"), GetLocalizedStringName(L"UnitAbbreviation_Decagram"), 6 });
|
||||
weightUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Weight_Gram, GetLocalizedStringName(L"UnitName_Gram"), GetLocalizedStringName(L"UnitAbbreviation_Gram"), 5 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Hectogram, GetLocalizedStringName(L"UnitName_Hectogram"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Hectogram"), 7 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Kilogram, GetLocalizedStringName(L"UnitName_Kilogram"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilogram"), 8, useUSCustomary, useSI });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_LongTon, GetLocalizedStringName(L"UnitName_LongTon"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_LongTon"), 14 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Milligram, GetLocalizedStringName(L"UnitName_Milligram"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Milligram"), 2 });
|
||||
weightUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Weight_Hectogram, GetLocalizedStringName(L"UnitName_Hectogram"), GetLocalizedStringName(L"UnitAbbreviation_Hectogram"), 7 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Kilogram,
|
||||
GetLocalizedStringName(L"UnitName_Kilogram"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Kilogram"),
|
||||
8,
|
||||
useUSCustomary,
|
||||
useSI });
|
||||
weightUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Weight_LongTon, GetLocalizedStringName(L"UnitName_LongTon"), GetLocalizedStringName(L"UnitAbbreviation_LongTon"), 14 });
|
||||
weightUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Weight_Milligram, GetLocalizedStringName(L"UnitName_Milligram"), GetLocalizedStringName(L"UnitAbbreviation_Milligram"), 2 });
|
||||
weightUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Weight_Ounce, GetLocalizedStringName(L"UnitName_Ounce"), GetLocalizedStringName(L"UnitAbbreviation_Ounce"), 10 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Pound, GetLocalizedStringName(L"UnitName_Pound"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Pound"), 11, useSI, useUSCustomary });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_ShortTon, GetLocalizedStringName(L"UnitName_ShortTon"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_ShortTon"), 13 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Pound,
|
||||
GetLocalizedStringName(L"UnitName_Pound"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Pound"),
|
||||
11,
|
||||
useSI,
|
||||
useUSCustomary });
|
||||
weightUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Weight_ShortTon, GetLocalizedStringName(L"UnitName_ShortTon"), GetLocalizedStringName(L"UnitAbbreviation_ShortTon"), 13 });
|
||||
weightUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Weight_Stone, GetLocalizedStringName(L"UnitName_Stone"), GetLocalizedStringName(L"UnitAbbreviation_Stone"), 12 });
|
||||
weightUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Weight_Tonne, GetLocalizedStringName(L"UnitName_Tonne"), GetLocalizedStringName(L"UnitAbbreviation_Tonne"), 9 });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Snowflake, GetLocalizedStringName(L"UnitName_Snowflake"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Snowflake"), 15, false, false, true });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_SoccerBall, GetLocalizedStringName(L"UnitName_SoccerBall"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SoccerBall"), 16, false, false, true });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Elephant, GetLocalizedStringName(L"UnitName_Elephant"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Elephant"), 17, false, false, true });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Whale, GetLocalizedStringName(L"UnitName_Whale"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Whale"), 18, false, false, true });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Snowflake,
|
||||
GetLocalizedStringName(L"UnitName_Snowflake"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Snowflake"),
|
||||
15,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_SoccerBall,
|
||||
GetLocalizedStringName(L"UnitName_SoccerBall"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_SoccerBall"),
|
||||
16,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Elephant,
|
||||
GetLocalizedStringName(L"UnitName_Elephant"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Elephant"),
|
||||
17,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
weightUnits.push_back(OrderedUnit{ UnitConverterUnits::Weight_Whale,
|
||||
GetLocalizedStringName(L"UnitName_Whale"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Whale"),
|
||||
18,
|
||||
false,
|
||||
false,
|
||||
true });
|
||||
unitMap.emplace(ViewMode::Weight, weightUnits);
|
||||
|
||||
vector<OrderedUnit> pressureUnits;
|
||||
pressureUnits.push_back(OrderedUnit{ UnitConverterUnits::Pressure_Atmosphere, GetLocalizedStringName(L"UnitName_Atmosphere"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Atmosphere"), 1, true, false, false });
|
||||
pressureUnits.push_back(OrderedUnit{ UnitConverterUnits::Pressure_Bar, GetLocalizedStringName(L"UnitName_Bar"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Bar"), 2, false, true, false });
|
||||
pressureUnits.push_back(OrderedUnit{ UnitConverterUnits::Pressure_KiloPascal, GetLocalizedStringName(L"UnitName_KiloPascal"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_KiloPascal"), 3 });
|
||||
pressureUnits.push_back(OrderedUnit{ UnitConverterUnits::Pressure_MillimeterOfMercury, GetLocalizedStringName(L"UnitName_MillimeterOfMercury "),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_MillimeterOfMercury "), 4 });
|
||||
pressureUnits.push_back(OrderedUnit{ UnitConverterUnits::Pressure_Atmosphere,
|
||||
GetLocalizedStringName(L"UnitName_Atmosphere"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Atmosphere"),
|
||||
1,
|
||||
true,
|
||||
false,
|
||||
false });
|
||||
pressureUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Pressure_Bar, GetLocalizedStringName(L"UnitName_Bar"), GetLocalizedStringName(L"UnitAbbreviation_Bar"), 2, false, true, false });
|
||||
pressureUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Pressure_KiloPascal, GetLocalizedStringName(L"UnitName_KiloPascal"), GetLocalizedStringName(L"UnitAbbreviation_KiloPascal"), 3 });
|
||||
pressureUnits.push_back(OrderedUnit{ UnitConverterUnits::Pressure_MillimeterOfMercury,
|
||||
GetLocalizedStringName(L"UnitName_MillimeterOfMercury "),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_MillimeterOfMercury "),
|
||||
4 });
|
||||
pressureUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Pressure_Pascal, GetLocalizedStringName(L"UnitName_Pascal"), GetLocalizedStringName(L"UnitAbbreviation_Pascal"), 5 });
|
||||
pressureUnits.push_back(OrderedUnit{ UnitConverterUnits::Pressure_PSI, GetLocalizedStringName(L"UnitName_PSI"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_PSI"), 6, false, false, false });
|
||||
pressureUnits.push_back(OrderedUnit{
|
||||
UnitConverterUnits::Pressure_PSI, GetLocalizedStringName(L"UnitName_PSI"), GetLocalizedStringName(L"UnitAbbreviation_PSI"), 6, false, false, false });
|
||||
unitMap.emplace(ViewMode::Pressure, pressureUnits);
|
||||
|
||||
vector<OrderedUnit> angleUnits;
|
||||
angleUnits.push_back(OrderedUnit{ UnitConverterUnits::Angle_Degree, GetLocalizedStringName(L"UnitName_Degree"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Degree"), 1, true, false, false });
|
||||
angleUnits.push_back(OrderedUnit{ UnitConverterUnits::Angle_Radian, GetLocalizedStringName(L"UnitName_Radian"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Radian"), 2, false, true, false });
|
||||
angleUnits.push_back(OrderedUnit{ UnitConverterUnits::Angle_Degree,
|
||||
GetLocalizedStringName(L"UnitName_Degree"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Degree"),
|
||||
1,
|
||||
true,
|
||||
false,
|
||||
false });
|
||||
angleUnits.push_back(OrderedUnit{ UnitConverterUnits::Angle_Radian,
|
||||
GetLocalizedStringName(L"UnitName_Radian"),
|
||||
GetLocalizedStringName(L"UnitAbbreviation_Radian"),
|
||||
2,
|
||||
false,
|
||||
true,
|
||||
false });
|
||||
angleUnits.push_back(
|
||||
OrderedUnit{ UnitConverterUnits::Angle_Gradian, GetLocalizedStringName(L"UnitName_Gradian"), GetLocalizedStringName(L"UnitAbbreviation_Gradian"), 3 });
|
||||
unitMap.emplace(ViewMode::Angle, angleUnits);
|
||||
|
@ -722,12 +962,24 @@ void UnitConverterDataLoader::GetExplicitConversionData(_In_ unordered_map<int,
|
|||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_DegreesCelsius, UnitConverterUnits::Temperature_DegreesCelsius, 1, 0 },
|
||||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_DegreesCelsius, UnitConverterUnits::Temperature_DegreesFahrenheit, 1.8, 32 },
|
||||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_DegreesCelsius, UnitConverterUnits::Temperature_Kelvin, 1, 273.15 },
|
||||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_DegreesFahrenheit, UnitConverterUnits::Temperature_DegreesCelsius,
|
||||
0.55555555555555555555555555555556, -32, CONVERT_WITH_OFFSET_FIRST },
|
||||
{ ViewMode::Temperature,
|
||||
UnitConverterUnits::Temperature_DegreesFahrenheit,
|
||||
UnitConverterUnits::Temperature_DegreesCelsius,
|
||||
0.55555555555555555555555555555556,
|
||||
-32,
|
||||
CONVERT_WITH_OFFSET_FIRST },
|
||||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_DegreesFahrenheit, UnitConverterUnits::Temperature_DegreesFahrenheit, 1, 0 },
|
||||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_DegreesFahrenheit, UnitConverterUnits::Temperature_Kelvin, 0.55555555555555555555555555555556,
|
||||
459.67, CONVERT_WITH_OFFSET_FIRST },
|
||||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_Kelvin, UnitConverterUnits::Temperature_DegreesCelsius, 1, -273.15,
|
||||
{ ViewMode::Temperature,
|
||||
UnitConverterUnits::Temperature_DegreesFahrenheit,
|
||||
UnitConverterUnits::Temperature_Kelvin,
|
||||
0.55555555555555555555555555555556,
|
||||
459.67,
|
||||
CONVERT_WITH_OFFSET_FIRST },
|
||||
{ ViewMode::Temperature,
|
||||
UnitConverterUnits::Temperature_Kelvin,
|
||||
UnitConverterUnits::Temperature_DegreesCelsius,
|
||||
1,
|
||||
-273.15,
|
||||
CONVERT_WITH_OFFSET_FIRST },
|
||||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_Kelvin, UnitConverterUnits::Temperature_DegreesFahrenheit, 1.8, -459.67 },
|
||||
{ ViewMode::Temperature, UnitConverterUnits::Temperature_Kelvin, UnitConverterUnits::Temperature_Kelvin, 1, 0 }
|
||||
|
|
|
@ -17,7 +17,12 @@ namespace CalculatorApp
|
|||
}
|
||||
|
||||
OrderedUnit(
|
||||
int id, std::wstring name, std::wstring abbreviation, int order, bool isConversionSource = false, bool isConversionTarget = false,
|
||||
int id,
|
||||
std::wstring name,
|
||||
std::wstring abbreviation,
|
||||
int order,
|
||||
bool isConversionSource = false,
|
||||
bool isConversionTarget = false,
|
||||
bool isWhimsical = false)
|
||||
: UnitConversionManager::Unit(id, name, abbreviation, isConversionSource, isConversionTarget, isWhimsical), order(order)
|
||||
{
|
||||
|
@ -39,7 +44,12 @@ namespace CalculatorApp
|
|||
{
|
||||
}
|
||||
ExplicitUnitConversionData(
|
||||
CalculatorApp::Common::ViewMode categoryId, int parentUnitId, int unitId, double ratio, double offset, bool offsetFirst = false)
|
||||
CalculatorApp::Common::ViewMode categoryId,
|
||||
int parentUnitId,
|
||||
int unitId,
|
||||
double ratio,
|
||||
double offset,
|
||||
bool offsetFirst = false)
|
||||
: categoryId(categoryId), parentUnitId(parentUnitId), unitId(unitId), UnitConversionManager::ConversionData(ratio, offset, offsetFirst)
|
||||
{
|
||||
}
|
||||
|
|
|
@ -218,7 +218,8 @@ void DateCalculatorViewModel::InitializeDateOutputFormats(_In_ String ^ calendar
|
|||
{
|
||||
// Format for Add/Subtract days
|
||||
m_dateTimeFormatter = LocalizationService::GetRegionalSettingsAwareDateTimeFormatter(
|
||||
L"longdate", calendarIdentifier,
|
||||
L"longdate",
|
||||
calendarIdentifier,
|
||||
ClockIdentifiers::TwentyFourHour); // Clock Identifier is not used
|
||||
|
||||
// Format for Date Difference
|
||||
|
|
|
@ -11,7 +11,9 @@ using namespace std;
|
|||
using namespace Platform;
|
||||
|
||||
HistoryItemViewModel::HistoryItemViewModel(
|
||||
String ^ expression, String ^ result, _In_ const shared_ptr<CalculatorVector<pair<wstring, int>>>& spTokens,
|
||||
String ^ expression,
|
||||
String ^ result,
|
||||
_In_ const shared_ptr<CalculatorVector<pair<wstring, int>>>& spTokens,
|
||||
_In_ const shared_ptr<CalculatorVector<shared_ptr<IExpressionCommand>>>& spCommands)
|
||||
: m_expression(expression), m_result(result), m_spTokens(spTokens), m_spCommands(spCommands)
|
||||
{
|
||||
|
@ -22,7 +24,8 @@ HistoryItemViewModel::HistoryItemViewModel(
|
|||
|
||||
String
|
||||
^ HistoryItemViewModel::GetAccessibleExpressionFromTokens(
|
||||
_In_ shared_ptr<CalculatorVector<pair<wstring, int>>> const& spTokens, _In_ String ^ fallbackExpression)
|
||||
_In_ shared_ptr<CalculatorVector<pair<wstring, int>>> const& spTokens,
|
||||
_In_ String ^ fallbackExpression)
|
||||
{
|
||||
// updating accessibility names for expression and result
|
||||
wstringstream accExpression{};
|
||||
|
|
|
@ -15,7 +15,8 @@ namespace CalculatorApp
|
|||
internal :
|
||||
|
||||
HistoryItemViewModel(
|
||||
Platform::String ^ expression, Platform::String ^ result,
|
||||
Platform::String ^ expression,
|
||||
Platform::String ^ result,
|
||||
_In_ std::shared_ptr<CalculatorVector<std::pair<std::wstring, int>>> const& spTokens,
|
||||
_In_ std::shared_ptr<CalculatorVector<std::shared_ptr<IExpressionCommand>>> const& spCommands);
|
||||
|
||||
|
@ -61,7 +62,8 @@ namespace CalculatorApp
|
|||
|
||||
private : static Platform::String
|
||||
^ GetAccessibleExpressionFromTokens(
|
||||
_In_ std::shared_ptr<CalculatorVector<std::pair<std::wstring, int>>> const& spTokens, _In_ Platform::String ^ fallbackExpression);
|
||||
_In_ std::shared_ptr<CalculatorVector<std::pair<std::wstring, int>>> const& spTokens,
|
||||
_In_ Platform::String ^ fallbackExpression);
|
||||
|
||||
private:
|
||||
Platform::String ^ m_expression;
|
||||
|
|
|
@ -70,7 +70,9 @@ void HistoryViewModel::ReloadHistory(_In_ ViewMode currentMode)
|
|||
localizer.LocalizeDisplayValue(&result);
|
||||
|
||||
auto item = ref new HistoryItemViewModel(
|
||||
ref new Platform::String(expression.c_str()), ref new Platform::String(result.c_str()), (*ritr)->historyItemVector.spTokens,
|
||||
ref new Platform::String(expression.c_str()),
|
||||
ref new Platform::String(result.c_str()),
|
||||
(*ritr)->historyItemVector.spTokens,
|
||||
(*ritr)->historyItemVector.spCommands);
|
||||
historyListVM->Append(item);
|
||||
}
|
||||
|
@ -89,7 +91,9 @@ void HistoryViewModel::OnHistoryItemAdded(_In_ unsigned int addedItemIndex)
|
|||
localizer.LocalizeDisplayValue(&expression);
|
||||
localizer.LocalizeDisplayValue(&result);
|
||||
auto item = ref new HistoryItemViewModel(
|
||||
ref new Platform::String(expression.c_str()), ref new Platform::String(result.c_str()), newItem->historyItemVector.spTokens,
|
||||
ref new Platform::String(expression.c_str()),
|
||||
ref new Platform::String(result.c_str()),
|
||||
newItem->historyItemVector.spTokens,
|
||||
newItem->historyItemVector.spCommands);
|
||||
|
||||
// check if we have not hit the max items
|
||||
|
|
|
@ -236,7 +236,8 @@ void StandardCalculatorViewModel::SetOpenParenthesisCountNarratorAnnouncement()
|
|||
LocalizationSettings::GetInstance().LocalizeDisplayValue(&localizedParenthesisCount);
|
||||
|
||||
String ^ announcement = LocalizationStringUtil::GetLocalizedNarratorAnnouncement(
|
||||
CalculatorResourceKeys::OpenParenthesisCountAutomationFormat, m_localizedOpenParenthesisCountChangedAutomationFormat,
|
||||
CalculatorResourceKeys::OpenParenthesisCountAutomationFormat,
|
||||
m_localizedOpenParenthesisCountChangedAutomationFormat,
|
||||
localizedParenthesisCount.c_str());
|
||||
|
||||
Announcement = CalculatorAnnouncement::GetOpenParenthesisCountChangedAnnouncement(announcement);
|
||||
|
@ -1960,7 +1961,9 @@ NarratorAnnouncement ^ StandardCalculatorViewModel::GetDisplayUpdatedNarratorAnn
|
|||
else
|
||||
{
|
||||
announcement = LocalizationStringUtil::GetLocalizedNarratorAnnouncement(
|
||||
CalculatorResourceKeys::ButtonPressFeedbackFormat, m_localizedButtonPressFeedbackAutomationFormat, m_CalculationResultAutomationName->Data(),
|
||||
CalculatorResourceKeys::ButtonPressFeedbackFormat,
|
||||
m_localizedButtonPressFeedbackAutomationFormat,
|
||||
m_CalculationResultAutomationName->Data(),
|
||||
m_feedbackForButtonPress->Data());
|
||||
}
|
||||
|
||||
|
|
|
@ -463,7 +463,8 @@ void UnitConverterViewModel::UpdateSupplementaryResults(const std::vector<std::t
|
|||
|
||||
// Schedule the timer
|
||||
m_supplementaryResultsTimer = ThreadPoolTimer::CreateTimer(
|
||||
ref new TimerElapsedHandler(this, &UnitConverterViewModel::SupplementaryResultsTimerTick, TIMER_CALLBACK_CONTEXT), SUPPLEMENTARY_VALUES_INTERVAL,
|
||||
ref new TimerElapsedHandler(this, &UnitConverterViewModel::SupplementaryResultsTimerTick, TIMER_CALLBACK_CONTEXT),
|
||||
SUPPLEMENTARY_VALUES_INTERVAL,
|
||||
ref new TimerDestroyedHandler(this, &UnitConverterViewModel::SupplementaryResultsTimerCancel, TIMER_CALLBACK_CONTEXT));
|
||||
}
|
||||
|
||||
|
@ -1011,7 +1012,10 @@ String ^ UnitConverterViewModel::GetLocalizedAutomationName(_In_ String ^ displa
|
|||
|
||||
String
|
||||
^ UnitConverterViewModel::GetLocalizedConversionResultStringFormat(
|
||||
_In_ String ^ fromValue, _In_ String ^ fromUnit, _In_ String ^ toValue, _In_ String ^ toUnit)
|
||||
_In_ String ^ fromValue,
|
||||
_In_ String ^ fromUnit,
|
||||
_In_ String ^ toValue,
|
||||
_In_ String ^ toUnit)
|
||||
{
|
||||
String ^ localizedString =
|
||||
ref new String(LocalizationStringUtil::GetLocalizedString(
|
||||
|
|
|
@ -208,7 +208,10 @@ namespace CalculatorApp
|
|||
^ GetLocalizedAutomationName(_In_ Platform::String ^ displayvalue, _In_ Platform::String ^ unitname, _In_ Platform::String ^ format);
|
||||
Platform::String
|
||||
^ GetLocalizedConversionResultStringFormat(
|
||||
_In_ Platform::String ^ fromValue, _In_ Platform::String ^ fromUnit, _In_ Platform::String ^ toValue, _In_ Platform::String ^ toUnit);
|
||||
_In_ Platform::String ^ fromValue,
|
||||
_In_ Platform::String ^ fromUnit,
|
||||
_In_ Platform::String ^ toValue,
|
||||
_In_ Platform::String ^ toUnit);
|
||||
void UpdateValue1AutomationName();
|
||||
void UpdateValue2AutomationName();
|
||||
Platform::String ^ Serialize();
|
||||
|
|
|
@ -357,7 +357,9 @@ void App::OnAppLaunch(IActivatedEventArgs ^ args, String ^ argument)
|
|||
if ((activatedEventArgs != nullptr) && (activatedEventArgs->CurrentlyShownApplicationViewId != 0))
|
||||
{
|
||||
create_task(ApplicationViewSwitcher::TryShowAsStandaloneAsync(
|
||||
frameService->GetViewId(), ViewSizePreference::Default, activatedEventArgs->CurrentlyShownApplicationViewId,
|
||||
frameService->GetViewId(),
|
||||
ViewSizePreference::Default,
|
||||
activatedEventArgs->CurrentlyShownApplicationViewId,
|
||||
ViewSizePreference::Default))
|
||||
.then(
|
||||
[safeFrameServiceCreation](bool viewShown) {
|
||||
|
|
|
@ -265,7 +265,9 @@ namespace CalculatorApp
|
|||
private:
|
||||
virtual Platform::Object
|
||||
^ Convert(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName /*targetType*/, Platform::Object ^ /*parameter*/,
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName /*targetType*/,
|
||||
Platform::Object ^ /*parameter*/,
|
||||
Platform::String ^ /*language*/) = Windows::UI::Xaml::Data::IValueConverter::Convert
|
||||
{
|
||||
auto result = dynamic_cast<Windows::UI::Xaml::Interop::IBindableVector ^>(value);
|
||||
|
@ -278,7 +280,9 @@ namespace CalculatorApp
|
|||
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ /*value*/, Windows::UI::Xaml::Interop::TypeName /*targetType*/, Platform::Object ^ /*parameter*/,
|
||||
Platform::Object ^ /*value*/,
|
||||
Windows::UI::Xaml::Interop::TypeName /*targetType*/,
|
||||
Platform::Object ^ /*parameter*/,
|
||||
Platform::String ^ /*language*/) = Windows::UI::Xaml::Data::IValueConverter::ConvertBack
|
||||
{
|
||||
return Windows::UI::Xaml::DependencyProperty::UnsetValue;
|
||||
|
|
|
@ -15,11 +15,15 @@ namespace CalculatorApp
|
|||
public:
|
||||
virtual Platform::Object
|
||||
^ Convert(
|
||||
_In_ Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, _In_ Platform::Object ^ parameter,
|
||||
_In_ Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
_In_ Platform::Object ^ parameter,
|
||||
_In_ Platform::String ^ language);
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
_In_ Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, _In_ Platform::Object ^ parameter,
|
||||
_In_ Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
_In_ Platform::Object ^ parameter,
|
||||
_In_ Platform::String ^ language);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,7 +17,10 @@ namespace CalculatorApp
|
|||
^ Convert(Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,10 @@ namespace CalculatorApp
|
|||
^ Convert(Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language);
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
|
@ -39,7 +42,10 @@ namespace CalculatorApp
|
|||
^ Convert(Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language);
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -14,7 +14,10 @@ namespace CalculatorApp
|
|||
^ Convert(Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language);
|
||||
};
|
||||
|
||||
public
|
||||
|
@ -25,7 +28,10 @@ namespace CalculatorApp
|
|||
^ Convert(Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,10 @@ namespace CalculatorApp
|
|||
^ Convert(Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,7 +17,10 @@ namespace CalculatorApp
|
|||
^ Convert(Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter, Platform::String ^ language);
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language);
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -110,7 +110,8 @@ public
|
|||
Memory ^ m_memory;
|
||||
void HistoryFlyout_Opened(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ args);
|
||||
void HistoryFlyout_Closing(
|
||||
_In_ Windows::UI::Xaml::Controls::Primitives::FlyoutBase ^ sender, _In_ Windows::UI::Xaml::Controls::Primitives::FlyoutBaseClosingEventArgs ^ args);
|
||||
_In_ Windows::UI::Xaml::Controls::Primitives::FlyoutBase ^ sender,
|
||||
_In_ Windows::UI::Xaml::Controls::Primitives::FlyoutBaseClosingEventArgs ^ args);
|
||||
void HistoryFlyout_Closed(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ args);
|
||||
void OnHideHistoryClicked();
|
||||
void OnHideMemoryClicked();
|
||||
|
@ -122,7 +123,8 @@ public
|
|||
bool m_fIsMemoryFlyoutOpen;
|
||||
void OnMemoryFlyoutOpened(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ args);
|
||||
void OnMemoryFlyoutClosing(
|
||||
_In_ Windows::UI::Xaml::Controls::Primitives::FlyoutBase ^ sender, _In_ Windows::UI::Xaml::Controls::Primitives::FlyoutBaseClosingEventArgs ^ args);
|
||||
_In_ Windows::UI::Xaml::Controls::Primitives::FlyoutBase ^ sender,
|
||||
_In_ Windows::UI::Xaml::Controls::Primitives::FlyoutBaseClosingEventArgs ^ args);
|
||||
void OnMemoryFlyoutClosed(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ args);
|
||||
void SetChildAsMemory();
|
||||
void SetChildAsHistory();
|
||||
|
|
|
@ -35,7 +35,9 @@ namespace CalculatorApp
|
|||
void AssignFlipButtons();
|
||||
|
||||
void SetVisibilityBinding(
|
||||
_In_ Windows::UI::Xaml::FrameworkElement ^ element, _In_ Platform::String ^ path, _In_ Windows::UI::Xaml::Data::IValueConverter ^ converter);
|
||||
_In_ Windows::UI::Xaml::FrameworkElement ^ element,
|
||||
_In_ Platform::String ^ path,
|
||||
_In_ Windows::UI::Xaml::Data::IValueConverter ^ converter);
|
||||
void OnBitToggled(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||
void UpdateCheckedStates();
|
||||
|
||||
|
|
|
@ -69,7 +69,8 @@ void CalculatorScientificOperators::shiftButton_Check(_In_ Platform::Object ^ /*
|
|||
}
|
||||
|
||||
void CalculatorScientificOperators::shiftButton_IsEnabledChanged(
|
||||
_In_ Platform::Object ^ /*sender*/, _In_ Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ /*e*/)
|
||||
_In_ Platform::Object ^ /*sender*/,
|
||||
_In_ Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ /*e*/)
|
||||
{
|
||||
SetOperatorRowVisibility();
|
||||
Common::KeyboardShortcutManager::ShiftButtonChecked(ShiftButton->IsEnabled && ShiftButton->IsChecked->Value);
|
||||
|
|
|
@ -80,7 +80,8 @@ DateCalculator::DateCalculator()
|
|||
|
||||
// Set the PlaceHolderText for CalendarDatePicker
|
||||
DateTimeFormatter ^ dateTimeFormatter = LocalizationService::GetRegionalSettingsAwareDateTimeFormatter(
|
||||
L"day month year", localizationSettings.GetCalendarIdentifier(),
|
||||
L"day month year",
|
||||
localizationSettings.GetCalendarIdentifier(),
|
||||
ClockIdentifiers::TwentyFourHour); // Clock Identifier is not used
|
||||
|
||||
DateDiff_FromDate->DateFormat = L"day month year";
|
||||
|
|
|
@ -30,11 +30,14 @@ namespace CalculatorApp
|
|||
|
||||
private:
|
||||
void FromDate_DateChanged(
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePicker ^ sender, _In_ Windows::UI::Xaml::Controls::CalendarDatePickerDateChangedEventArgs ^ e);
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePicker ^ sender,
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePickerDateChangedEventArgs ^ e);
|
||||
void ToDate_DateChanged(
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePicker ^ sender, _In_ Windows::UI::Xaml::Controls::CalendarDatePickerDateChangedEventArgs ^ e);
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePicker ^ sender,
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePickerDateChangedEventArgs ^ e);
|
||||
void AddSubtract_DateChanged(
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePicker ^ sender, _In_ Windows::UI::Xaml::Controls::CalendarDatePickerDateChangedEventArgs ^ e);
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePicker ^ sender,
|
||||
_In_ Windows::UI::Xaml::Controls::CalendarDatePickerDateChangedEventArgs ^ e);
|
||||
void OffsetValue_Changed(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::Controls::SelectionChangedEventArgs ^ e);
|
||||
void OnCopyMenuItemClicked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||
void OnLoaded(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||
|
|
|
@ -50,7 +50,8 @@ public
|
|||
void OnNavPaneClosed(_In_ Microsoft::UI::Xaml::Controls::NavigationView ^ sender, _In_ Platform::Object ^ args);
|
||||
void OnNavSelectionChanged(_In_ Platform::Object ^ sender, _In_ Microsoft::UI::Xaml::Controls::NavigationViewSelectionChangedEventArgs ^ e);
|
||||
void OnNavItemInvoked(
|
||||
Microsoft::UI::Xaml::Controls::NavigationView ^ /*sender*/, _In_ Microsoft::UI::Xaml::Controls::NavigationViewItemInvokedEventArgs ^ e);
|
||||
Microsoft::UI::Xaml::Controls::NavigationView ^ /*sender*/,
|
||||
_In_ Microsoft::UI::Xaml::Controls::NavigationViewItemInvokedEventArgs ^ e);
|
||||
|
||||
void OnAboutButtonClick(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::Controls::ItemClickEventArgs ^ e);
|
||||
void OnAboutFlyoutOpened(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ e);
|
||||
|
|
|
@ -27,11 +27,15 @@ public
|
|||
|
||||
internal : virtual Platform::Object
|
||||
^ Convert(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter,
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language) = Windows::UI::Xaml::Data::IValueConverter::Convert;
|
||||
virtual Platform::Object
|
||||
^ ConvertBack(
|
||||
Platform::Object ^ value, Windows::UI::Xaml::Interop::TypeName targetType, Platform::Object ^ parameter,
|
||||
Platform::Object ^ value,
|
||||
Windows::UI::Xaml::Interop::TypeName targetType,
|
||||
Platform::Object ^ parameter,
|
||||
Platform::String ^ language) = Windows::UI::Xaml::Data::IValueConverter::ConvertBack;
|
||||
|
||||
private:
|
||||
|
|
|
@ -118,18 +118,29 @@ namespace CalculatorEngineTests
|
|||
// Regex matching (descriptions taken from CalcUtils.cpp)
|
||||
// Use 100 for exp/mantissa length as they are tested above
|
||||
vector<wstring> validDecStrs{ // Start with an optional + or -
|
||||
L"+1", L"-1", L"1",
|
||||
L"+1",
|
||||
L"-1",
|
||||
L"1",
|
||||
// Followed by zero or more digits
|
||||
L"-", L"", L"1234567890",
|
||||
L"-",
|
||||
L"",
|
||||
L"1234567890",
|
||||
// Followed by an optional decimal point
|
||||
L"1.0", L"-.", L"1.",
|
||||
L"1.0",
|
||||
L"-.",
|
||||
L"1.",
|
||||
// Followed by zero or more digits
|
||||
L"0.0", L"0.123456",
|
||||
L"0.0",
|
||||
L"0.123456",
|
||||
// Followed by an optional exponent ('e')
|
||||
L"1e", L"1.e", L"-e",
|
||||
L"1e",
|
||||
L"1.e",
|
||||
L"-e",
|
||||
// If there's an exponent, its optionally followed by + or -
|
||||
// and followed by zero or more digits
|
||||
L"1e+12345", L"1e-12345", L"1e123",
|
||||
L"1e+12345",
|
||||
L"1e-12345",
|
||||
L"1e123",
|
||||
// All together
|
||||
L"-123.456e+789"
|
||||
};
|
||||
|
@ -213,7 +224,8 @@ namespace CalculatorEngineTests
|
|||
result = L"123456,78,901,23456";
|
||||
VERIFY_ARE_EQUAL(result, m_calcEngine->GroupDigits(L",", { 5, 3, 2 }, L"1234567890123456", false), L"Verify multigroup non-repeating grouping.");
|
||||
VERIFY_ARE_EQUAL(
|
||||
result, m_calcEngine->GroupDigits(L",", { 5, 3, 2, 0, 0 }, L"1234567890123456", false),
|
||||
result,
|
||||
m_calcEngine->GroupDigits(L",", { 5, 3, 2, 0, 0 }, L"1234567890123456", false),
|
||||
L"Verify expanded form multigroup non-repeating grouping.");
|
||||
}
|
||||
|
||||
|
|
|
@ -60,22 +60,27 @@ namespace CalculatorUnitTests
|
|||
}
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ValidatePasteExpression(StringReference(exp_TooLong.c_str()), ViewMode::Standard, CategoryGroupType::Calculator, -1, -1),
|
||||
StringReference(exp_TooLong.c_str()), L"Verify ValidatePasteExpression handles expressions up to max length");
|
||||
StringReference(exp_TooLong.c_str()),
|
||||
L"Verify ValidatePasteExpression handles expressions up to max length");
|
||||
exp_TooLong += L"1";
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ValidatePasteExpression(StringReference(exp_TooLong.c_str()), ViewMode::Standard, CategoryGroupType::Calculator, -1, -1),
|
||||
StringReference(L"NoOp"), L"Verify ValidatePasteExpression returns NoOp for strings over max length");
|
||||
StringReference(L"NoOp"),
|
||||
L"Verify ValidatePasteExpression returns NoOp for strings over max length");
|
||||
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ValidatePasteExpression(StringReference(L""), ViewMode::Standard, CategoryGroupType::Calculator, -1, -1),
|
||||
StringReference(L"NoOp"), L"Verify empty string is invalid");
|
||||
StringReference(L"NoOp"),
|
||||
L"Verify empty string is invalid");
|
||||
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ValidatePasteExpression(StringReference(L"123e456"), ViewMode::Standard, CategoryGroupType::Calculator, -1, -1),
|
||||
StringReference(L"NoOp"), L"Verify pasting unsupported strings for the current mode is invalid");
|
||||
StringReference(L"NoOp"),
|
||||
L"Verify pasting unsupported strings for the current mode is invalid");
|
||||
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ValidatePasteExpression(StringReference(L"123"), ViewMode::None, CategoryGroupType::None, -1, -1), StringReference(L"NoOp"),
|
||||
m_CopyPasteManager.ValidatePasteExpression(StringReference(L"123"), ViewMode::None, CategoryGroupType::None, -1, -1),
|
||||
StringReference(L"NoOp"),
|
||||
L"Verify pasting without a ViewMode or Category is invalid");
|
||||
};
|
||||
|
||||
|
@ -111,18 +116,21 @@ namespace CalculatorUnitTests
|
|||
exp_OperandLimit += L"+1";
|
||||
}
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ExtractOperands(exp_OperandLimit, ViewMode::Standard).size(), 100,
|
||||
m_CopyPasteManager.ExtractOperands(exp_OperandLimit, ViewMode::Standard).size(),
|
||||
100,
|
||||
L"Verify ExtractOperands handles up to MaxOperandCount operands");
|
||||
|
||||
exp_OperandLimit += L"+1";
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ExtractOperands(exp_OperandLimit, ViewMode::Standard).size(), 0,
|
||||
m_CopyPasteManager.ExtractOperands(exp_OperandLimit, ViewMode::Standard).size(),
|
||||
0,
|
||||
L"Verify ExtractOperands returns empty vector on too many operands");
|
||||
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ExtractOperands(L"12e9999", ViewMode::Standard).size(), 1, L"Verify ExtractOperands handles up to 4 digit exponents");
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.ExtractOperands(L"12e10000", ViewMode::Standard).size(), 0,
|
||||
m_CopyPasteManager.ExtractOperands(L"12e10000", ViewMode::Standard).size(),
|
||||
0,
|
||||
L"Verify ExtractOperands returns empty vector when the exponent is too long");
|
||||
};
|
||||
|
||||
|
@ -152,8 +160,11 @@ namespace CalculatorUnitTests
|
|||
VERIFY_IS_FALSE(m_CopyPasteManager.ExpressionRegExMatch(
|
||||
vector<wstring>{ L"11111111111111111111111" }, ViewMode::Programmer, CategoryGroupType::Calculator, OctBase, QwordType));
|
||||
VERIFY_IS_FALSE(m_CopyPasteManager.ExpressionRegExMatch(
|
||||
vector<wstring>{ L"10000000000000000000000000000000000000000000000000000000000000000" }, ViewMode::Programmer, CategoryGroupType::Calculator,
|
||||
BinBase, QwordType));
|
||||
vector<wstring>{ L"10000000000000000000000000000000000000000000000000000000000000000" },
|
||||
ViewMode::Programmer,
|
||||
CategoryGroupType::Calculator,
|
||||
BinBase,
|
||||
QwordType));
|
||||
|
||||
VERIFY_IS_FALSE(
|
||||
m_CopyPasteManager.ExpressionRegExMatch(
|
||||
|
@ -195,13 +206,16 @@ namespace CalculatorUnitTests
|
|||
pair<size_t, unsigned long long int> scientificModeMaximums = make_pair(m_CopyPasteManager.MaxScientificOperandLength, 0);
|
||||
pair<size_t, unsigned long long int> converterModeMaximums = make_pair(m_CopyPasteManager.MaxConverterInputLength, 0);
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.GetMaxOperandLengthAndValue(ViewMode::Standard, CategoryGroupType::None, -1, -1), standardModeMaximums,
|
||||
m_CopyPasteManager.GetMaxOperandLengthAndValue(ViewMode::Standard, CategoryGroupType::None, -1, -1),
|
||||
standardModeMaximums,
|
||||
L"Verify Standard mode maximum values");
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.GetMaxOperandLengthAndValue(ViewMode::Scientific, CategoryGroupType::None, -1, -1), scientificModeMaximums,
|
||||
m_CopyPasteManager.GetMaxOperandLengthAndValue(ViewMode::Scientific, CategoryGroupType::None, -1, -1),
|
||||
scientificModeMaximums,
|
||||
L"Verify Scientific mode maximum values");
|
||||
VERIFY_ARE_EQUAL(
|
||||
m_CopyPasteManager.GetMaxOperandLengthAndValue(ViewMode::None, CategoryGroupType::Converter, -1, -1), converterModeMaximums,
|
||||
m_CopyPasteManager.GetMaxOperandLengthAndValue(ViewMode::None, CategoryGroupType::Converter, -1, -1),
|
||||
converterModeMaximums,
|
||||
L"Verify Converter mode maximum values");
|
||||
|
||||
unsigned long long int ullQwordMax = UINT64_MAX;
|
||||
|
|
|
@ -40,8 +40,10 @@ namespace DateCalculationUnitTests
|
|||
// Returns long date format for a date
|
||||
static Platform::String ^ GetLongDate(SYSTEMTIME systemTime) {
|
||||
auto formatter = ref new Windows::Globalization::DateTimeFormatting::DateTimeFormatter(
|
||||
L"longdate", Windows::Globalization::ApplicationLanguages::Languages,
|
||||
Windows::System::UserProfile::GlobalizationPreferences::HomeGeographicRegion, Windows::Globalization::CalendarIdentifiers::Gregorian,
|
||||
L"longdate",
|
||||
Windows::Globalization::ApplicationLanguages::Languages,
|
||||
Windows::System::UserProfile::GlobalizationPreferences::HomeGeographicRegion,
|
||||
Windows::Globalization::CalendarIdentifiers::Gregorian,
|
||||
Windows::Globalization::ClockIdentifiers::TwentyFourHour);
|
||||
|
||||
Windows::Foundation::DateTime dateTime = SystemTimeToDateTime(systemTime);
|
||||
|
|
|
@ -270,7 +270,8 @@ namespace CalculatorUnitTests
|
|||
{ NumbersAndOperatorsEnum::Five, L"7" + std::wstring(m_decimalSeparator->Data()) + L"5", L"" },
|
||||
{ NumbersAndOperatorsEnum::Five, L"7" + std::wstring(m_decimalSeparator->Data()) + L"55", L"" },
|
||||
{ NumbersAndOperatorsEnum::Five, L"7" + std::wstring(m_decimalSeparator->Data()) + L"555", L"" },
|
||||
{ NumbersAndOperatorsEnum::Multiply, L"7" + std::wstring(m_decimalSeparator->Data()) + L"555",
|
||||
{ NumbersAndOperatorsEnum::Multiply,
|
||||
L"7" + std::wstring(m_decimalSeparator->Data()) + L"555",
|
||||
L"7" + std::wstring(m_decimalSeparator->Data()) + L"555 * " },
|
||||
{ NumbersAndOperatorsEnum::Three, L"3", L"7" + std::wstring(m_decimalSeparator->Data()) + L"555 * " },
|
||||
{ NumbersAndOperatorsEnum::Equals, L"22" + std::wstring(m_decimalSeparator->Data()) + L"665", L"" },
|
||||
|
|
|
@ -492,8 +492,21 @@ namespace UnitConverterUnitTests
|
|||
|
||||
void UnitConverterTest::UnitConverterTestMaxDigitsReached()
|
||||
{
|
||||
ExecuteCommands({ Command::One, Command::Two, Command::Three, Command::Four, Command::Five, Command::Six, Command::Seven, Command::Eight, Command::Nine,
|
||||
Command::One, Command::Zero, Command::One, Command::One, Command::One, Command::Two });
|
||||
ExecuteCommands({ Command::One,
|
||||
Command::Two,
|
||||
Command::Three,
|
||||
Command::Four,
|
||||
Command::Five,
|
||||
Command::Six,
|
||||
Command::Seven,
|
||||
Command::Eight,
|
||||
Command::Nine,
|
||||
Command::One,
|
||||
Command::Zero,
|
||||
Command::One,
|
||||
Command::One,
|
||||
Command::One,
|
||||
Command::Two });
|
||||
|
||||
VERIFY_ARE_EQUAL(0, s_testVMCallback->GetMaxDigitsReachedCallCount());
|
||||
|
||||
|
@ -504,8 +517,22 @@ namespace UnitConverterUnitTests
|
|||
|
||||
void UnitConverterTest::UnitConverterTestMaxDigitsReached_LeadingDecimal()
|
||||
{
|
||||
ExecuteCommands({ Command::Zero, Command::Decimal, Command::One, Command::Two, Command::Three, Command::Four, Command::Five, Command::Six,
|
||||
Command::Seven, Command::Eight, Command::Nine, Command::One, Command::Zero, Command::One, Command::One, Command::One });
|
||||
ExecuteCommands({ Command::Zero,
|
||||
Command::Decimal,
|
||||
Command::One,
|
||||
Command::Two,
|
||||
Command::Three,
|
||||
Command::Four,
|
||||
Command::Five,
|
||||
Command::Six,
|
||||
Command::Seven,
|
||||
Command::Eight,
|
||||
Command::Nine,
|
||||
Command::One,
|
||||
Command::Zero,
|
||||
Command::One,
|
||||
Command::One,
|
||||
Command::One });
|
||||
|
||||
VERIFY_ARE_EQUAL(0, s_testVMCallback->GetMaxDigitsReachedCallCount());
|
||||
|
||||
|
@ -516,8 +543,22 @@ namespace UnitConverterUnitTests
|
|||
|
||||
void UnitConverterTest::UnitConverterTestMaxDigitsReached_TrailingDecimal()
|
||||
{
|
||||
ExecuteCommands({ Command::One, Command::Two, Command::Three, Command::Four, Command::Five, Command::Six, Command::Seven, Command::Eight, Command::Nine,
|
||||
Command::One, Command::Zero, Command::One, Command::One, Command::One, Command::Two, Command::Decimal });
|
||||
ExecuteCommands({ Command::One,
|
||||
Command::Two,
|
||||
Command::Three,
|
||||
Command::Four,
|
||||
Command::Five,
|
||||
Command::Six,
|
||||
Command::Seven,
|
||||
Command::Eight,
|
||||
Command::Nine,
|
||||
Command::One,
|
||||
Command::Zero,
|
||||
Command::One,
|
||||
Command::One,
|
||||
Command::One,
|
||||
Command::Two,
|
||||
Command::Decimal });
|
||||
|
||||
VERIFY_ARE_EQUAL(0, s_testVMCallback->GetMaxDigitsReachedCallCount());
|
||||
|
||||
|
@ -528,8 +569,21 @@ namespace UnitConverterUnitTests
|
|||
|
||||
void UnitConverterTest::UnitConverterTestMaxDigitsReached_MultipleTimes()
|
||||
{
|
||||
ExecuteCommands({ Command::One, Command::Two, Command::Three, Command::Four, Command::Five, Command::Six, Command::Seven, Command::Eight, Command::Nine,
|
||||
Command::One, Command::Zero, Command::One, Command::One, Command::One, Command::Two });
|
||||
ExecuteCommands({ Command::One,
|
||||
Command::Two,
|
||||
Command::Three,
|
||||
Command::Four,
|
||||
Command::Five,
|
||||
Command::Six,
|
||||
Command::Seven,
|
||||
Command::Eight,
|
||||
Command::Nine,
|
||||
Command::One,
|
||||
Command::Zero,
|
||||
Command::One,
|
||||
Command::One,
|
||||
Command::One,
|
||||
Command::Two });
|
||||
|
||||
VERIFY_ARE_EQUAL(0, s_testVMCallback->GetMaxDigitsReachedCallCount());
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue