Use only NumberBase to represent radix in CalcViewModel (#797)

This commit is contained in:
Rudy Huyn
2019-11-14 07:09:17 -08:00
committed by Matt Cooley
parent b9b0e068cd
commit 1380c7ed83
8 changed files with 46 additions and 54 deletions

View File

@@ -368,7 +368,7 @@ void Calculator::EnsureProgrammer()
}
OpsPanel->EnsureProgrammerRadixOps();
ProgrammerOperators->SetRadixButton(Model->GetCurrentRadixType());
ProgrammerOperators->SetRadixButton(Model->CurrentRadixType);
}
void Calculator::OnCalcPropertyChanged(_In_ Object ^ sender, _In_ PropertyChangedEventArgs ^ e)

View File

@@ -41,7 +41,7 @@ void CalculatorProgrammerOperators::HexButtonChecked(_In_ Object ^ sender, _In_
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::HexButton, ViewMode::Programmer);
if (Model)
{
Model->SwitchProgrammerModeBase(RADIX_TYPE::HEX_RADIX);
Model->SwitchProgrammerModeBase(NumberBase::HexBase);
}
}
@@ -50,7 +50,7 @@ void CalculatorProgrammerOperators::DecButtonChecked(_In_ Object ^ sender, _In_
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::DecButton, ViewMode::Programmer);
if (Model)
{
Model->SwitchProgrammerModeBase(RADIX_TYPE::DEC_RADIX);
Model->SwitchProgrammerModeBase(NumberBase::DecBase);
}
}
@@ -59,7 +59,7 @@ void CalculatorProgrammerOperators::OctButtonChecked(_In_ Object ^ sender, _In_
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::OctButton, ViewMode::Programmer);
if (Model)
{
Model->SwitchProgrammerModeBase(RADIX_TYPE::OCT_RADIX);
Model->SwitchProgrammerModeBase(NumberBase::OctBase);
}
}
@@ -68,30 +68,30 @@ void CalculatorProgrammerOperators::BinButtonChecked(_In_ Object ^ sender, _In_
TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::BinButton, ViewMode::Programmer);
if (Model)
{
Model->SwitchProgrammerModeBase(RADIX_TYPE::BIN_RADIX);
Model->SwitchProgrammerModeBase(NumberBase::BinBase);
}
}
void CalculatorProgrammerOperators::SetRadixButton(RADIX_TYPE radixType)
void CalculatorProgrammerOperators::SetRadixButton(NumberBase numberBase)
{
switch (radixType)
switch (numberBase)
{
case RADIX_TYPE::DEC_RADIX:
case NumberBase::DecBase:
{
DecimalButton->IsChecked = true;
break;
}
case RADIX_TYPE::HEX_RADIX:
case NumberBase::HexBase:
{
HexButton->IsChecked = true;
break;
}
case RADIX_TYPE::OCT_RADIX:
case NumberBase::OctBase:
{
OctButton->IsChecked = true;
break;
}
case RADIX_TYPE::BIN_RADIX:
case NumberBase::BinBase:
{
BinaryButton->IsChecked = true;
break;

View File

@@ -1,4 +1,4 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#pragma once
@@ -6,6 +6,7 @@
#include "Views/CalculatorProgrammerOperators.g.h"
#include "Controls/RadixButton.h"
#include "CalcViewModel/StandardCalculatorViewModel.h"
#include "CalcViewModel/Common/NumberBase.h"
namespace CalculatorApp
{
@@ -24,7 +25,7 @@ namespace CalculatorApp
DEPENDENCY_PROPERTY(_In_ Windows::UI::Xaml::Style ^, SymbolButtonStyle);
internal : void SetRadixButton(RADIX_TYPE radixType);
internal : void SetRadixButton(CalculatorApp::Common::NumberBase radixType);
private:
void DecButtonChecked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);

View File

@@ -52,7 +52,7 @@ NumberPad::NumberPad()
this->Num9Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('9');
}
void NumberPad::OnCurrentRadixTypePropertyChanged(int /* oldValue */, int newValue)
void NumberPad::OnCurrentRadixTypePropertyChanged(NumberBase /* oldValue */, NumberBase newValue)
{
Num0Button->IsEnabled = true;
Num1Button->IsEnabled = true;
@@ -65,9 +65,7 @@ void NumberPad::OnCurrentRadixTypePropertyChanged(int /* oldValue */, int newVal
Num8Button->IsEnabled = true;
Num9Button->IsEnabled = true;
auto radixType = safe_cast<RADIX_TYPE>(newValue);
if (radixType == RADIX_TYPE::BIN_RADIX)
if (newValue == NumberBase::BinBase)
{
Num2Button->IsEnabled = false;
Num3Button->IsEnabled = false;
@@ -78,7 +76,7 @@ void NumberPad::OnCurrentRadixTypePropertyChanged(int /* oldValue */, int newVal
Num8Button->IsEnabled = false;
Num9Button->IsEnabled = false;
}
else if (radixType == RADIX_TYPE::OCT_RADIX)
else if (newValue == NumberBase::OctBase)
{
Num8Button->IsEnabled = false;
Num9Button->IsEnabled = false;

View File

@@ -10,6 +10,7 @@
#include "Views/NumberPad.g.h"
#include "CalcViewModel/Common/KeyboardShortcutManager.h"
#include "CalcViewModel/Common/NumberBase.h"
#include "CalcManager/Header Files/RadixType.h"
namespace CalculatorApp
@@ -21,7 +22,7 @@ namespace CalculatorApp
DEPENDENCY_PROPERTY_OWNER(NumberPad);
DEPENDENCY_PROPERTY(Windows::UI::Xaml::Style ^, ButtonStyle);
DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(int, CurrentRadixType, safe_cast<int>(::RADIX_TYPE::DEC_RADIX));
DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(CalculatorApp::Common::NumberBase, CurrentRadixType, CalculatorApp::Common::NumberBase::DecBase);
property bool IsErrorVisualState
{
@@ -30,7 +31,7 @@ namespace CalculatorApp
}
private:
void OnCurrentRadixTypePropertyChanged(int oldValue, int newValue);
void OnCurrentRadixTypePropertyChanged(CalculatorApp::Common::NumberBase oldValue, CalculatorApp::Common::NumberBase newValue);
bool m_isErrorVisualState;