Check for valid input in min/max/step fields (#1270)
This commit is contained in:
parent
2104059f72
commit
4c8e1cb5f0
@ -9,6 +9,9 @@
|
|||||||
|
|
||||||
namespace CalculatorApp::ViewModel
|
namespace CalculatorApp::ViewModel
|
||||||
{
|
{
|
||||||
|
|
||||||
|
inline constexpr int DefaultMinMaxRange = 10;
|
||||||
|
|
||||||
public
|
public
|
||||||
value struct VariableChangedEventArgs sealed
|
value struct VariableChangedEventArgs sealed
|
||||||
{
|
{
|
||||||
@ -40,6 +43,12 @@ public
|
|||||||
{
|
{
|
||||||
if (m_variable->Min != value)
|
if (m_variable->Min != value)
|
||||||
{
|
{
|
||||||
|
if (value >= m_variable->Max)
|
||||||
|
{
|
||||||
|
m_variable->Max = value + DefaultMinMaxRange;
|
||||||
|
RaisePropertyChanged("Max");
|
||||||
|
}
|
||||||
|
|
||||||
m_variable->Min = value;
|
m_variable->Min = value;
|
||||||
RaisePropertyChanged("Min");
|
RaisePropertyChanged("Min");
|
||||||
}
|
}
|
||||||
@ -72,6 +81,12 @@ public
|
|||||||
{
|
{
|
||||||
if (m_variable->Max != value)
|
if (m_variable->Max != value)
|
||||||
{
|
{
|
||||||
|
if (value <= m_variable->Min)
|
||||||
|
{
|
||||||
|
m_variable->Min = value - DefaultMinMaxRange;
|
||||||
|
RaisePropertyChanged("Min");
|
||||||
|
}
|
||||||
|
|
||||||
m_variable->Max = value;
|
m_variable->Max = value;
|
||||||
RaisePropertyChanged("Max");
|
RaisePropertyChanged("Max");
|
||||||
}
|
}
|
||||||
|
@ -402,6 +402,7 @@ void EquationInputArea::SubmitTextbox(TextBox ^ sender)
|
|||||||
else if (sender->Name == "MinTextBox")
|
else if (sender->Name == "MinTextBox")
|
||||||
{
|
{
|
||||||
val = validateDouble(sender->Text, variableViewModel->Min);
|
val = validateDouble(sender->Text, variableViewModel->Min);
|
||||||
|
|
||||||
variableViewModel->Min = val;
|
variableViewModel->Min = val;
|
||||||
TraceLogger::GetInstance()->LogVariableSettingsChanged(L"MinTextBox");
|
TraceLogger::GetInstance()->LogVariableSettingsChanged(L"MinTextBox");
|
||||||
}
|
}
|
||||||
@ -414,6 +415,13 @@ void EquationInputArea::SubmitTextbox(TextBox ^ sender)
|
|||||||
else if (sender->Name == "StepTextBox")
|
else if (sender->Name == "StepTextBox")
|
||||||
{
|
{
|
||||||
val = validateDouble(sender->Text, variableViewModel->Step);
|
val = validateDouble(sender->Text, variableViewModel->Step);
|
||||||
|
|
||||||
|
// Don't allow a value less than or equal to 0 as the step
|
||||||
|
if (val <= 0)
|
||||||
|
{
|
||||||
|
val = variableViewModel->Step;
|
||||||
|
}
|
||||||
|
|
||||||
variableViewModel->Step = val;
|
variableViewModel->Step = val;
|
||||||
TraceLogger::GetInstance()->LogVariableSettingsChanged(L"StepTextBox");
|
TraceLogger::GetInstance()->LogVariableSettingsChanged(L"StepTextBox");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user