Use only NumberBase to represent radix in CalcViewModel (#797)
This commit is contained in:
@@ -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)
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user