Remove ProgModeRadixChange unload (#641)

This commit is contained in:
Pepe Rivera 2019-09-04 14:20:58 -07:00 committed by GitHub
parent ae30322ab9
commit 6b8a83a2f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 11 additions and 33 deletions

View File

@ -1218,7 +1218,6 @@ void StandardCalculatorViewModel::ResetDisplay()
AreHEXButtonsEnabled = false; AreHEXButtonsEnabled = false;
CurrentRadixType = (int)RADIX_TYPE::DEC_RADIX; CurrentRadixType = (int)RADIX_TYPE::DEC_RADIX;
m_standardCalculatorManager.SetRadix(DEC_RADIX); m_standardCalculatorManager.SetRadix(DEC_RADIX);
ProgModeRadixChange();
} }
void StandardCalculatorViewModel::SetPrecision(int32_t precision) void StandardCalculatorViewModel::SetPrecision(int32_t precision)
@ -1236,7 +1235,6 @@ void StandardCalculatorViewModel::SwitchProgrammerModeBase(RADIX_TYPE radixType)
AreHEXButtonsEnabled = (radixType == RADIX_TYPE::HEX_RADIX); AreHEXButtonsEnabled = (radixType == RADIX_TYPE::HEX_RADIX);
CurrentRadixType = (int)radixType; CurrentRadixType = (int)radixType;
m_standardCalculatorManager.SetRadix(radixType); m_standardCalculatorManager.SetRadix(radixType);
ProgModeRadixChange();
} }
void StandardCalculatorViewModel::SetMemorizedNumbersString() void StandardCalculatorViewModel::SetMemorizedNumbersString()

View File

@ -32,8 +32,6 @@ namespace CalculatorApp
#define ASCII_0 48 #define ASCII_0 48
public public
delegate void HideMemoryClickedHandler(); delegate void HideMemoryClickedHandler();
public
delegate void ProgModeRadixChangeHandler();
[Windows::UI::Xaml::Data::Bindable] public ref class StandardCalculatorViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged [Windows::UI::Xaml::Data::Bindable] public ref class StandardCalculatorViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
{ {
@ -90,7 +88,6 @@ namespace CalculatorApp
COMMAND_FOR_METHOD(MemorySubtract, StandardCalculatorViewModel::OnMemorySubtract); COMMAND_FOR_METHOD(MemorySubtract, StandardCalculatorViewModel::OnMemorySubtract);
event HideMemoryClickedHandler ^ HideMemoryClicked; event HideMemoryClickedHandler ^ HideMemoryClicked;
event ProgModeRadixChangeHandler ^ ProgModeRadixChange;
property bool IsShiftChecked property bool IsShiftChecked
{ {

View File

@ -9,8 +9,6 @@
x:Name="ControlRoot" x:Name="ControlRoot"
d:DesignHeight="395" d:DesignHeight="395"
d:DesignWidth="315" d:DesignWidth="315"
Loaded="OnLoaded"
Unloaded="OnUnloaded"
mc:Ignorable="d"> mc:Ignorable="d">
<Grid x:Name="ProgRadixOps"> <Grid x:Name="ProgRadixOps">
@ -344,7 +342,8 @@
Grid.RowSpan="4" Grid.RowSpan="4"
Grid.Column="2" Grid.Column="2"
Grid.ColumnSpan="3" Grid.ColumnSpan="3"
ButtonStyle="{StaticResource NumericButtonStyle18}"/> ButtonStyle="{StaticResource NumericButtonStyle18}"
CurrentRadixType="{x:Bind Model.CurrentRadixType, Mode=OneWay}"/>
<controls:CalculatorButton x:Name="AButton" <controls:CalculatorButton x:Name="AButton"
x:Uid="aButton" x:Uid="aButton"

View File

@ -29,16 +29,6 @@ CalculatorProgrammerRadixOperators::CalculatorProgrammerRadixOperators()
InitializeComponent(); InitializeComponent();
} }
void CalculatorProgrammerRadixOperators::OnLoaded(Object ^, RoutedEventArgs ^)
{
m_progModeRadixChangeToken = Model->ProgModeRadixChange +=
ref new ProgModeRadixChangeHandler(this, &CalculatorProgrammerRadixOperators::ProgModeRadixChange);
}
void CalculatorProgrammerRadixOperators::OnUnloaded(Object ^, RoutedEventArgs ^)
{
Model->ProgModeRadixChange -= m_progModeRadixChangeToken;
}
void CalculatorProgrammerRadixOperators::Shift_Clicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e) void CalculatorProgrammerRadixOperators::Shift_Clicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
{ {
bool isShiftChecked = static_cast<ToggleButton ^>(sender)->IsChecked->Value; bool isShiftChecked = static_cast<ToggleButton ^>(sender)->IsChecked->Value;
@ -67,11 +57,6 @@ void CalculatorProgrammerRadixOperators::Shift_Clicked(Platform::Object ^ sender
} }
} }
void CalculatorProgrammerRadixOperators::ProgModeRadixChange()
{
NumberPad->ProgModeRadixChange();
}
bool CalculatorProgrammerRadixOperators::IsErrorVisualState::get() bool CalculatorProgrammerRadixOperators::IsErrorVisualState::get()
{ {
return m_isErrorVisualState; return m_isErrorVisualState;

View File

@ -32,12 +32,8 @@ namespace CalculatorApp
private: private:
void Shift_Clicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void Shift_Clicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
void OnLoaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
void OnUnloaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
void ProgModeRadixChange();
bool m_isErrorVisualState; bool m_isErrorVisualState;
Windows::Foundation::EventRegistrationToken m_progModeRadixChangeToken;
void OpenParenthesisButton_GotFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void OpenParenthesisButton_GotFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
}; };
} }

