calculator/src/Calculator/Views/UnitConverter.xaml.h
2020-04-01 11:18:04 -07:00

94 lines
3.9 KiB
C++

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
// UnitConverter.xaml.h
// Declaration of the UnitConverter class
#pragma once
#include "Views/UnitConverter.g.h"
#include "Common/AlwaysSelectedCollectionView.h"
#include "Common/ValidatingConverters.h"
#include "Converters/BooleanToVisibilityConverter.h"
#include "Converters/VisibilityNegationConverter.h"
#include "CalcViewModel/UnitConverterViewModel.h"
#include "Views/StateTriggers/AspectRatioTrigger.h"
namespace CalculatorApp
{
[Windows::Foundation::Metadata::WebHostHidden] public ref class UnitConverter sealed
{
public:
UnitConverter();
DEPENDENCY_PROPERTY_OWNER(UnitConverter);
PROPERTY_R(Windows::UI::Xaml::HorizontalAlignment, FlowDirectionHorizontalAlignment);
void AnimateConverter();
property CalculatorApp::ViewModel::UnitConverterViewModel^ Model
{
CalculatorApp::ViewModel::UnitConverterViewModel^ get() {
return static_cast<CalculatorApp::ViewModel::UnitConverterViewModel^>(this->DataContext);
}
}
property Windows::UI::Xaml::FlowDirection LayoutDirection
{
Windows::UI::Xaml::FlowDirection get()
{
return m_layoutDirection;
}
}
void SetDefaultFocus();
private:
void OnValueKeyDown(Platform::Object ^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs ^ e);
void OnContextRequested(Windows::UI::Xaml::UIElement ^ sender, Windows::UI::Xaml::Input::ContextRequestedEventArgs ^ e);
void OnContextCanceled(Windows::UI::Xaml::UIElement ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e);
void OnCopyMenuItemClicked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
void OnPasteMenuItemClicked(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
void OnValueSelected(_In_ Platform::Object ^ sender);
void UpdateDropDownState(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ e);
void OnLoaded(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
void CurrencyRefreshButton_Click(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::RoutedEventArgs ^ e);
void OnPropertyChanged(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::Data::PropertyChangedEventArgs ^ e);
void OnDataContextChanged(_In_ Windows::UI::Xaml::FrameworkElement ^ sender, _In_ Windows::UI::Xaml::DataContextChangedEventArgs ^ args);
void OnIsDisplayVisibleChanged();
void Units1_IsEnabledChanged(Platform::Object ^ sender, Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ e);
void OnNetworkBehaviorChanged();
void OnNormalNetworkAccess();
void OnOptInNetworkAccess();
void OnOfflineNetworkAccess();
void InitializeOfflineStatusTextBlock();
void SetNormalCurrencyStatus();
void SetChargesMayApplyStatus();
void SetFailedToRefreshStatus();
void SetCurrencyTimestampFontWeight();
void StartProgressRingWithDelay();
void OnDelayTimerTick(Platform::Object ^ sender, Platform::Object ^ e);
void HideProgressRing();
private:
Windows::UI::Xaml::FlowDirection m_layoutDirection;
Windows::Foundation::EventRegistrationToken m_propertyChangedToken;
Windows::UI::Xaml::Controls::MenuFlyout ^ m_resultsFlyout;
Platform::String ^ m_chargesMayApplyText;
Platform::String ^ m_failedToRefreshText;
bool m_meteredConnectionOverride;
Windows::UI::Xaml::DispatcherTimer ^ m_delayTimer;
void SupplementaryResultsPanelInGrid_SizeChanged(Platform::Object ^ sender, Windows::UI::Xaml::SizeChangedEventArgs ^ e);
void OnVisualStateChanged(Platform::Object ^ sender, Windows::UI::Xaml::VisualStateChangedEventArgs ^ e);
};
}