Remove ProgModeRadixChange unload (#641)
This commit is contained in:
parent
ae30322ab9
commit
6b8a83a2f9
@ -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()
|
||||||
|
@ -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
|
||||||
{
|
{
|
||||||
|
@ -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"
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -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)
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user