mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-21 13:53:11 -07:00
Rollback checkDefaultBitShift and Use Enum instead of String
This commit is contained in:
parent
d1d5a6aef3
commit
a6cf39fa10
3 changed files with 28 additions and 8 deletions
|
@ -38,7 +38,6 @@ void CalculatorProgrammerRadixOperators::LoadResourceStrings()
|
||||||
m_logicalShiftButtonContent = resProvider->GetResourceString(L"logicalShiftButtonSelected");
|
m_logicalShiftButtonContent = resProvider->GetResourceString(L"logicalShiftButtonSelected");
|
||||||
m_rotateCircularButtonContent = resProvider->GetResourceString(L"rotateCircularButtonSelected");
|
m_rotateCircularButtonContent = resProvider->GetResourceString(L"rotateCircularButtonSelected");
|
||||||
m_rotateCarryShiftButtonContent = resProvider->GetResourceString(L"rotateCarryShiftButtonSelected");
|
m_rotateCarryShiftButtonContent = resProvider->GetResourceString(L"rotateCarryShiftButtonSelected");
|
||||||
m_selectedShiftButtonContent = m_arithmeticShiftButtonContent;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CalculatorProgrammerRadixOperators::FlyoutButton_Clicked(_In_ Platform::Object ^ /*sender*/, _In_ Windows::UI::Xaml::RoutedEventArgs ^ /*e*/)
|
void CalculatorProgrammerRadixOperators::FlyoutButton_Clicked(_In_ Platform::Object ^ /*sender*/, _In_ Windows::UI::Xaml::RoutedEventArgs ^ /*e*/)
|
||||||
|
@ -46,6 +45,11 @@ void CalculatorProgrammerRadixOperators::FlyoutButton_Clicked(_In_ Platform::Obj
|
||||||
this->BitwiseFlyout->Hide();
|
this->BitwiseFlyout->Hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CalculatorProgrammerRadixOperators::checkDefaultBitShift()
|
||||||
|
{
|
||||||
|
m_selectedShiftButtonMode = BitShiftMode::Arithmetic;
|
||||||
|
}
|
||||||
|
|
||||||
void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e)
|
||||||
{
|
{
|
||||||
// Load deferred load buttons
|
// Load deferred load buttons
|
||||||
|
@ -71,6 +75,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
||||||
|
|
||||||
auto radioButton = static_cast<RadioButton ^>(sender);
|
auto radioButton = static_cast<RadioButton ^>(sender);
|
||||||
Platform::String ^ announcementString = L"";
|
Platform::String ^ announcementString = L"";
|
||||||
|
BitShiftMode selectedButtonMode = m_selectedShiftButtonMode;
|
||||||
|
|
||||||
if (radioButton == ArithmeticShiftButton)
|
if (radioButton == ArithmeticShiftButton)
|
||||||
{
|
{
|
||||||
|
@ -79,6 +84,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
||||||
LshButton->IsEnabled = true;
|
LshButton->IsEnabled = true;
|
||||||
RshButton->IsEnabled = true;
|
RshButton->IsEnabled = true;
|
||||||
announcementString = m_arithmeticShiftButtonContent;
|
announcementString = m_arithmeticShiftButtonContent;
|
||||||
|
selectedButtonMode = BitShiftMode::Arithmetic;
|
||||||
}
|
}
|
||||||
else if (radioButton == LogicalShiftButton)
|
else if (radioButton == LogicalShiftButton)
|
||||||
{
|
{
|
||||||
|
@ -87,6 +93,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
||||||
LshLogicalButton->IsEnabled = true;
|
LshLogicalButton->IsEnabled = true;
|
||||||
RshLogicalButton->IsEnabled = true;
|
RshLogicalButton->IsEnabled = true;
|
||||||
announcementString = m_logicalShiftButtonContent;
|
announcementString = m_logicalShiftButtonContent;
|
||||||
|
selectedButtonMode = BitShiftMode::LogicalShift;
|
||||||
}
|
}
|
||||||
else if (radioButton == RotateCircularButton)
|
else if (radioButton == RotateCircularButton)
|
||||||
{
|
{
|
||||||
|
@ -95,6 +102,7 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
||||||
RolButton->IsEnabled = true;
|
RolButton->IsEnabled = true;
|
||||||
RorButton->IsEnabled = true;
|
RorButton->IsEnabled = true;
|
||||||
announcementString = m_rotateCircularButtonContent;
|
announcementString = m_rotateCircularButtonContent;
|
||||||
|
selectedButtonMode = BitShiftMode::RotateCircular;
|
||||||
}
|
}
|
||||||
else if (radioButton == RotateCarryShiftButton)
|
else if (radioButton == RotateCarryShiftButton)
|
||||||
{
|
{
|
||||||
|
@ -103,12 +111,13 @@ void CalculatorProgrammerRadixOperators::BitshiftFlyout_Checked(Platform::Object
|
||||||
RolCarryButton->IsEnabled = true;
|
RolCarryButton->IsEnabled = true;
|
||||||
RorCarryButton->IsEnabled = true;
|
RorCarryButton->IsEnabled = true;
|
||||||
announcementString = m_rotateCarryShiftButtonContent;
|
announcementString = m_rotateCarryShiftButtonContent;
|
||||||
|
selectedButtonMode = BitShiftMode::RotateCarry;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (announcementString != m_selectedShiftButtonContent)
|
if (selectedButtonMode != m_selectedShiftButtonMode)
|
||||||
{
|
{
|
||||||
this->BitShiftFlyout->Hide();
|
this->BitShiftFlyout->Hide();
|
||||||
m_selectedShiftButtonContent = announcementString;
|
m_selectedShiftButtonMode = selectedButtonMode;
|
||||||
}
|
}
|
||||||
|
|
||||||
Model->SetBitshiftRadioButtonCheckedAnnouncement(announcementString);
|
Model->SetBitshiftRadioButtonCheckedAnnouncement(announcementString);
|
||||||
|
@ -180,19 +189,19 @@ void CalculatorProgrammerRadixOperators::ClearButton_LostFocus(Object ^ sender,
|
||||||
|
|
||||||
void CalculatorApp::CalculatorProgrammerRadixOperators::BitShiftFlyout_Opened(Platform::Object ^ sender, Platform::Object ^ e)
|
void CalculatorApp::CalculatorProgrammerRadixOperators::BitShiftFlyout_Opened(Platform::Object ^ sender, Platform::Object ^ e)
|
||||||
{
|
{
|
||||||
if (m_selectedShiftButtonContent == m_arithmeticShiftButtonContent)
|
if (m_selectedShiftButtonMode == BitShiftMode::Arithmetic)
|
||||||
{
|
{
|
||||||
ArithmeticShiftButton->IsChecked = true;
|
ArithmeticShiftButton->IsChecked = true;
|
||||||
}
|
}
|
||||||
else if (m_selectedShiftButtonContent == m_logicalShiftButtonContent)
|
else if (m_selectedShiftButtonMode == BitShiftMode::LogicalShift)
|
||||||
{
|
{
|
||||||
LogicalShiftButton->IsChecked = true;
|
LogicalShiftButton->IsChecked = true;
|
||||||
}
|
}
|
||||||
else if (m_selectedShiftButtonContent == m_rotateCircularButtonContent)
|
else if (m_selectedShiftButtonMode == BitShiftMode::RotateCircular)
|
||||||
{
|
{
|
||||||
RotateCircularButton->IsChecked = true;
|
RotateCircularButton->IsChecked = true;
|
||||||
}
|
}
|
||||||
else if (m_selectedShiftButtonContent == m_rotateCarryShiftButtonContent)
|
else if (m_selectedShiftButtonMode == BitShiftMode::RotateCarry)
|
||||||
{
|
{
|
||||||
RotateCarryShiftButton->IsChecked = true;
|
RotateCarryShiftButton->IsChecked = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,8 +29,17 @@ namespace CalculatorApp
|
||||||
Platform::String ^ ParenthesisCountToString(unsigned int count);
|
Platform::String ^ ParenthesisCountToString(unsigned int count);
|
||||||
|
|
||||||
DEPENDENCY_PROPERTY_OWNER(CalculatorProgrammerRadixOperators);
|
DEPENDENCY_PROPERTY_OWNER(CalculatorProgrammerRadixOperators);
|
||||||
|
void checkDefaultBitShift();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
enum class BitShiftMode
|
||||||
|
{
|
||||||
|
Arithmetic,
|
||||||
|
LogicalShift,
|
||||||
|
RotateCircular,
|
||||||
|
RotateCarry
|
||||||
|
};
|
||||||
|
|
||||||
void BitshiftFlyout_Checked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
void BitshiftFlyout_Checked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||||
void FlyoutButton_Clicked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
|
void FlyoutButton_Clicked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||||
void CollapseBitshiftButtons();
|
void CollapseBitshiftButtons();
|
||||||
|
@ -41,7 +50,7 @@ namespace CalculatorApp
|
||||||
void ClearEntryButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
void ClearEntryButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||||
void ClearButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
void ClearButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
|
||||||
void BitShiftFlyout_Opened(Platform::Object ^ sender, Platform::Object ^ e);
|
void BitShiftFlyout_Opened(Platform::Object ^ sender, Platform::Object ^ e);
|
||||||
Platform::String ^ m_selectedShiftButtonContent;
|
BitShiftMode m_selectedShiftButtonMode;
|
||||||
Platform::String ^ m_arithmeticShiftButtonContent;
|
Platform::String ^ m_arithmeticShiftButtonContent;
|
||||||
Platform::String ^ m_logicalShiftButtonContent;
|
Platform::String ^ m_logicalShiftButtonContent;
|
||||||
Platform::String ^ m_rotateCircularButtonContent;
|
Platform::String ^ m_rotateCircularButtonContent;
|
||||||
|
|
|
@ -71,6 +71,8 @@ void OperatorsPanel::EnsureProgrammerRadixOps()
|
||||||
{
|
{
|
||||||
this->FindName(L"ProgrammerRadixOperators");
|
this->FindName(L"ProgrammerRadixOperators");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ProgrammerRadixOperators->checkDefaultBitShift();
|
||||||
}
|
}
|
||||||
|
|
||||||
void OperatorsPanel::EnsureProgrammerBitFlipPanel()
|
void OperatorsPanel::EnsureProgrammerBitFlipPanel()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue