- Removed unneeded diagnostic events and code - Added and consolidated events into the events defined in the spec
92 lines
3.1 KiB
C++
92 lines
3.1 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#include "pch.h"
|
|
#include "CalculatorProgrammerDisplayPanel.xaml.h"
|
|
#include "CalcViewModel/Common/TraceLogger.h"
|
|
|
|
using namespace CalculatorApp;
|
|
using namespace CalculatorApp::Common;
|
|
using namespace CalculatorApp::ViewModel;
|
|
using namespace Platform;
|
|
using namespace Windows::Foundation;
|
|
using namespace Windows::Foundation::Collections;
|
|
using namespace Windows::UI::Xaml;
|
|
using namespace Windows::UI::Xaml::Controls;
|
|
using namespace Windows::UI::Xaml::Controls::Primitives;
|
|
using namespace Windows::UI::Xaml::Data;
|
|
using namespace Windows::UI::Xaml::Input;
|
|
using namespace Windows::UI::Xaml::Media;
|
|
using namespace Windows::UI::Xaml::Navigation;
|
|
using namespace Windows::UI::ViewManagement;
|
|
using namespace Windows::UI::Core;
|
|
|
|
CalculatorProgrammerDisplayPanel::CalculatorProgrammerDisplayPanel()
|
|
: m_isErrorVisualState(false)
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
void CalculatorProgrammerDisplayPanel::OnBitLengthButtonPressed(Object ^ parameter)
|
|
{
|
|
String ^ buttonId = parameter->ToString();
|
|
|
|
QwordButton->Visibility = ::Visibility::Collapsed;
|
|
DwordButton->Visibility = ::Visibility::Collapsed;
|
|
WordButton->Visibility = ::Visibility::Collapsed;
|
|
ByteButton->Visibility = ::Visibility::Collapsed;
|
|
if (buttonId == "0")
|
|
{
|
|
Model->ButtonPressed->Execute(NumbersAndOperatorsEnum::Dword);
|
|
DwordButton->Visibility = ::Visibility::Visible;
|
|
DwordButton->Focus(::FocusState::Programmatic);
|
|
Model->IsQwordEnabled = false;
|
|
Model->IsDwordEnabled = true;
|
|
Model->IsWordEnabled = true;
|
|
}
|
|
else if (buttonId == "1")
|
|
{
|
|
Model->ButtonPressed->Execute(NumbersAndOperatorsEnum::Word);
|
|
WordButton->Visibility = ::Visibility::Visible;
|
|
WordButton->Focus(::FocusState::Programmatic);
|
|
Model->IsQwordEnabled = false;
|
|
Model->IsDwordEnabled = false;
|
|
Model->IsWordEnabled = true;
|
|
}
|
|
else if (buttonId == "2")
|
|
{
|
|
Model->ButtonPressed->Execute(NumbersAndOperatorsEnum::Byte);
|
|
ByteButton->Visibility = ::Visibility::Visible;
|
|
ByteButton->Focus(::FocusState::Programmatic);
|
|
Model->IsQwordEnabled = false;
|
|
Model->IsDwordEnabled = false;
|
|
Model->IsWordEnabled = false;
|
|
}
|
|
else if (buttonId == "3")
|
|
{
|
|
Model->ButtonPressed->Execute(NumbersAndOperatorsEnum::Qword);
|
|
QwordButton->Visibility = ::Visibility::Visible;
|
|
QwordButton->Focus(::FocusState::Programmatic);
|
|
Model->IsQwordEnabled = true;
|
|
Model->IsDwordEnabled = true;
|
|
Model->IsWordEnabled = true;
|
|
}
|
|
// update memory list according to bit length
|
|
Model->SetMemorizedNumbersString();
|
|
}
|
|
|
|
bool CalculatorProgrammerDisplayPanel::IsErrorVisualState::get()
|
|
{
|
|
return m_isErrorVisualState;
|
|
}
|
|
|
|
void CalculatorProgrammerDisplayPanel::IsErrorVisualState::set(bool value)
|
|
{
|
|
if (m_isErrorVisualState != value)
|
|
{
|
|
m_isErrorVisualState = value;
|
|
String ^ newState = m_isErrorVisualState ? L"ErrorLayout" : L"NoErrorLayout";
|
|
VisualStateManager::GoToState(this, newState, false);
|
|
}
|
|
}
|