Support other locales for decimal and list separators (#1060)

* Support other locales for decimal and list seperators

* PR fixes
This commit is contained in:
Pepe Rivera
2020-03-04 15:15:18 -08:00
committed by GitHub
parent 880072016f
commit f1d53fba61
6 changed files with 43 additions and 6 deletions

View File

@@ -29,6 +29,7 @@ using namespace Windows::UI::Xaml::Media;
using namespace GraphControl;
DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, ForceProportionalAxes);
DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, UseCommaDecimalSeperator);
DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, Variables);
DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, Equations);
DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, AxesColor);
@@ -279,7 +280,14 @@ namespace GraphControl
if (numValidEquations++ > 0)
{
request += L"<mo>,</mo>";
if (!UseCommaDecimalSeperator)
{
request += L"<mo>,</mo>";
}
else
{
request += L"<mo>;</mo>";
}
}
auto equationRequest = eq->GetRequest()->Data();
@@ -511,6 +519,20 @@ namespace GraphControl
TryUpdateGraph(false);
}
void Grapher::OnUseCommaDecimalSeperatorPropertyChanged(bool oldValue, bool newValue)
{
if (newValue)
{
m_solver->ParsingOptions().SetLocalizationType(::LocalizationType::DecimalCommaAndListSemicolon);
m_solver->FormatOptions().SetLocalizationType(::LocalizationType::DecimalCommaAndListSemicolon);
}
else
{
m_solver->ParsingOptions().SetLocalizationType(::LocalizationType::DecimalPointAndListComma);
m_solver->FormatOptions().SetLocalizationType(::LocalizationType::DecimalPointAndListComma);
}
}
void Grapher::OnPointerEntered(PointerRoutedEventArgs ^ e)
{
if (m_renderMain)

View File

@@ -38,6 +38,7 @@ public
DEPENDENCY_PROPERTY_OWNER(Grapher);
DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(bool, ForceProportionalAxes, true);
DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(bool, UseCommaDecimalSeperator, false);
DEPENDENCY_PROPERTY_WITH_DEFAULT(
SINGLE_ARG(Windows::Foundation::Collections::IObservableMap<Platform::String ^, double> ^),
Variables,
@@ -266,6 +267,7 @@ public
private:
void OnForceProportionalAxesPropertyChanged(bool oldValue, bool newValue);
void OnUseCommaDecimalSeperatorPropertyChanged(bool oldValue, bool newValue);
void OnEquationsPropertyChanged(EquationCollection ^ oldValue, EquationCollection ^ newValue);
void OnAxesColorPropertyChanged(Windows::UI::Color oldValue, Windows::UI::Color newValue);
void OnGraphBackgroundPropertyChanged(Windows::UI::Color oldValue, Windows::UI::Color newValue);