View File

@ -30,6 +30,7 @@ using namespace CalculatorApp::Common;
// The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236 // The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236
DEPENDENCY_PROPERTY_INITIALIZATION(NumberPad, ButtonStyle); DEPENDENCY_PROPERTY_INITIALIZATION(NumberPad, ButtonStyle);
DEPENDENCY_PROPERTY_INITIALIZATION(NumberPad, CurrentRadixType);
NumberPad::NumberPad() NumberPad::NumberPad()
: m_isErrorVisualState(false) : m_isErrorVisualState(false)
@ -51,7 +52,7 @@ NumberPad::NumberPad()
this->Num9Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('9'); this->Num9Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('9');
} }
void NumberPad::ProgModeRadixChange() void NumberPad::OnCurrentRadixTypePropertyChanged(int /* oldValue */, int newValue)
{ {
Num0Button->IsEnabled = true; Num0Button->IsEnabled = true;
Num1Button->IsEnabled = true; Num1Button->IsEnabled = true;
@ -64,8 +65,7 @@ void NumberPad::ProgModeRadixChange()
Num8Button->IsEnabled = true; Num8Button->IsEnabled = true;
Num9Button->IsEnabled = true; Num9Button->IsEnabled = true;
auto vm = safe_cast<StandardCalculatorViewModel ^>(this->DataContext); auto radixType = safe_cast<RADIX_TYPE>(newValue);
RADIX_TYPE radixType = vm->GetCurrentRadixType();
if (radixType == RADIX_TYPE::BIN_RADIX) if (radixType == RADIX_TYPE::BIN_RADIX)
{ {

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. // Licensed under the MIT License.
// //
@ -10,6 +10,7 @@
#include "Views/NumberPad.g.h" #include "Views/NumberPad.g.h"
#include "CalcViewModel/Common/KeyboardShortcutManager.h" #include "CalcViewModel/Common/KeyboardShortcutManager.h"
#include "CalcManager/Header Files/RadixType.h"
namespace CalculatorApp namespace CalculatorApp
{ {
@ -20,6 +21,7 @@ namespace CalculatorApp
DEPENDENCY_PROPERTY_OWNER(NumberPad); DEPENDENCY_PROPERTY_OWNER(NumberPad);
DEPENDENCY_PROPERTY(Windows::UI::Xaml::Style ^, ButtonStyle); DEPENDENCY_PROPERTY(Windows::UI::Xaml::Style ^, ButtonStyle);
DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(int, CurrentRadixType, safe_cast<int>(::RADIX_TYPE::DEC_RADIX));
property bool IsErrorVisualState property bool IsErrorVisualState
{ {
@ -27,9 +29,10 @@ namespace CalculatorApp
void set(bool value); void set(bool value);
} }
void ProgModeRadixChange();
private: private:
void OnCurrentRadixTypePropertyChanged(int oldValue, int newValue);
bool m_isErrorVisualState; bool m_isErrorVisualState;
}; };
} }