calculator/src/Calculator/Views/CalculatorScientificOperators.xaml.h
Stephanie Anderl a418777f02
Merge master into feature/GraphingCalculator branch (#585)
* Merge master into feature/GraphingCalculator branch
2019-07-15 11:17:21 -07:00

50 lines
2.0 KiB
C++

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
//
// CalculatorScientificOperators.xaml.h
// Declaration of the CalculatorScientificOperators class
//
#pragma once
#include "Views/CalculatorScientificOperators.g.h"
#include "Views/NumberPad.xaml.h"
#include "Converters/BooleanNegationConverter.h"
#include "Converters/VisibilityNegationConverter.h"
#include "CalcViewModel/StandardCalculatorViewModel.h"
namespace CalculatorApp
{
[Windows::Foundation::Metadata::WebHostHidden] public ref class CalculatorScientificOperators sealed
{
public:
CalculatorScientificOperators();
property CalculatorApp::ViewModel::StandardCalculatorViewModel^ Model
{
CalculatorApp::ViewModel::StandardCalculatorViewModel^ get() {
return static_cast<CalculatorApp::ViewModel::StandardCalculatorViewModel^>(this->DataContext);
}
}
DEPENDENCY_PROPERTY_OWNER(CalculatorScientificOperators);
DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(bool, IsErrorVisualState, false);
DEPENDENCY_PROPERTY_WITH_DEFAULT(bool, IsWideLayout, false);
bool IsShiftEnabled(bool isWideLayout, bool isErrorState)
{
return !(isWideLayout || isErrorState);
}
void OpenParenthesisButton_GotFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
Platform::String ^ ParenthesisCountToString(unsigned int count);
private:
void ShortLayout_Completed(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ e);
void WideLayout_Completed(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ e);
void OnIsErrorVisualStatePropertyChanged(bool oldValue, bool newValue);
void shiftButton_Check(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
void shiftButton_IsEnabledChanged(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ e);
void SetOperatorRowVisibility();
};
}