diff --git a/build/pipelines/templates/run-unit-tests.yaml b/build/pipelines/templates/run-unit-tests.yaml index 6411e243..3d99969e 100644 --- a/build/pipelines/templates/run-unit-tests.yaml +++ b/build/pipelines/templates/run-unit-tests.yaml @@ -21,13 +21,15 @@ jobs: - checkout: none - task: DownloadBuildArtifacts@0 - displayName: Download CalculatorUnitTests + displayName: Download test files inputs: artifactName: drop - itemPattern: drop/Release/${{ parameters.platform }}/CalculatorUnitTests/AppPackages/CalculatorUnitTests_Test/** + itemPattern: | + drop/Release/${{ parameters.platform }}/CalculatorUnitTests/AppPackages/CalculatorUnitTests_Test/** + drop/Release/${{ parameters.platform }}/CalculatorApp.ViewModel.Tests/AppPackages/CalculatorApp.ViewModel.Tests_Test/** - task: PowerShell@2 - displayName: Install Certificate + displayName: Install certificate inputs: filePath: $(Build.ArtifactStagingDirectory)\drop\Release\${{ parameters.platform }}\CalculatorUnitTests\AppPackages\CalculatorUnitTests_Test\Add-AppDevPackage.ps1 arguments: -CertificatePath $(Build.ArtifactStagingDirectory)\drop\Release\${{ parameters.platform }}\CalculatorUnitTests\AppPackages\CalculatorUnitTests_Test\CalculatorUnitTests.cer -Force @@ -36,4 +38,10 @@ jobs: displayName: Run CalculatorUnitTests inputs: testAssemblyVer2: $(Build.ArtifactStagingDirectory)\drop\Release\${{ parameters.platform }}\CalculatorUnitTests\AppPackages\CalculatorUnitTests_Test\CalculatorUnitTests.msix + otherConsoleOptions: /Platform:${{ parameters.platform }} + + - task: VSTest@2 + displayName: Run CalculatorApp.ViewModel.Tests + inputs: + testAssemblyVer2: $(Build.ArtifactStagingDirectory)\drop\Release\${{ parameters.platform }}\CalculatorApp.ViewModel.Tests\AppPackages\CalculatorApp.ViewModel.Tests_Test\CalculatorApp.ViewModel.Tests.msix otherConsoleOptions: /Platform:${{ parameters.platform }} \ No newline at end of file diff --git a/src/CalcViewModel/ApplicationViewModel.cpp b/src/CalcViewModel/ApplicationViewModel.cpp index a5de2285..929ab034 100644 --- a/src/CalcViewModel/ApplicationViewModel.cpp +++ b/src/CalcViewModel/ApplicationViewModel.cpp @@ -12,9 +12,9 @@ #include "DataLoaders/UnitConverterDataLoader.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::DataLoaders; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::DataLoaders; +using namespace CalculatorApp::ViewModelNative; using namespace CalculationManager; using namespace Platform; using namespace Platform::Collections; diff --git a/src/CalcViewModel/ApplicationViewModel.h b/src/CalcViewModel/ApplicationViewModel.h index ab26c35f..f3fd4afb 100644 --- a/src/CalcViewModel/ApplicationViewModel.h +++ b/src/CalcViewModel/ApplicationViewModel.h @@ -10,21 +10,21 @@ namespace CalculatorApp { - namespace ViewModel + namespace ViewModelNative { [Windows::UI::Xaml::Data::Bindable] public ref class ApplicationViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { public: ApplicationViewModel(); - void Initialize(CalculatorApp::ViewModel::Common::ViewMode mode); // Use for first init, use deserialize for rehydration + void Initialize(CalculatorApp::ViewModelNative::Common::ViewMode mode); // Use for first init, use deserialize for rehydration OBSERVABLE_OBJECT(); OBSERVABLE_PROPERTY_RW(StandardCalculatorViewModel ^, CalculatorViewModel); OBSERVABLE_PROPERTY_RW(DateCalculatorViewModel ^, DateCalcViewModel); OBSERVABLE_PROPERTY_RW(GraphingCalculatorViewModel ^, GraphingCalcViewModel); OBSERVABLE_PROPERTY_RW(UnitConverterViewModel ^, ConverterViewModel); - OBSERVABLE_PROPERTY_RW(CalculatorApp::ViewModel::Common::ViewMode, PreviousMode); + OBSERVABLE_PROPERTY_RW(CalculatorApp::ViewModelNative::Common::ViewMode, PreviousMode); OBSERVABLE_PROPERTY_R(bool, IsAlwaysOnTop); OBSERVABLE_NAMED_PROPERTY_RW(Platform::String ^, CategoryName); @@ -34,14 +34,14 @@ namespace CalculatorApp COMMAND_FOR_METHOD(CopyCommand, ApplicationViewModel::OnCopyCommand); COMMAND_FOR_METHOD(PasteCommand, ApplicationViewModel::OnPasteCommand); - property CalculatorApp::ViewModel::Common::ViewMode Mode + property CalculatorApp::ViewModelNative::Common::ViewMode Mode { - CalculatorApp::ViewModel::Common::ViewMode get() + CalculatorApp::ViewModelNative::Common::ViewMode get() { return m_mode; } - void set(CalculatorApp::ViewModel::Common::ViewMode value); + void set(CalculatorApp::ViewModelNative::Common::ViewMode value); } static property Platform::String^ ModePropertyName { @@ -51,21 +51,21 @@ namespace CalculatorApp } } - property Windows::Foundation::Collections::IObservableVector^ Categories + property Windows::Foundation::Collections::IObservableVector^ Categories { - Windows::Foundation::Collections::IObservableVector^ get() + Windows::Foundation::Collections::IObservableVector^ get() { return m_categories; } - void set(Windows::Foundation::Collections::IObservableVector^ value); + void set(Windows::Foundation::Collections::IObservableVector^ value); } property Windows::UI::Xaml::Visibility ClearMemoryVisibility { Windows::UI::Xaml::Visibility get() { - return CalculatorApp::ViewModel::Common::NavCategory::IsCalculatorViewMode(Mode) ? Windows::UI::Xaml::Visibility::Visible + return CalculatorApp::ViewModelNative::Common::NavCategory::IsCalculatorViewMode(Mode) ? Windows::UI::Xaml::Visibility::Visible : Windows::UI::Xaml::Visibility::Collapsed; } } @@ -106,8 +106,8 @@ namespace CalculatorApp void SetMenuCategories(); - CalculatorApp::ViewModel::Common::ViewMode m_mode; - Windows::Foundation::Collections::IObservableVector ^ m_categories; + CalculatorApp::ViewModelNative::Common::ViewMode m_mode; + Windows::Foundation::Collections::IObservableVector ^ m_categories; Concurrency::task HandleToggleAlwaysOnTop(float width, float height); void SetDisplayNormalAlwaysOnTopOption(); }; diff --git a/src/CalcViewModel/CalcViewModel.vcxproj b/src/CalcViewModel/CalcViewModel.vcxproj index 1e5eb908..f94732b7 100644 --- a/src/CalcViewModel/CalcViewModel.vcxproj +++ b/src/CalcViewModel/CalcViewModel.vcxproj @@ -37,7 +37,7 @@ {812d1a7b-b8ac-49e4-8e6d-af5d59500d56} WindowsRuntimeComponent - CalculatorApp.ViewModel + CalculatorApp.ViewModelNative en-US 14.0 true diff --git a/src/CalcViewModel/Common/AppResourceProvider.cpp b/src/CalcViewModel/Common/AppResourceProvider.cpp index bc23e78b..d2d8a0d0 100644 --- a/src/CalcViewModel/Common/AppResourceProvider.cpp +++ b/src/CalcViewModel/Common/AppResourceProvider.cpp @@ -7,7 +7,7 @@ using namespace Platform; using namespace Windows::ApplicationModel::Resources; using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; AppResourceProvider::AppResourceProvider() { diff --git a/src/CalcViewModel/Common/AppResourceProvider.h b/src/CalcViewModel/Common/AppResourceProvider.h index 7af2e7fd..6c26726a 100644 --- a/src/CalcViewModel/Common/AppResourceProvider.h +++ b/src/CalcViewModel/Common/AppResourceProvider.h @@ -3,7 +3,7 @@ #pragma once -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { public ref class AppResourceProvider sealed { diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp index 35a8a692..a50384db 100644 --- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp +++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp @@ -4,11 +4,11 @@ #include "pch.h" #include "NarratorAnnouncement.h" -using namespace CalculatorApp::ViewModel::Common::Automation; +using namespace CalculatorApp::ViewModelNative::Common::Automation; using namespace Platform; using namespace Windows::UI::Xaml::Automation::Peers; -namespace CalculatorApp::ViewModel::Common::Automation +namespace CalculatorApp::ViewModelNative::Common::Automation { namespace CalculatorActivityIds { diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h index 26196b9e..7b57943a 100644 --- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h +++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h @@ -3,7 +3,7 @@ #pragma once -namespace CalculatorApp::ViewModel::Common::Automation +namespace CalculatorApp::ViewModelNative::Common::Automation { public ref class NarratorAnnouncement sealed diff --git a/src/CalcViewModel/Common/Automation/NarratorNotifier.cpp b/src/CalcViewModel/Common/Automation/NarratorNotifier.cpp index 4ac4600e..9c60722f 100644 --- a/src/CalcViewModel/Common/Automation/NarratorNotifier.cpp +++ b/src/CalcViewModel/Common/Automation/NarratorNotifier.cpp @@ -6,7 +6,7 @@ #include "pch.h" #include "NarratorNotifier.h" -using namespace CalculatorApp::ViewModel::Common::Automation; +using namespace CalculatorApp::ViewModelNative::Common::Automation; using namespace Platform; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Automation; diff --git a/src/CalcViewModel/Common/Automation/NarratorNotifier.h b/src/CalcViewModel/Common/Automation/NarratorNotifier.h index f3d82eaa..7359b85f 100644 --- a/src/CalcViewModel/Common/Automation/NarratorNotifier.h +++ b/src/CalcViewModel/Common/Automation/NarratorNotifier.h @@ -6,7 +6,7 @@ #pragma once #include "NarratorAnnouncement.h" -namespace CalculatorApp::ViewModel::Common::Automation +namespace CalculatorApp::ViewModelNative::Common::Automation { public ref class NarratorNotifier sealed : public Windows::UI::Xaml::DependencyObject diff --git a/src/CalcViewModel/Common/BitLength.h b/src/CalcViewModel/Common/BitLength.h index 065bd25e..cc6aa2e8 100644 --- a/src/CalcViewModel/Common/BitLength.h +++ b/src/CalcViewModel/Common/BitLength.h @@ -1,6 +1,6 @@ #pragma once -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/CalculatorButtonPressedEventArgs.cpp b/src/CalcViewModel/Common/CalculatorButtonPressedEventArgs.cpp index 899af3ec..8bbce581 100644 --- a/src/CalcViewModel/Common/CalculatorButtonPressedEventArgs.cpp +++ b/src/CalcViewModel/Common/CalculatorButtonPressedEventArgs.cpp @@ -1,12 +1,12 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #include "pch.h" #include "CalculatorButtonPressedEventArgs.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Platform; NumbersAndOperatorsEnum CalculatorButtonPressedEventArgs::GetOperationFromCommandParameter(_In_ Object ^ commandParameter) diff --git a/src/CalcViewModel/Common/CalculatorButtonPressedEventArgs.h b/src/CalcViewModel/Common/CalculatorButtonPressedEventArgs.h index 58192d41..e5cf1496 100644 --- a/src/CalcViewModel/Common/CalculatorButtonPressedEventArgs.h +++ b/src/CalcViewModel/Common/CalculatorButtonPressedEventArgs.h @@ -6,7 +6,7 @@ #include "CalculatorButtonUser.h" #include "Utils.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { @@ -15,15 +15,15 @@ namespace CalculatorApp::ViewModel { public: PROPERTY_R(Platform::String ^, AuditoryFeedback); - PROPERTY_R(CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum, Operation); + PROPERTY_R(CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum, Operation); - CalculatorButtonPressedEventArgs(Platform::String ^ feedback, CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum operation) + CalculatorButtonPressedEventArgs(Platform::String ^ feedback, CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum operation) : m_AuditoryFeedback(feedback) , m_Operation(operation) { } - static CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum GetOperationFromCommandParameter(_In_ Platform::Object ^ commandParameter); + static CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum GetOperationFromCommandParameter(_In_ Platform::Object ^ commandParameter); static Platform::String ^ GetAuditoryFeedbackFromCommandParameter(_In_ Platform::Object ^ commandParameter); }; } diff --git a/src/CalcViewModel/Common/CalculatorButtonUser.h b/src/CalcViewModel/Common/CalculatorButtonUser.h index 4885e488..30bed371 100644 --- a/src/CalcViewModel/Common/CalculatorButtonUser.h +++ b/src/CalcViewModel/Common/CalculatorButtonUser.h @@ -5,7 +5,7 @@ #include "CalcManager/Command.h" -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { namespace CM = CalculationManager; diff --git a/src/CalcViewModel/Common/CalculatorDisplay.cpp b/src/CalcViewModel/Common/CalculatorDisplay.cpp index afd42a0c..c6c1793d 100644 --- a/src/CalcViewModel/Common/CalculatorDisplay.cpp +++ b/src/CalcViewModel/Common/CalculatorDisplay.cpp @@ -8,13 +8,13 @@ #include "StandardCalculatorViewModel.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative; +using namespace CalculatorApp::ViewModelNative::Common; using namespace CalculationManager; using namespace Platform; using namespace std; -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { CalculatorDisplay::CalculatorDisplay() { @@ -34,7 +34,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->SetPrimaryDisplay(StringReference(displayStringValue.c_str()), isError); } @@ -45,7 +45,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->SetParenthesisCount(parenthesisCount); } @@ -56,7 +56,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->OnNoRightParenAdded(); } @@ -67,7 +67,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->IsInError = isError; } @@ -80,7 +80,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->SetExpressionDisplay(tokens, commands); } @@ -91,7 +91,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->SetMemorizedNumbers(newMemorizedNumbers); } @@ -102,7 +102,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_historyCallbackReference != nullptr) { - if (auto historyVM = m_historyCallbackReference.Resolve()) + if (auto historyVM = m_historyCallbackReference.Resolve()) { historyVM->OnHistoryItemAdded(addedItemIndex); } @@ -113,7 +113,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->OnMaxDigitsReached(); } @@ -124,7 +124,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->OnBinaryOperatorReceived(); } @@ -135,7 +135,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->OnMemoryItemChanged(indexOfMemory); } @@ -146,7 +146,7 @@ namespace CalculatorApp::ViewModel::Common { if (m_callbackReference != nullptr) { - if (auto calcVM = m_callbackReference.Resolve()) + if (auto calcVM = m_callbackReference.Resolve()) { calcVM->OnInputChanged(); } diff --git a/src/CalcViewModel/Common/CalculatorDisplay.h b/src/CalcViewModel/Common/CalculatorDisplay.h index f6c45ae0..ce8928e1 100644 --- a/src/CalcViewModel/Common/CalculatorDisplay.h +++ b/src/CalcViewModel/Common/CalculatorDisplay.h @@ -5,7 +5,7 @@ #include "CalcManager/Header Files/ICalcDisplay.h" -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { // Callback interface to be implemented by the CalculatorManager class CalculatorDisplay : public ICalcDisplay diff --git a/src/CalcViewModel/Common/CopyPasteManager.cpp b/src/CalcViewModel/Common/CopyPasteManager.cpp index 1e09072a..ee40d8ed 100644 --- a/src/CalcViewModel/Common/CopyPasteManager.cpp +++ b/src/CalcViewModel/Common/CopyPasteManager.cpp @@ -9,8 +9,8 @@ using namespace std; using namespace concurrency; using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative; using namespace Platform; using namespace Platform::Collections; using namespace Windows::Foundation; @@ -615,7 +615,7 @@ ULONG32 CopyPasteManager::ProgrammerOperandLength(Platform::String ^ operand, Nu Platform::String ^ CopyPasteManager::RemoveUnwantedCharsFromString(Platform::String ^ input) { constexpr wchar_t unWantedChars[] = { L' ', L',', L'"', 165, 164, 8373, 36, 8353, 8361, 8362, 8358, 8377, 163, 8364, 8234, 8235, 8236, 8237, 160 }; - input = CalculatorApp::ViewModel::Common::LocalizationSettings::GetInstance()->RemoveGroupSeparators(input); + input = CalculatorApp::ViewModelNative::Common::LocalizationSettings::GetInstance()->RemoveGroupSeparators(input); return ref new String(Utils::RemoveUnwantedCharsFromString(input->Data(), unWantedChars).c_str()); } diff --git a/src/CalcViewModel/Common/CopyPasteManager.h b/src/CalcViewModel/Common/CopyPasteManager.h index 1153d81b..59f9fbab 100644 --- a/src/CalcViewModel/Common/CopyPasteManager.h +++ b/src/CalcViewModel/Common/CopyPasteManager.h @@ -13,7 +13,7 @@ namespace CalculatorUnitTests class CopyPasteManagerTest; } -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { public value struct CopyPasteMaxOperandLengthAndValue { @@ -26,10 +26,10 @@ namespace CalculatorApp::ViewModel::Common public: static void CopyToClipboard(Platform::String ^ stringToCopy); static Windows::Foundation::IAsyncOperation ^ GetStringToPaste( - CalculatorApp::ViewModel::Common::ViewMode mode, - CalculatorApp::ViewModel::Common::CategoryGroupType modeType, - CalculatorApp::ViewModel::Common::NumberBase programmerNumberBase, - CalculatorApp::ViewModel::Common::BitLength bitLengthType); + CalculatorApp::ViewModelNative::Common::ViewMode mode, + CalculatorApp::ViewModelNative::Common::CategoryGroupType modeType, + CalculatorApp::ViewModelNative::Common::NumberBase programmerNumberBase, + CalculatorApp::ViewModelNative::Common::BitLength bitLengthType); static bool HasStringToPaste(); static bool IsErrorMessage(Platform::String ^ message); static property unsigned int MaxPasteableLength @@ -88,39 +88,39 @@ namespace CalculatorApp::ViewModel::Common static Platform::String ^ ValidatePasteExpression( Platform::String ^ pastedText, - CalculatorApp::ViewModel::Common::ViewMode mode, - CalculatorApp::ViewModel::Common::NumberBase programmerNumberBase, - CalculatorApp::ViewModel::Common::BitLength bitLengthType); + CalculatorApp::ViewModelNative::Common::ViewMode mode, + CalculatorApp::ViewModelNative::Common::NumberBase programmerNumberBase, + CalculatorApp::ViewModelNative::Common::BitLength bitLengthType); static Platform::String ^ ValidatePasteExpression( Platform::String ^ pastedText, - CalculatorApp::ViewModel::Common::ViewMode mode, - CalculatorApp::ViewModel::Common::CategoryGroupType modeType, - CalculatorApp::ViewModel::Common::NumberBase programmerNumberBase, - CalculatorApp::ViewModel::Common::BitLength bitLengthType); + CalculatorApp::ViewModelNative::Common::ViewMode mode, + CalculatorApp::ViewModelNative::Common::CategoryGroupType modeType, + CalculatorApp::ViewModelNative::Common::NumberBase programmerNumberBase, + CalculatorApp::ViewModelNative::Common::BitLength bitLengthType); static CopyPasteMaxOperandLengthAndValue GetMaxOperandLengthAndValue( - CalculatorApp::ViewModel::Common::ViewMode mode, - CalculatorApp::ViewModel::Common::CategoryGroupType modeType, - CalculatorApp::ViewModel::Common::NumberBase programmerNumberBase, - CalculatorApp::ViewModel::Common::BitLength bitLengthType); + CalculatorApp::ViewModelNative::Common::ViewMode mode, + CalculatorApp::ViewModelNative::Common::CategoryGroupType modeType, + CalculatorApp::ViewModelNative::Common::NumberBase programmerNumberBase, + CalculatorApp::ViewModelNative::Common::BitLength bitLengthType); static Windows::Foundation::Collections::IVector< - Platform::String ^> ^ ExtractOperands(Platform::String ^ pasteExpression, CalculatorApp::ViewModel::Common::ViewMode mode); + Platform::String ^> ^ ExtractOperands(Platform::String ^ pasteExpression, CalculatorApp::ViewModelNative::Common::ViewMode mode); static bool ExpressionRegExMatch( Windows::Foundation::Collections::IVector ^ operands, - CalculatorApp::ViewModel::Common::ViewMode mode, - CalculatorApp::ViewModel::Common::CategoryGroupType modeType, - CalculatorApp::ViewModel::Common::NumberBase programmerNumberBase, - CalculatorApp::ViewModel::Common::BitLength bitLengthType); + CalculatorApp::ViewModelNative::Common::ViewMode mode, + CalculatorApp::ViewModelNative::Common::CategoryGroupType modeType, + CalculatorApp::ViewModelNative::Common::NumberBase programmerNumberBase, + CalculatorApp::ViewModelNative::Common::BitLength bitLengthType); static Platform::String ^ SanitizeOperand(Platform::String ^ operand); static Platform::String ^ RemoveUnwantedCharsFromString(Platform::String ^ input); - static Platform::IBox ^ TryOperandToULL(Platform::String ^ operand, CalculatorApp::ViewModel::Common::NumberBase numberBase); + static Platform::IBox ^ TryOperandToULL(Platform::String ^ operand, CalculatorApp::ViewModelNative::Common::NumberBase numberBase); static ULONG32 StandardScientificOperandLength(Platform::String ^ operand); static ULONG32 OperandLength( Platform::String ^ operand, - CalculatorApp::ViewModel::Common::ViewMode mode, - CalculatorApp::ViewModel::Common::CategoryGroupType modeType, - CalculatorApp::ViewModel::Common::NumberBase programmerNumberBase); - static ULONG32 ProgrammerOperandLength(Platform::String ^ operand, CalculatorApp::ViewModel::Common::NumberBase numberBase); + CalculatorApp::ViewModelNative::Common::ViewMode mode, + CalculatorApp::ViewModelNative::Common::CategoryGroupType modeType, + CalculatorApp::ViewModelNative::Common::NumberBase programmerNumberBase); + static ULONG32 ProgrammerOperandLength(Platform::String ^ operand, CalculatorApp::ViewModelNative::Common::NumberBase numberBase); private: static constexpr size_t MaxStandardOperandLengthValue = 16; diff --git a/src/CalcViewModel/Common/DateCalculator.cpp b/src/CalcViewModel/Common/DateCalculator.cpp index 0b417387..a46197ef 100644 --- a/src/CalcViewModel/Common/DateCalculator.cpp +++ b/src/CalcViewModel/Common/DateCalculator.cpp @@ -7,7 +7,7 @@ using namespace Platform; using namespace Windows::Foundation; using namespace Windows::Globalization; -using namespace CalculatorApp::ViewModel::Common::DateCalculation; +using namespace CalculatorApp::ViewModelNative::Common::DateCalculation; bool operator==(const DateDifference& l, const DateDifference& r) { diff --git a/src/CalcViewModel/Common/DateCalculator.h b/src/CalcViewModel/Common/DateCalculator.h index 89275b1f..5070cc3c 100644 --- a/src/CalcViewModel/Common/DateCalculator.h +++ b/src/CalcViewModel/Common/DateCalculator.h @@ -13,7 +13,7 @@ const int c_unitsOfDate = 4; // Units Year,Month,Week,Day const int c_unitsGreaterThanDays = 3; // Units Greater than Days (Year/Month/Week) 3 const int c_daysInWeek = 7; -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { @@ -68,4 +68,4 @@ namespace CalculatorApp::ViewModel } } -bool operator==(const CalculatorApp::ViewModel::Common::DateCalculation::DateDifference& l, const CalculatorApp::ViewModel::Common::DateCalculation::DateDifference& r); +bool operator==(const CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference& l, const CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference& r); diff --git a/src/CalcViewModel/Common/DelegateCommand.h b/src/CalcViewModel/Common/DelegateCommand.h index 6a0151a1..55359ec5 100644 --- a/src/CalcViewModel/Common/DelegateCommand.h +++ b/src/CalcViewModel/Common/DelegateCommand.h @@ -1,9 +1,9 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/DisplayExpressionToken.h b/src/CalcViewModel/Common/DisplayExpressionToken.h index c53c4857..b8492884 100644 --- a/src/CalcViewModel/Common/DisplayExpressionToken.h +++ b/src/CalcViewModel/Common/DisplayExpressionToken.h @@ -5,7 +5,7 @@ #include "Utils.h" -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { public enum class TokenType diff --git a/src/CalcViewModel/Common/EngineResourceProvider.cpp b/src/CalcViewModel/Common/EngineResourceProvider.cpp index ff274d1d..88107f01 100644 --- a/src/CalcViewModel/Common/EngineResourceProvider.cpp +++ b/src/CalcViewModel/Common/EngineResourceProvider.cpp @@ -5,7 +5,7 @@ #include "EngineResourceProvider.h" #include "Common/LocalizationSettings.h" -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Platform; using namespace Windows::ApplicationModel::Resources; using namespace std; diff --git a/src/CalcViewModel/Common/EngineResourceProvider.h b/src/CalcViewModel/Common/EngineResourceProvider.h index 524b7a9b..de3ce3d7 100644 --- a/src/CalcViewModel/Common/EngineResourceProvider.h +++ b/src/CalcViewModel/Common/EngineResourceProvider.h @@ -5,7 +5,7 @@ #include "CalcManager/CalculatorResource.h" -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { class EngineResourceProvider : public CalculationManager::IResourceProvider { diff --git a/src/CalcViewModel/Common/ExpressionCommandDeserializer.cpp b/src/CalcViewModel/Common/ExpressionCommandDeserializer.cpp index a91d2d35..704c97d1 100644 --- a/src/CalcViewModel/Common/ExpressionCommandDeserializer.cpp +++ b/src/CalcViewModel/Common/ExpressionCommandDeserializer.cpp @@ -4,7 +4,7 @@ #include "pch.h" #include "ExpressionCommandDeserializer.h" -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Windows::Storage::Streams; CommandDeserializer::CommandDeserializer(_In_ DataReader ^ dataReader) diff --git a/src/CalcViewModel/Common/ExpressionCommandDeserializer.h b/src/CalcViewModel/Common/ExpressionCommandDeserializer.h index aed9afe2..dd1eb92b 100644 --- a/src/CalcViewModel/Common/ExpressionCommandDeserializer.h +++ b/src/CalcViewModel/Common/ExpressionCommandDeserializer.h @@ -5,7 +5,7 @@ #include "CalcManager/ExpressionCommand.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/ExpressionCommandSerializer.cpp b/src/CalcViewModel/Common/ExpressionCommandSerializer.cpp index 464bc023..c846c505 100644 --- a/src/CalcViewModel/Common/ExpressionCommandSerializer.cpp +++ b/src/CalcViewModel/Common/ExpressionCommandSerializer.cpp @@ -4,7 +4,7 @@ #include "pch.h" #include "Common/ExpressionCommandSerializer.h" -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Windows::Storage::Streams; SerializeCommandVisitor::SerializeCommandVisitor(_In_ DataWriter ^ dataWriter) diff --git a/src/CalcViewModel/Common/ExpressionCommandSerializer.h b/src/CalcViewModel/Common/ExpressionCommandSerializer.h index d64b19b7..86adfc26 100644 --- a/src/CalcViewModel/Common/ExpressionCommandSerializer.h +++ b/src/CalcViewModel/Common/ExpressionCommandSerializer.h @@ -5,7 +5,7 @@ #include "CalcManager/ExpressionCommand.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/LocalizationService.cpp b/src/CalcViewModel/Common/LocalizationService.cpp index 5c28e42d..770ed7c3 100644 --- a/src/CalcViewModel/Common/LocalizationService.cpp +++ b/src/CalcViewModel/Common/LocalizationService.cpp @@ -6,9 +6,9 @@ #include "LocalizationSettings.h" #include "AppResourceProvider.h" -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::Common::LocalizationServiceProperties; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::Common::LocalizationServiceProperties; +using namespace CalculatorApp::ViewModelNative; using namespace Concurrency; using namespace Platform; using namespace Platform::Collections; diff --git a/src/CalcViewModel/Common/LocalizationService.h b/src/CalcViewModel/Common/LocalizationService.h index ae7a513e..31e2ea38 100644 --- a/src/CalcViewModel/Common/LocalizationService.h +++ b/src/CalcViewModel/Common/LocalizationService.h @@ -5,7 +5,7 @@ #include "Utils.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/LocalizationSettings.h b/src/CalcViewModel/Common/LocalizationSettings.h index 0c1db651..f17282cd 100644 --- a/src/CalcViewModel/Common/LocalizationSettings.h +++ b/src/CalcViewModel/Common/LocalizationSettings.h @@ -6,7 +6,7 @@ #include -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/LocalizationStringUtil.h b/src/CalcViewModel/Common/LocalizationStringUtil.h index d7e08032..2b21e4e4 100644 --- a/src/CalcViewModel/Common/LocalizationStringUtil.h +++ b/src/CalcViewModel/Common/LocalizationStringUtil.h @@ -5,7 +5,7 @@ #include "AppResourceProvider.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/MyVirtualKey.h b/src/CalcViewModel/Common/MyVirtualKey.h index 071b4183..eca87127 100644 --- a/src/CalcViewModel/Common/MyVirtualKey.h +++ b/src/CalcViewModel/Common/MyVirtualKey.h @@ -1,9 +1,9 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/NavCategory.cpp b/src/CalcViewModel/Common/NavCategory.cpp index 829f7488..fee460b9 100644 --- a/src/CalcViewModel/Common/NavCategory.cpp +++ b/src/CalcViewModel/Common/NavCategory.cpp @@ -8,8 +8,8 @@ #include using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative; using namespace Concurrency; using namespace Platform; using namespace Platform::Collections; diff --git a/src/CalcViewModel/Common/NavCategory.h b/src/CalcViewModel/Common/NavCategory.h index 810ccbed..b80a7a0e 100644 --- a/src/CalcViewModel/Common/NavCategory.h +++ b/src/CalcViewModel/Common/NavCategory.h @@ -17,7 +17,7 @@ #include "Utils.h" #include "MyVirtualKey.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { @@ -91,7 +91,7 @@ namespace CalculatorApp::ViewModel public ref class NavCategory sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { private: - using ViewModeType = ::CalculatorApp::ViewModel::Common::ViewMode; + using ViewModeType = ::CalculatorApp::ViewModelNative::Common::ViewMode; public: OBSERVABLE_OBJECT(); PROPERTY_R(Platform::String ^, Name); diff --git a/src/CalcViewModel/Common/NetworkManager.cpp b/src/CalcViewModel/Common/NetworkManager.cpp index 4f032d96..6db682e8 100644 --- a/src/CalcViewModel/Common/NetworkManager.cpp +++ b/src/CalcViewModel/Common/NetworkManager.cpp @@ -5,8 +5,8 @@ #include "NetworkManager.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Platform; using namespace Windows::Networking::Connectivity; diff --git a/src/CalcViewModel/Common/NetworkManager.h b/src/CalcViewModel/Common/NetworkManager.h index 6bf7b7c1..ddf3d991 100644 --- a/src/CalcViewModel/Common/NetworkManager.h +++ b/src/CalcViewModel/Common/NetworkManager.h @@ -3,7 +3,7 @@ #pragma once -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { public enum class NetworkAccessBehavior diff --git a/src/CalcViewModel/Common/NumberBase.h b/src/CalcViewModel/Common/NumberBase.h index 6efb323b..6a3f4916 100644 --- a/src/CalcViewModel/Common/NumberBase.h +++ b/src/CalcViewModel/Common/NumberBase.h @@ -2,7 +2,7 @@ // Licensed under the MIT License. #pragma once -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { public enum class NumberBase diff --git a/src/CalcViewModel/Common/RadixType.h b/src/CalcViewModel/Common/RadixType.h index de4bc8a8..d706af6f 100644 --- a/src/CalcViewModel/Common/RadixType.h +++ b/src/CalcViewModel/Common/RadixType.h @@ -3,7 +3,7 @@ #pragma once -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace Common { diff --git a/src/CalcViewModel/Common/TraceLogger.cpp b/src/CalcViewModel/Common/TraceLogger.cpp index d565f240..48b3b895 100644 --- a/src/CalcViewModel/Common/TraceLogger.cpp +++ b/src/CalcViewModel/Common/TraceLogger.cpp @@ -7,8 +7,8 @@ #include "CalculatorButtonUser.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative; using namespace TraceLogging; using namespace Concurrency; using namespace std; @@ -148,7 +148,7 @@ namespace CalculatorApp TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_EXCEPTION), fields); } - void TraceLogger::LogPlatformExceptionInfo(CalculatorApp::ViewModel::Common::ViewMode mode, Platform::String ^ functionName, Platform::String^ message, int hresult) + void TraceLogger::LogPlatformExceptionInfo(CalculatorApp::ViewModelNative::Common::ViewMode mode, Platform::String ^ functionName, Platform::String^ message, int hresult) { auto fields = ref new LoggingFields(); fields->AddString(StringReference(CALC_MODE), NavCategoryStates::GetFriendlyName(mode)); diff --git a/src/CalcViewModel/Common/TraceLogger.h b/src/CalcViewModel/Common/TraceLogger.h index e82d3645..d7774596 100644 --- a/src/CalcViewModel/Common/TraceLogger.h +++ b/src/CalcViewModel/Common/TraceLogger.h @@ -8,15 +8,15 @@ // A trace logging provider can only be instantiated and registered once per module. // This class implements a singleton model ensure that only one instance is created. -namespace CalculatorApp::ViewModel::Common +namespace CalculatorApp::ViewModelNative::Common { struct ButtonLog { public: int count; - CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum button; - CalculatorApp::ViewModel::Common::ViewMode mode; - ButtonLog(CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum btn, CalculatorApp::ViewModel::Common::ViewMode vMode) + CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum button; + CalculatorApp::ViewModelNative::Common::ViewMode mode; + ButtonLog(CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum btn, CalculatorApp::ViewModelNative::Common::ViewMode vMode) { button = btn; mode = vMode; @@ -62,20 +62,20 @@ namespace CalculatorApp::ViewModel::Common public: static TraceLogger ^ GetInstance(); - void LogModeChange(CalculatorApp::ViewModel::Common::ViewMode mode); - void LogHistoryItemLoad(CalculatorApp::ViewModel::Common::ViewMode mode, int historyListSize, int loadedIndex); - void LogMemoryItemLoad(CalculatorApp::ViewModel::Common::ViewMode mode, int memoryListSize, int loadedIndex); - void UpdateButtonUsage(CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum button, CalculatorApp::ViewModel::Common::ViewMode mode); + void LogModeChange(CalculatorApp::ViewModelNative::Common::ViewMode mode); + void LogHistoryItemLoad(CalculatorApp::ViewModelNative::Common::ViewMode mode, int historyListSize, int loadedIndex); + void LogMemoryItemLoad(CalculatorApp::ViewModelNative::Common::ViewMode mode, int memoryListSize, int loadedIndex); + void UpdateButtonUsage(CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum button, CalculatorApp::ViewModelNative::Common::ViewMode mode); void LogButtonUsage(); void LogDateCalculationModeUsed(bool AddSubtractMode); void UpdateWindowCount(uint64 windowCount); void DecreaseWindowCount(); bool IsWindowIdInLog(int windowId); - void LogVisualStateChanged(CalculatorApp::ViewModel::Common::ViewMode mode, Platform::String ^ state, bool isAlwaysOnTop); - void LogWindowCreated(CalculatorApp::ViewModel::Common::ViewMode mode, int windowId); - void LogConverterInputReceived(CalculatorApp::ViewModel::Common::ViewMode mode); + void LogVisualStateChanged(CalculatorApp::ViewModelNative::Common::ViewMode mode, Platform::String ^ state, bool isAlwaysOnTop); + void LogWindowCreated(CalculatorApp::ViewModelNative::Common::ViewMode mode, int windowId); + void LogConverterInputReceived(CalculatorApp::ViewModelNative::Common::ViewMode mode); void LogNavBarOpened(); - void LogError(CalculatorApp::ViewModel::Common::ViewMode mode, Platform::String ^ functionName, Platform::String ^ errorString); + void LogError(CalculatorApp::ViewModelNative::Common::ViewMode mode, Platform::String ^ functionName, Platform::String ^ errorString); void LogShowHideButtonClicked(bool isHideButton); void LogGraphButtonClicked(GraphButton buttonName, GraphButtonValue buttonValue); void LogGraphLineStyleChanged(LineStyleType style); @@ -83,12 +83,12 @@ namespace CalculatorApp::ViewModel::Common void LogVariableSettingsChanged(Platform::String ^ setting); void LogGraphSettingsChanged(GraphSettingsType settingsType, Platform::String ^ settingValue); void LogGraphTheme(Platform::String ^ graphTheme); - void LogInputPasted(CalculatorApp::ViewModel::Common::ViewMode mode); - void LogPlatformExceptionInfo(CalculatorApp::ViewModel::Common::ViewMode mode, Platform::String ^ functionName, Platform::String ^ message, int hresult); + void LogInputPasted(CalculatorApp::ViewModelNative::Common::ViewMode mode); + void LogPlatformExceptionInfo(CalculatorApp::ViewModelNative::Common::ViewMode mode, Platform::String ^ functionName, Platform::String ^ message, int hresult); internal: - void LogPlatformException(CalculatorApp::ViewModel::Common::ViewMode mode, Platform::String ^ functionName, Platform::Exception ^ e); - void LogStandardException(CalculatorApp::ViewModel::Common::ViewMode mode, std::wstring_view functionName, _In_ const std::exception& e); + void LogPlatformException(CalculatorApp::ViewModelNative::Common::ViewMode mode, Platform::String ^ functionName, Platform::Exception ^ e); + void LogStandardException(CalculatorApp::ViewModelNative::Common::ViewMode mode, std::wstring_view functionName, _In_ const std::exception& e); private: // Create an instance of TraceLogger diff --git a/src/CalcViewModel/Common/Utils.cpp b/src/CalcViewModel/Common/Utils.cpp index daae9e86..fdc3f6c1 100644 --- a/src/CalcViewModel/Common/Utils.cpp +++ b/src/CalcViewModel/Common/Utils.cpp @@ -15,7 +15,7 @@ #include "Common/ExpressionCommandDeserializer.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace concurrency; using namespace Graphing::Renderer; using namespace Platform; @@ -47,20 +47,6 @@ double Utils::GetDoubleFromWstring(wstring input) return stod(ws); } -// Returns windowId for the current view -int Utils::GetWindowId() -{ - int windowId = -1; - - auto window = CoreWindow::GetForCurrentThread(); - if (window != nullptr) - { - windowId = ApplicationView::GetApplicationViewIdForWindow(window); - } - - return windowId; -} - void Utils::RunOnUIThreadNonblocking(std::function&& function, _In_ CoreDispatcher ^ currentDispatcher) { if (currentDispatcher != nullptr) @@ -181,7 +167,7 @@ bool operator!=(const Color& color1, const Color& color2) return !(color1 == color2); } -String^ CalculatorApp::ViewModel::Common::Utilities::EscapeHtmlSpecialCharacters(String^ originalString) +String^ CalculatorApp::ViewModelNative::Common::Utilities::EscapeHtmlSpecialCharacters(String^ originalString) { // Construct a default special characters if not provided. const std::vector specialCharacters {L'&', L'\"', L'\'', L'<', L'>'}; @@ -238,7 +224,7 @@ String^ CalculatorApp::ViewModel::Common::Utilities::EscapeHtmlSpecialCharacters return replaceCharacters ? replacementString : originalString; } -bool CalculatorApp::ViewModel::Common::Utilities::AreColorsEqual(Windows::UI::Color color1, Windows::UI::Color color2) +bool CalculatorApp::ViewModelNative::Common::Utilities::AreColorsEqual(Windows::UI::Color color1, Windows::UI::Color color2) { return Utils::AreColorsEqual(color1, color2); } @@ -246,7 +232,7 @@ bool CalculatorApp::ViewModel::Common::Utilities::AreColorsEqual(Windows::UI::Co // This method calculates the luminance ratio between White and the given background color. // The luminance is calculate using the RGB values and does not use the A value. // White or Black is returned -SolidColorBrush ^ CalculatorApp::ViewModel::Common::Utilities::GetContrastColor(Color backgroundColor) +SolidColorBrush ^ CalculatorApp::ViewModelNative::Common::Utilities::GetContrastColor(Color backgroundColor) { auto luminance = 0.2126 * backgroundColor.R + 0.7152 * backgroundColor.G + 0.0722 * backgroundColor.B; @@ -258,17 +244,12 @@ SolidColorBrush ^ CalculatorApp::ViewModel::Common::Utilities::GetContrastColor( return static_cast(Application::Current->Resources->Lookup(L"BlackBrush")); } -int CalculatorApp::ViewModel::Common::Utilities::GetWindowId() -{ - return Utils::GetWindowId(); -} - -long long CalculatorApp::ViewModel::Common::Utilities::GetConst_WINEVENT_KEYWORD_RESPONSE_TIME() +long long CalculatorApp::ViewModelNative::Common::Utilities::GetConst_WINEVENT_KEYWORD_RESPONSE_TIME() { return WINEVENT_KEYWORD_RESPONSE_TIME; } -bool CalculatorApp::ViewModel::Common::Utilities::GetIntegratedDisplaySize(double* size) +bool CalculatorApp::ViewModelNative::Common::Utilities::GetIntegratedDisplaySize(double* size) { if (SUCCEEDED(::GetIntegratedDisplaySize(size))) return true; diff --git a/src/CalcViewModel/Common/Utils.h b/src/CalcViewModel/Common/Utils.h index 8c3f5d2e..af0e8832 100644 --- a/src/CalcViewModel/Common/Utils.h +++ b/src/CalcViewModel/Common/Utils.h @@ -174,8 +174,8 @@ public: { \ if (!donotuse_##p) \ { \ - donotuse_##p = ref new CalculatorApp::ViewModel::Common::DelegateCommand( \ - CalculatorApp::ViewModel::Common::MakeDelegateCommandHandler(this, &m) \ + donotuse_##p = ref new CalculatorApp::ViewModelNative::Common::DelegateCommand( \ + CalculatorApp::ViewModelNative::Common::MakeDelegateCommandHandler(this, &m) \ ); \ } \ return donotuse_##p; \ @@ -394,7 +394,6 @@ namespace Utils } double GetDoubleFromWstring(std::wstring input); - int GetWindowId(); void RunOnUIThreadNonblocking(std::function&& function, _In_ Windows::UI::Core::CoreDispatcher ^ currentDispatcher); Windows::Foundation::DateTime GetUniversalSystemTime(); @@ -705,7 +704,7 @@ namespace CalculatorApp return to; } - namespace ViewModel::Common + namespace ViewModelNative::Common { // below utilities are intended to support interops between C# and C++/CX // they can be removed if the entire codebase has been migrated to C# @@ -715,7 +714,6 @@ namespace CalculatorApp static Platform::String ^ EscapeHtmlSpecialCharacters(Platform::String ^ originalString); static bool AreColorsEqual(Windows::UI::Color color1, Windows::UI::Color color2); static Windows::UI::Xaml::Media::SolidColorBrush ^ GetContrastColor(Windows::UI::Color backgroundColor); - static int GetWindowId(); static long long GetConst_WINEVENT_KEYWORD_RESPONSE_TIME(); static bool GetIntegratedDisplaySize(double* size); }; diff --git a/src/CalcViewModel/DataLoaders/CurrencyDataLoader.cpp b/src/CalcViewModel/DataLoaders/CurrencyDataLoader.cpp index c0b3690a..b9fa678d 100644 --- a/src/CalcViewModel/DataLoaders/CurrencyDataLoader.cpp +++ b/src/CalcViewModel/DataLoaders/CurrencyDataLoader.cpp @@ -11,11 +11,11 @@ #include "UnitConverterDataConstants.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::Common::LocalizationServiceProperties; -using namespace CalculatorApp::ViewModel::DataLoaders; -using namespace CalculatorApp::ViewModel; -using namespace CalculatorApp::ViewModel::DataLoaders::CurrencyDataLoaderConstants; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::Common::LocalizationServiceProperties; +using namespace CalculatorApp::ViewModelNative::DataLoaders; +using namespace CalculatorApp::ViewModelNative; +using namespace CalculatorApp::ViewModelNative::DataLoaders::CurrencyDataLoaderConstants; using namespace concurrency; using namespace Platform; using namespace std; @@ -69,7 +69,7 @@ static constexpr auto DEFAULT_TO_CURRENCY = L"EUR"; namespace CalculatorApp { - namespace ViewModel::DataLoaders + namespace ViewModelNative::DataLoaders { namespace UnitConverterResourceKeys { diff --git a/src/CalcViewModel/DataLoaders/CurrencyDataLoader.h b/src/CalcViewModel/DataLoaders/CurrencyDataLoader.h index 6ee878be..ba4bdc98 100644 --- a/src/CalcViewModel/DataLoaders/CurrencyDataLoader.h +++ b/src/CalcViewModel/DataLoaders/CurrencyDataLoader.h @@ -9,7 +9,7 @@ namespace CalculatorApp { - namespace ViewModel::DataLoaders + namespace ViewModelNative::DataLoaders { public enum class CurrencyLoadStatus @@ -55,7 +55,7 @@ namespace CalculatorApp { public: CurrencyDataLoader( - _In_ std::unique_ptr client, + _In_ std::unique_ptr client, const wchar_t* overrideLanguage = nullptr); ~CurrencyDataLoader(); @@ -84,7 +84,7 @@ namespace CalculatorApp std::future TryLoadDataFromWebOverrideAsync() override; // ICurrencyConverterDataLoader - void OnNetworkBehaviorChanged(CalculatorApp::ViewModel::Common::NetworkAccessBehavior newBehavior); + void OnNetworkBehaviorChanged(CalculatorApp::ViewModelNative::Common::NetworkAccessBehavior newBehavior); private: void ResetLoadStatus(); @@ -114,7 +114,7 @@ namespace CalculatorApp private: Platform::String ^ m_responseLanguage; - std::unique_ptr m_client; + std::unique_ptr m_client; bool m_isRtlLanguage; @@ -132,8 +132,8 @@ namespace CalculatorApp CurrencyLoadStatus m_loadStatus; - CalculatorApp::ViewModel::Common::NetworkManager ^ m_networkManager; - CalculatorApp::ViewModel::Common::NetworkAccessBehavior m_networkAccessBehavior; + CalculatorApp::ViewModelNative::Common::NetworkManager ^ m_networkManager; + CalculatorApp::ViewModelNative::Common::NetworkAccessBehavior m_networkAccessBehavior; Windows::Foundation::EventRegistrationToken m_networkBehaviorToken; bool m_meteredOverrideSet; }; diff --git a/src/CalcViewModel/DataLoaders/CurrencyHttpClient.cpp b/src/CalcViewModel/DataLoaders/CurrencyHttpClient.cpp index 39786f32..ea25fb93 100644 --- a/src/CalcViewModel/DataLoaders/CurrencyHttpClient.cpp +++ b/src/CalcViewModel/DataLoaders/CurrencyHttpClient.cpp @@ -11,7 +11,7 @@ #endif using namespace CalculatorApp::DataLoaders; -using namespace CalculatorApp::ViewModel::DataLoaders; +using namespace CalculatorApp::ViewModelNative::DataLoaders; using namespace Platform; using namespace std; using namespace Windows::Foundation; diff --git a/src/CalcViewModel/DataLoaders/CurrencyHttpClient.h b/src/CalcViewModel/DataLoaders/CurrencyHttpClient.h index 8f667c7c..5eab0360 100644 --- a/src/CalcViewModel/DataLoaders/CurrencyHttpClient.h +++ b/src/CalcViewModel/DataLoaders/CurrencyHttpClient.h @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once @@ -7,7 +7,7 @@ namespace CalculatorApp { - namespace ViewModel::DataLoaders + namespace ViewModelNative::DataLoaders { class CurrencyHttpClient : public ICurrencyHttpClient { diff --git a/src/CalcViewModel/DataLoaders/ICurrencyHttpClient.h b/src/CalcViewModel/DataLoaders/ICurrencyHttpClient.h index 84104b7b..e9a5270c 100644 --- a/src/CalcViewModel/DataLoaders/ICurrencyHttpClient.h +++ b/src/CalcViewModel/DataLoaders/ICurrencyHttpClient.h @@ -1,11 +1,11 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once namespace CalculatorApp { - namespace ViewModel::DataLoaders + namespace ViewModelNative::DataLoaders { class ICurrencyHttpClient { diff --git a/src/CalcViewModel/DataLoaders/UnitConverterDataConstants.h b/src/CalcViewModel/DataLoaders/UnitConverterDataConstants.h index 099b3b1f..0fabf08d 100644 --- a/src/CalcViewModel/DataLoaders/UnitConverterDataConstants.h +++ b/src/CalcViewModel/DataLoaders/UnitConverterDataConstants.h @@ -3,7 +3,7 @@ namespace CalculatorApp { - namespace ViewModel::Common + namespace ViewModelNative::Common { private enum UnitConverterUnits diff --git a/src/CalcViewModel/DataLoaders/UnitConverterDataLoader.cpp b/src/CalcViewModel/DataLoaders/UnitConverterDataLoader.cpp index 3ce1cb69..84390f3c 100644 --- a/src/CalcViewModel/DataLoaders/UnitConverterDataLoader.cpp +++ b/src/CalcViewModel/DataLoaders/UnitConverterDataLoader.cpp @@ -7,9 +7,9 @@ #include "UnitConverterDataConstants.h" #include "CurrencyDataLoader.h" -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::DataLoaders; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::DataLoaders; +using namespace CalculatorApp::ViewModelNative; using namespace Platform; using namespace std; using namespace Windows::ApplicationModel::Resources; diff --git a/src/CalcViewModel/DataLoaders/UnitConverterDataLoader.h b/src/CalcViewModel/DataLoaders/UnitConverterDataLoader.h index beb5be63..ed93280c 100644 --- a/src/CalcViewModel/DataLoaders/UnitConverterDataLoader.h +++ b/src/CalcViewModel/DataLoaders/UnitConverterDataLoader.h @@ -8,7 +8,7 @@ namespace CalculatorApp { - namespace ViewModel::Common + namespace ViewModelNative::Common { struct OrderedUnit : UnitConversionManager::Unit { @@ -34,7 +34,7 @@ namespace CalculatorApp struct UnitData { - CalculatorApp::ViewModel::Common::ViewMode categoryId; + CalculatorApp::ViewModelNative::Common::ViewMode categoryId; int unitId; double factor; }; @@ -45,7 +45,7 @@ namespace CalculatorApp { } ExplicitUnitConversionData( - CalculatorApp::ViewModel::Common::ViewMode categoryId, + CalculatorApp::ViewModelNative::Common::ViewMode categoryId, int parentUnitId, int unitId, double ratio, @@ -58,7 +58,7 @@ namespace CalculatorApp { } - CalculatorApp::ViewModel::Common::ViewMode categoryId; + CalculatorApp::ViewModelNative::Common::ViewMode categoryId; int parentUnitId; int unitId; }; @@ -79,8 +79,8 @@ namespace CalculatorApp // IConverterDataLoader void GetCategories(_In_ std::shared_ptr> categoriesList); - void GetUnits(_In_ std::unordered_map>& unitMap); - void GetConversionData(_In_ std::unordered_map>& categoryToUnitConversionMap); + void GetUnits(_In_ std::unordered_map>& unitMap); + void GetConversionData(_In_ std::unordered_map>& categoryToUnitConversionMap); void GetExplicitConversionData(_In_ std::unordered_map>& unitToUnitConversionList); std::wstring GetLocalizedStringName(_In_ Platform::String ^ stringId); diff --git a/src/CalcViewModel/DateCalculatorViewModel.cpp b/src/CalcViewModel/DateCalculatorViewModel.cpp index ff8e0d9c..ac45baf6 100644 --- a/src/CalcViewModel/DateCalculatorViewModel.cpp +++ b/src/CalcViewModel/DateCalculatorViewModel.cpp @@ -10,9 +10,9 @@ #include "Common/CopyPasteManager.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::Common::DateCalculation; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::Common::DateCalculation; +using namespace CalculatorApp::ViewModelNative; using namespace Platform; using namespace Platform::Collections; using namespace std; diff --git a/src/CalcViewModel/DateCalculatorViewModel.h b/src/CalcViewModel/DateCalculatorViewModel.h index 7d9ff0ab..f7300435 100644 --- a/src/CalcViewModel/DateCalculatorViewModel.h +++ b/src/CalcViewModel/DateCalculatorViewModel.h @@ -10,7 +10,7 @@ const int c_maxOffsetValue = 999; namespace CalculatorApp { - namespace ViewModel + namespace ViewModelNative { [Windows::UI::Xaml::Data::Bindable] public ref class DateCalculatorViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { @@ -125,26 +125,26 @@ namespace CalculatorApp } } - property CalculatorApp::ViewModel::Common::DateCalculation::DateDifference DateDiffResult + property CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference DateDiffResult { - CalculatorApp::ViewModel::Common::DateCalculation::DateDifference get() + CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference get() { return m_dateDiffResult; } - void set(CalculatorApp::ViewModel::Common::DateCalculation::DateDifference value) + void set(CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference value) { m_dateDiffResult = value; UpdateDisplayResult(); } } - property CalculatorApp::ViewModel::Common::DateCalculation::DateDifference DateDiffResultInDays + property CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference DateDiffResultInDays { - CalculatorApp::ViewModel::Common::DateCalculation::DateDifference get() + CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference get() { return m_dateDiffResultInDays; } - void set(CalculatorApp::ViewModel::Common::DateCalculation::DateDifference value) + void set(CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference value) { m_dateDiffResultInDays = value; UpdateDisplayResult(); @@ -172,13 +172,13 @@ namespace CalculatorApp Windows::Foundation::DateTime m_toDate; Windows::Foundation::DateTime m_startDate; Windows::Foundation::DateTime m_dateResult; - CalculatorApp::ViewModel::Common::DateCalculation::DateDifference m_dateDiffResult; - CalculatorApp::ViewModel::Common::DateCalculation::DateDifference m_dateDiffResultInDays; + CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference m_dateDiffResult; + CalculatorApp::ViewModelNative::Common::DateCalculation::DateDifference m_dateDiffResultInDays; // Private members - CalculatorApp::ViewModel::Common::DateCalculation::DateCalculationEngine ^ m_dateCalcEngine; - CalculatorApp::ViewModel::Common::DateCalculation::DateUnit m_daysOutputFormat; - CalculatorApp::ViewModel::Common::DateCalculation::DateUnit m_allDateUnitsOutputFormat; + CalculatorApp::ViewModelNative::Common::DateCalculation::DateCalculationEngine ^ m_dateCalcEngine; + CalculatorApp::ViewModelNative::Common::DateCalculation::DateUnit m_daysOutputFormat; + CalculatorApp::ViewModelNative::Common::DateCalculation::DateUnit m_allDateUnitsOutputFormat; Windows::Globalization::DateTimeFormatting::DateTimeFormatter ^ m_dateTimeFormatter; std::wstring m_listSeparator; }; diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp index e7829c75..31e28929 100644 --- a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp @@ -6,7 +6,7 @@ #include "CalcViewModel\Common\LocalizationSettings.h" #include "CalcViewModel\GraphingCalculatorEnums.h" -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Graphing; using namespace Platform; using namespace Platform::Collections; @@ -17,7 +17,7 @@ using namespace Windows::UI::Xaml; using namespace Windows::Foundation::Collections; using namespace GraphControl; -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { GridDisplayItems::GridDisplayItems() : m_Expression{ "" } diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.h b/src/CalcViewModel/GraphingCalculator/EquationViewModel.h index 292e857d..c2e650ec 100644 --- a/src/CalcViewModel/GraphingCalculator/EquationViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/EquationViewModel.h @@ -11,7 +11,7 @@ namespace GraphControl ref class KeyGraphFeaturesInfo; } -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { public ref class GridDisplayItems sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged @@ -100,7 +100,7 @@ public // Key Graph Features OBSERVABLE_PROPERTY_R(Platform::String ^, AnalysisErrorString); OBSERVABLE_PROPERTY_R(bool, AnalysisErrorVisible); - OBSERVABLE_PROPERTY_R(Windows::Foundation::Collections::IObservableVector ^, KeyGraphFeaturesItems) + OBSERVABLE_PROPERTY_R(Windows::Foundation::Collections::IObservableVector ^, KeyGraphFeaturesItems) void PopulateKeyGraphFeatures(GraphControl::KeyGraphFeaturesInfo ^ info); diff --git a/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.cpp b/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.cpp index 4e605612..b2b0e6d1 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.cpp @@ -4,7 +4,7 @@ #include "pch.h" #include "GraphingCalculatorViewModel.h" -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative; using namespace Platform; using namespace Platform::Collections; using namespace Windows::Foundation; @@ -12,7 +12,7 @@ using namespace Windows::Foundation::Collections; using namespace Windows::UI::Xaml::Data; using namespace GraphControl; -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { GraphingCalculatorViewModel::GraphingCalculatorViewModel() : m_IsDecimalEnabled{ true } diff --git a/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h b/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h index eabd88e9..4a2e82e9 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h @@ -7,7 +7,7 @@ #include "EquationViewModel.h" #include "VariableViewModel.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { [Windows::UI::Xaml::Data::Bindable] public ref class GraphingCalculatorViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp index 4353777c..51d6fa5a 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp @@ -4,8 +4,8 @@ #include "pch.h" #include "GraphingSettingsViewModel.h" -using namespace CalculatorApp::ViewModel; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative; +using namespace CalculatorApp::ViewModelNative::Common; using namespace GraphControl; using namespace std; using namespace Platform; @@ -102,7 +102,7 @@ void GraphingSettingsViewModel::UpdateDisplayRange() m_Graph->SetDisplayRanges(m_XMinValue, m_XMaxValue, m_YMinValue, m_YMaxValue); - CalculatorApp::ViewModel::Common::TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::Grid, L""); + CalculatorApp::ViewModelNative::Common::TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::Grid, L""); } bool GraphingSettingsViewModel::HasError() diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h index 81bb77fb..0863e60b 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h @@ -4,7 +4,7 @@ #include "../Common/Utils.h" #include "CalcViewModel/Common/TraceLogger.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { #pragma once [Windows::UI::Xaml::Data::Bindable] public ref class GraphingSettingsViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged @@ -204,7 +204,7 @@ namespace CalculatorApp::ViewModel RaisePropertyChanged(L"TrigModeDegrees"); RaisePropertyChanged(L"TrigModeGradians"); - CalculatorApp::ViewModel::Common::TraceLogger::GetInstance()->LogGraphSettingsChanged(CalculatorApp::ViewModel::Common::GraphSettingsType::TrigUnits, L"Radians"); + CalculatorApp::ViewModelNative::Common::TraceLogger::GetInstance()->LogGraphSettingsChanged(CalculatorApp::ViewModelNative::Common::GraphSettingsType::TrigUnits, L"Radians"); } } } @@ -225,7 +225,7 @@ namespace CalculatorApp::ViewModel RaisePropertyChanged(L"TrigModeRadians"); RaisePropertyChanged(L"TrigModeGradians"); - CalculatorApp::ViewModel::Common::TraceLogger::GetInstance()->LogGraphSettingsChanged(CalculatorApp::ViewModel::Common::GraphSettingsType::TrigUnits, L"Degrees"); + CalculatorApp::ViewModelNative::Common::TraceLogger::GetInstance()->LogGraphSettingsChanged(CalculatorApp::ViewModelNative::Common::GraphSettingsType::TrigUnits, L"Degrees"); } } } @@ -246,7 +246,7 @@ namespace CalculatorApp::ViewModel RaisePropertyChanged(L"TrigModeDegrees"); RaisePropertyChanged(L"TrigModeRadians"); - CalculatorApp::ViewModel::Common::TraceLogger::GetInstance()->LogGraphSettingsChanged(CalculatorApp::ViewModel::Common::GraphSettingsType::TrigUnits, L"Gradians"); + CalculatorApp::ViewModelNative::Common::TraceLogger::GetInstance()->LogGraphSettingsChanged(CalculatorApp::ViewModelNative::Common::GraphSettingsType::TrigUnits, L"Gradians"); } } } diff --git a/src/CalcViewModel/GraphingCalculator/VariableViewModel.h b/src/CalcViewModel/GraphingCalculator/VariableViewModel.h index 6c15fba3..c327d993 100644 --- a/src/CalcViewModel/GraphingCalculator/VariableViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/VariableViewModel.h @@ -7,7 +7,7 @@ #include "CalcViewModel/Common/LocalizationStringUtil.h" #include "EquationViewModel.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { inline constexpr int DefaultMinMaxRange = 10; @@ -127,8 +127,8 @@ public { Platform::String ^ get() { - return CalculatorApp::ViewModel::Common::LocalizationStringUtil::GetLocalizedString( - CalculatorApp::ViewModel::Common::AppResourceProvider::GetInstance()->GetResourceString(L"VariableListViewItem"), Name); + return CalculatorApp::ViewModelNative::Common::LocalizationStringUtil::GetLocalizedString( + CalculatorApp::ViewModelNative::Common::AppResourceProvider::GetInstance()->GetResourceString(L"VariableListViewItem"), Name); } } diff --git a/src/CalcViewModel/HistoryItemViewModel.cpp b/src/CalcViewModel/HistoryItemViewModel.cpp index 023ab643..3bc1c839 100644 --- a/src/CalcViewModel/HistoryItemViewModel.cpp +++ b/src/CalcViewModel/HistoryItemViewModel.cpp @@ -5,8 +5,8 @@ #include "HistoryItemViewModel.h" #include "Common/LocalizationService.h" -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative; using namespace std; using namespace Platform; diff --git a/src/CalcViewModel/HistoryItemViewModel.h b/src/CalcViewModel/HistoryItemViewModel.h index 0e30b0c8..2e39c45f 100644 --- a/src/CalcViewModel/HistoryItemViewModel.h +++ b/src/CalcViewModel/HistoryItemViewModel.h @@ -7,7 +7,7 @@ namespace CalculatorApp { - namespace ViewModel + namespace ViewModelNative { [Windows::UI::Xaml::Data::Bindable] public ref class HistoryItemViewModel sealed { diff --git a/src/CalcViewModel/HistoryViewModel.cpp b/src/CalcViewModel/HistoryViewModel.cpp index 0953486d..fc81acb7 100644 --- a/src/CalcViewModel/HistoryViewModel.cpp +++ b/src/CalcViewModel/HistoryViewModel.cpp @@ -9,9 +9,9 @@ #include "StandardCalculatorViewModel.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::Common::Automation; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::Common::Automation; +using namespace CalculatorApp::ViewModelNative; using namespace Platform; using namespace std; using namespace Windows::Foundation; diff --git a/src/CalcViewModel/HistoryViewModel.h b/src/CalcViewModel/HistoryViewModel.h index a09360ed..3be89100 100644 --- a/src/CalcViewModel/HistoryViewModel.h +++ b/src/CalcViewModel/HistoryViewModel.h @@ -13,14 +13,14 @@ namespace CalculatorApp { namespace CM = CalculationManager; - namespace ViewModel + namespace ViewModelNative { ref class StandardCalculatorViewModel; public delegate void HideHistoryClickedHandler(); public - delegate void HistoryItemClickedHandler(CalculatorApp::ViewModel::HistoryItemViewModel ^ e); + delegate void HistoryItemClickedHandler(CalculatorApp::ViewModelNative::HistoryItemViewModel ^ e); [Windows::UI::Xaml::Data::Bindable] public ref class HistoryViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { @@ -28,7 +28,7 @@ namespace CalculatorApp OBSERVABLE_OBJECT(); OBSERVABLE_PROPERTY_R(Windows::Foundation::Collections::IObservableVector ^, Items); OBSERVABLE_PROPERTY_RW(bool, AreHistoryShortcutsEnabled); - OBSERVABLE_PROPERTY_R(CalculatorApp::ViewModel::Common::Automation::NarratorAnnouncement ^, HistoryAnnouncement); + OBSERVABLE_PROPERTY_R(CalculatorApp::ViewModelNative::Common::Automation::NarratorAnnouncement ^, HistoryAnnouncement); property int ItemsCount { int get() @@ -47,9 +47,9 @@ namespace CalculatorApp // events that are created event HideHistoryClickedHandler ^ HideHistoryClicked; event HistoryItemClickedHandler ^ HistoryItemClicked; - void ShowItem(_In_ CalculatorApp::ViewModel::HistoryItemViewModel ^ e); - void DeleteItem(_In_ CalculatorApp::ViewModel::HistoryItemViewModel ^ e); - void ReloadHistory(_In_ CalculatorApp::ViewModel::Common::ViewMode currentMode); + void ShowItem(_In_ CalculatorApp::ViewModelNative::HistoryItemViewModel ^ e); + void DeleteItem(_In_ CalculatorApp::ViewModelNative::HistoryItemViewModel ^ e); + void ReloadHistory(_In_ CalculatorApp::ViewModelNative::Common::ViewMode currentMode); internal : HistoryViewModel(_In_ CalculationManager::CalculatorManager* calculatorManager); void SetCalculatorDisplay(Common::CalculatorDisplay& calculatorDisplay); diff --git a/src/CalcViewModel/MemoryItemViewModel.cpp b/src/CalcViewModel/MemoryItemViewModel.cpp index 9600e773..60d70861 100644 --- a/src/CalcViewModel/MemoryItemViewModel.cpp +++ b/src/CalcViewModel/MemoryItemViewModel.cpp @@ -6,9 +6,9 @@ #include "StandardCalculatorViewModel.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::Common::Automation; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::Common::Automation; +using namespace CalculatorApp::ViewModelNative; using namespace Platform; using namespace std; using namespace Windows::Foundation; diff --git a/src/CalcViewModel/MemoryItemViewModel.h b/src/CalcViewModel/MemoryItemViewModel.h index fc5dce0c..9997ab14 100644 --- a/src/CalcViewModel/MemoryItemViewModel.h +++ b/src/CalcViewModel/MemoryItemViewModel.h @@ -7,7 +7,7 @@ namespace CalculatorApp { - namespace ViewModel + namespace ViewModelNative { ref class StandardCalculatorViewModel; diff --git a/src/CalcViewModel/StandardCalculatorViewModel.cpp b/src/CalcViewModel/StandardCalculatorViewModel.cpp index 22554ca6..6141e637 100644 --- a/src/CalcViewModel/StandardCalculatorViewModel.cpp +++ b/src/CalcViewModel/StandardCalculatorViewModel.cpp @@ -10,9 +10,9 @@ #include "Common/TraceLogger.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::Common::Automation; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::Common::Automation; +using namespace CalculatorApp::ViewModelNative; using namespace CalculationManager; using namespace concurrency; using namespace Platform; @@ -1732,7 +1732,7 @@ ViewMode StandardCalculatorViewModel::GetCalculatorMode() return ViewMode::Programmer; } -void StandardCalculatorViewModel::ValueBitLength::set(CalculatorApp::ViewModel::Common::BitLength value) +void StandardCalculatorViewModel::ValueBitLength::set(CalculatorApp::ViewModelNative::Common::BitLength value) { if (m_valueBitLength != value) { diff --git a/src/CalcViewModel/StandardCalculatorViewModel.h b/src/CalcViewModel/StandardCalculatorViewModel.h index 0af82478..466844fd 100644 --- a/src/CalcViewModel/StandardCalculatorViewModel.h +++ b/src/CalcViewModel/StandardCalculatorViewModel.h @@ -22,14 +22,14 @@ namespace CalculatorApp namespace WS = Windows::System; namespace CM = CalculationManager; - namespace ViewModel + namespace ViewModelNative { #define ASCII_0 48 public delegate void HideMemoryClickedHandler(); public value struct ButtonInfo { - CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum buttonId; + CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum buttonId; bool canSendNegate; }; @@ -73,12 +73,12 @@ namespace CalculatorApp OBSERVABLE_PROPERTY_R(Platform::String ^, CalculationResultAutomationName); OBSERVABLE_PROPERTY_R(Platform::String ^, CalculationExpressionAutomationName); OBSERVABLE_PROPERTY_R(bool, IsShiftProgrammerChecked); - OBSERVABLE_PROPERTY_R(CalculatorApp::ViewModel::Common::NumberBase, CurrentRadixType); + OBSERVABLE_PROPERTY_R(CalculatorApp::ViewModelNative::Common::NumberBase, CurrentRadixType); OBSERVABLE_PROPERTY_R(bool, AreTokensUpdated); OBSERVABLE_PROPERTY_R(bool, AreAlwaysOnTopResultsUpdated); OBSERVABLE_PROPERTY_R(bool, AreProgrammerRadixOperatorsVisible); OBSERVABLE_PROPERTY_R(bool, IsInputEmpty); - OBSERVABLE_PROPERTY_R(CalculatorApp::ViewModel::Common::Automation::NarratorAnnouncement ^, Announcement); + OBSERVABLE_PROPERTY_R(CalculatorApp::ViewModelNative::Common::Automation::NarratorAnnouncement ^, Announcement); OBSERVABLE_PROPERTY_R(unsigned int, OpenParenthesisCount); COMMAND_FOR_METHOD(CopyCommand, StandardCalculatorViewModel::OnCopyCommand); @@ -111,13 +111,13 @@ namespace CalculatorApp static property Platform::String ^ IsBitFlipCheckedPropertyName { Platform::String ^ get() { return Platform::StringReference(L"IsBitFlipChecked"); } } - property CalculatorApp::ViewModel::Common::BitLength ValueBitLength + property CalculatorApp::ViewModelNative::Common::BitLength ValueBitLength { - CalculatorApp::ViewModel::Common::BitLength get() + CalculatorApp::ViewModelNative::Common::BitLength get() { return m_valueBitLength; } - void set(CalculatorApp::ViewModel::Common::BitLength value); + void set(CalculatorApp::ViewModelNative::Common::BitLength value); } property bool IsStandard @@ -253,10 +253,10 @@ namespace CalculatorApp void OnMemoryClear(_In_ Platform::Object ^ memoryItemPosition); void SelectHistoryItem(HistoryItemViewModel ^ item); - void SwitchProgrammerModeBase(CalculatorApp::ViewModel::Common::NumberBase calculatorBase); + void SwitchProgrammerModeBase(CalculatorApp::ViewModelNative::Common::NumberBase calculatorBase); void SetBitshiftRadioButtonCheckedAnnouncement(Platform::String ^ announcement); void SetOpenParenthesisCountNarratorAnnouncement(); - void SwitchAngleType(CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum num); + void SwitchAngleType(CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum num); void FtoEButtonToggled(); internal: @@ -277,7 +277,7 @@ namespace CalculatorApp Platform::String ^ GetLocalizedStringFormat(Platform::String ^ format, Platform::String ^ displayValue); void OnPropertyChanged(Platform::String ^ propertyname); - void SetCalculatorType(CalculatorApp::ViewModel::Common::ViewMode targetState); + void SetCalculatorType(CalculatorApp::ViewModelNative::Common::ViewMode targetState); Platform::String ^ GetRawDisplayValue(); void Recalculate(bool fromHistory = false); @@ -290,7 +290,7 @@ namespace CalculatorApp { m_standardCalculatorManager.UpdateMaxIntDigits(); } - CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum GetCurrentAngleType() + CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum GetCurrentAngleType() { return m_CurrentAngleType; } @@ -307,12 +307,12 @@ namespace CalculatorApp _Inout_ std::shared_ptr>> const& tokens, _Inout_ std::shared_ptr>> const& commands); void SetTokens(_Inout_ std::shared_ptr>> const& tokens); - CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum ConvertIntegerToNumbersAndOperatorsEnum(unsigned int parameter); - static RadixType GetRadixTypeFromNumberBase(CalculatorApp::ViewModel::Common::NumberBase base); - CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum m_CurrentAngleType; + CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum ConvertIntegerToNumbersAndOperatorsEnum(unsigned int parameter); + static RadixType GetRadixTypeFromNumberBase(CalculatorApp::ViewModelNative::Common::NumberBase base); + CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum m_CurrentAngleType; wchar_t m_decimalSeparator; - CalculatorApp::ViewModel::Common::CalculatorDisplay m_calculatorDisplay; - CalculatorApp::ViewModel::Common::EngineResourceProvider m_resourceProvider; + CalculatorApp::ViewModelNative::Common::CalculatorDisplay m_calculatorDisplay; + CalculatorApp::ViewModelNative::Common::EngineResourceProvider m_resourceProvider; CalculationManager::CalculatorManager m_standardCalculatorManager; Platform::String ^ m_expressionAutomationNameFormat; Platform::String ^ m_localizedCalculationResultAutomationFormat; @@ -339,18 +339,18 @@ namespace CalculatorApp bool m_isRtlLanguage; bool m_operandUpdated; bool m_isLastOperationHistoryLoad; - CalculatorApp::ViewModel::Common::BitLength m_valueBitLength; + CalculatorApp::ViewModelNative::Common::BitLength m_valueBitLength; Platform::String ^ m_selectedExpressionLastData; Common::DisplayExpressionToken ^ m_selectedExpressionToken; Platform::String ^ LocalizeDisplayValue(_In_ std::wstring const& displayValue); Platform::String ^ CalculateNarratorDisplayValue(_In_ std::wstring const& displayValue, _In_ Platform::String ^ localizedDisplayValue); - CalculatorApp::ViewModel::Common::Automation::NarratorAnnouncement ^ GetDisplayUpdatedNarratorAnnouncement(); + CalculatorApp::ViewModelNative::Common::Automation::NarratorAnnouncement ^ GetDisplayUpdatedNarratorAnnouncement(); Platform::String ^ GetCalculatorExpressionAutomationName(); Platform::String ^ GetNarratorStringReadRawNumbers(_In_ Platform::String ^ localizedDisplayValue); - CalculationManager::Command ConvertToOperatorsEnum(CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum operation); + CalculationManager::Command ConvertToOperatorsEnum(CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum operation); void DisableButtons(CalculationManager::CommandType selectedExpressionCommandType); Platform::String ^ m_feedbackForButtonPress; @@ -371,9 +371,9 @@ namespace CalculatorApp void SaveEditedCommand(_In_ unsigned int index, _In_ CalculationManager::Command command); - CalculatorApp::ViewModel::Common::ViewMode GetCalculatorMode(); + CalculatorApp::ViewModelNative::Common::ViewMode GetCalculatorMode(); - friend class CalculatorApp::ViewModel::Common::CalculatorDisplay; + friend class CalculatorApp::ViewModelNative::Common::CalculatorDisplay; friend class CalculatorUnitTests::MultiWindowUnitTests; }; } diff --git a/src/CalcViewModel/UnitConverterViewModel.cpp b/src/CalcViewModel/UnitConverterViewModel.cpp index 47848538..118d278a 100644 --- a/src/CalcViewModel/UnitConverterViewModel.cpp +++ b/src/CalcViewModel/UnitConverterViewModel.cpp @@ -15,10 +15,10 @@ #include "DataLoaders/UnitConverterDataLoader.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::Common::Automation; -using namespace CalculatorApp::ViewModel::DataLoaders; +using namespace CalculatorApp::ViewModelNative; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::Common::Automation; +using namespace CalculatorApp::ViewModelNative::DataLoaders; using namespace concurrency; using namespace Platform; using namespace Platform::Collections; @@ -76,7 +76,7 @@ namespace StringReference SupplementaryVisibilityPropertyName(L"SupplementaryVisibility"); } -namespace CalculatorApp::ViewModel::DataLoaders::UnitConverterResourceKeys +namespace CalculatorApp::ViewModelNative::DataLoaders::UnitConverterResourceKeys { StringReference ValueFromFormat(L"Format_ValueFrom"); StringReference ValueFromDecimalFormat(L"Format_ValueFrom_Decimal"); diff --git a/src/CalcViewModel/UnitConverterViewModel.h b/src/CalcViewModel/UnitConverterViewModel.h index 64c75162..18b0a181 100644 --- a/src/CalcViewModel/UnitConverterViewModel.h +++ b/src/CalcViewModel/UnitConverterViewModel.h @@ -12,7 +12,7 @@ namespace CalculatorApp { - namespace ViewModel + namespace ViewModelNative { [Windows::UI::Xaml::Data::Bindable] public ref class Category sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { @@ -116,7 +116,7 @@ namespace CalculatorApp OBSERVABLE_OBJECT(); OBSERVABLE_PROPERTY_R(Platform::String ^, Value); - OBSERVABLE_PROPERTY_R(CalculatorApp::ViewModel::Unit ^, Unit); + OBSERVABLE_PROPERTY_R(CalculatorApp::ViewModelNative::Unit ^, Unit); }; public interface class IActivatable @@ -161,7 +161,7 @@ namespace CalculatorApp OBSERVABLE_OBJECT_CALLBACK(OnPropertyChanged); OBSERVABLE_PROPERTY_R(Windows::Foundation::Collections::IObservableVector ^, Categories); - OBSERVABLE_PROPERTY_RW(CalculatorApp::ViewModel::Common::ViewMode, Mode); + OBSERVABLE_PROPERTY_RW(CalculatorApp::ViewModelNative::Common::ViewMode, Mode); OBSERVABLE_PROPERTY_R(Windows::Foundation::Collections::IObservableVector ^, Units); OBSERVABLE_PROPERTY_RW(Platform::String ^, CurrencySymbol1); OBSERVABLE_PROPERTY_RW(Unit ^, Unit1); @@ -176,7 +176,7 @@ namespace CalculatorApp OBSERVABLE_PROPERTY_RW(Platform::String ^, Value2AutomationName); OBSERVABLE_PROPERTY_RW(Platform::String ^, Unit1AutomationName); OBSERVABLE_PROPERTY_RW(Platform::String ^, Unit2AutomationName); - OBSERVABLE_PROPERTY_RW(CalculatorApp::ViewModel::Common::Automation::NarratorAnnouncement ^, Announcement); + OBSERVABLE_PROPERTY_RW(CalculatorApp::ViewModelNative::Common::Automation::NarratorAnnouncement ^, Announcement); OBSERVABLE_PROPERTY_RW(bool, IsDecimalEnabled); OBSERVABLE_PROPERTY_RW(bool, IsDropDownOpen); OBSERVABLE_PROPERTY_RW(bool, IsDropDownEnabled); @@ -185,7 +185,7 @@ namespace CalculatorApp OBSERVABLE_PROPERTY_RW(Platform::String ^, CurrencyRatioEquality); OBSERVABLE_PROPERTY_RW(Platform::String ^, CurrencyRatioEqualityAutomationName); OBSERVABLE_PROPERTY_RW(Platform::String ^, CurrencyTimestamp); - OBSERVABLE_NAMED_PROPERTY_RW(CalculatorApp::ViewModel::Common::NetworkAccessBehavior, NetworkBehavior); + OBSERVABLE_NAMED_PROPERTY_RW(CalculatorApp::ViewModelNative::Common::NetworkAccessBehavior, NetworkBehavior); OBSERVABLE_NAMED_PROPERTY_RW(bool, CurrencyDataLoadFailed); OBSERVABLE_NAMED_PROPERTY_RW(bool, CurrencyDataIsWeekOld); @@ -203,7 +203,7 @@ namespace CalculatorApp if (value != nullptr) { auto currentCategory = value->GetModelCategory(); - IsCurrencyCurrentCategory = currentCategory.id == CalculatorApp::ViewModel::Common::NavCategoryStates::Serialize(CalculatorApp::ViewModel::Common::ViewMode::Currency); + IsCurrencyCurrentCategory = currentCategory.id == CalculatorApp::ViewModelNative::Common::NavCategoryStates::Serialize(CalculatorApp::ViewModelNative::Common::ViewMode::Currency); } RaisePropertyChanged("CurrentCategory"); } @@ -241,7 +241,7 @@ namespace CalculatorApp internal : void ResetView(); void PopulateData(); - CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum MapCharacterToButtonId(const wchar_t ch, bool& canSendNegate); + CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum MapCharacterToButtonId(const wchar_t ch, bool& canSendNegate); void DisplayPasteError(); void OnCopyCommand(Platform::Object ^ parameter); @@ -275,7 +275,7 @@ namespace CalculatorApp void OnCurrencyDataLoadFinished(bool didLoad); void OnCurrencyTimestampUpdated(_In_ const std::wstring& timestamp, bool isWeekOld); - void OnNetworkBehaviorChanged(_In_ CalculatorApp::ViewModel::Common::NetworkAccessBehavior newBehavior); + void OnNetworkBehaviorChanged(_In_ CalculatorApp::ViewModelNative::Common::NetworkAccessBehavior newBehavior); const std::wstring& GetValueFromUnlocalized() const { @@ -301,7 +301,7 @@ namespace CalculatorApp void OnCategoryChanged(Platform::Object ^ unused); void OnUnitChanged(Platform::Object ^ unused); void OnSwitchActive(Platform::Object ^ unused); - UnitConversionManager::Command CommandFromButtonId(CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum button); + UnitConversionManager::Command CommandFromButtonId(CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum button); void SupplementaryResultsTimerTick(Windows::System::Threading::ThreadPoolTimer ^ timer); void SupplementaryResultsTimerCancel(Windows::System::Threading::ThreadPoolTimer ^ timer); void RefreshSupplementaryResults(); @@ -468,7 +468,7 @@ namespace CalculatorApp void NetworkBehaviorChanged(_In_ int newBehavior) override { - m_viewModel->OnNetworkBehaviorChanged(static_cast(newBehavior)); + m_viewModel->OnNetworkBehaviorChanged(static_cast(newBehavior)); } private: diff --git a/src/Calculator.sln b/src/Calculator.sln index 9458f929..9249a50b 100644 --- a/src/Calculator.sln +++ b/src/Calculator.sln @@ -29,6 +29,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TraceLogging", "TraceLoggin EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CalcViewModelCopyForUT", "CalcViewModelCopyForUT\CalcViewModelCopyForUT.vcxproj", "{CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CalculatorApp.ViewModel", "CalculatorApp.ViewModel\CalculatorApp.ViewModel.csproj", "{081F0C62-AEAC-47E8-92BC-AD6945F24192}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CalculatorApp.ViewModel.Tests", "CalculatorApp.ViewModel.Tests\CalculatorApp.ViewModel.Tests.csproj", "{3A73F66F-05D7-43CB-8E75-441D7508D943}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -41,6 +45,30 @@ Global Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM.ActiveCfg = Debug|ARM + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM.Build.0 = Debug|ARM + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM.Deploy.0 = Debug|ARM + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM64.Build.0 = Debug|ARM64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x64.ActiveCfg = Debug|x64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x64.Build.0 = Debug|x64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x64.Deploy.0 = Debug|x64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x86.ActiveCfg = Debug|x86 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x86.Build.0 = Debug|x86 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x86.Deploy.0 = Debug|x86 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM.ActiveCfg = Release|ARM + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM.Build.0 = Release|ARM + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM.Deploy.0 = Release|ARM + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM64.ActiveCfg = Release|ARM64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM64.Build.0 = Release|ARM64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM64.Deploy.0 = Release|ARM64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x64.ActiveCfg = Release|x64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x64.Build.0 = Release|x64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x64.Deploy.0 = Release|x64 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.ActiveCfg = Release|x86 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.Build.0 = Release|x86 + {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.Deploy.0 = Release|x86 {311E866D-8B93-4609-A691-265941FEE101}.Debug|ARM.ActiveCfg = Debug|ARM {311E866D-8B93-4609-A691-265941FEE101}.Debug|ARM.Build.0 = Debug|ARM {311E866D-8B93-4609-A691-265941FEE101}.Debug|ARM64.ActiveCfg = Debug|ARM64 @@ -169,30 +197,6 @@ Global {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|x64.Build.0 = Release|x64 {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|x86.ActiveCfg = Release|Win32 {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|x86.Build.0 = Release|Win32 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM.ActiveCfg = Debug|ARM - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM.Build.0 = Debug|ARM - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM.Deploy.0 = Debug|ARM - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM64.Build.0 = Debug|ARM64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|ARM64.Deploy.0 = Debug|ARM64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x64.ActiveCfg = Debug|x64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x64.Build.0 = Debug|x64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x64.Deploy.0 = Debug|x64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x86.ActiveCfg = Debug|x86 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x86.Build.0 = Debug|x86 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Debug|x86.Deploy.0 = Debug|x86 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM.ActiveCfg = Release|ARM - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM.Build.0 = Release|ARM - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM.Deploy.0 = Release|ARM - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM64.ActiveCfg = Release|ARM64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM64.Build.0 = Release|ARM64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|ARM64.Deploy.0 = Release|ARM64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x64.ActiveCfg = Release|x64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x64.Build.0 = Release|x64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x64.Deploy.0 = Release|x64 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.ActiveCfg = Release|x86 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.Build.0 = Release|x86 - {3B773403-B0D6-4F9A-948E-512A7A5FB315}.Release|x86.Deploy.0 = Release|x86 {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|ARM.ActiveCfg = Debug|ARM {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|ARM.Build.0 = Debug|ARM {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Debug|ARM64.ActiveCfg = Debug|ARM64 @@ -207,6 +211,46 @@ Global {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|x64.Build.0 = Release|x64 {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|x86.ActiveCfg = Release|Win32 {CC9B4FA7-D746-4F52-9401-0AD1B4D6B16D}.Release|x86.Build.0 = Release|Win32 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Debug|ARM.ActiveCfg = Debug|ARM + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Debug|ARM.Build.0 = Debug|ARM + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Debug|ARM64.Build.0 = Debug|ARM64 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Debug|x64.ActiveCfg = Debug|x64 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Debug|x64.Build.0 = Debug|x64 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Debug|x86.ActiveCfg = Debug|x86 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Debug|x86.Build.0 = Debug|x86 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Release|ARM.ActiveCfg = Release|ARM + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Release|ARM.Build.0 = Release|ARM + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Release|ARM64.ActiveCfg = Release|ARM64 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Release|ARM64.Build.0 = Release|ARM64 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Release|x64.ActiveCfg = Release|x64 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Release|x64.Build.0 = Release|x64 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Release|x86.ActiveCfg = Release|x86 + {081F0C62-AEAC-47E8-92BC-AD6945F24192}.Release|x86.Build.0 = Release|x86 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|ARM.ActiveCfg = Debug|ARM + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|ARM.Build.0 = Debug|ARM + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|ARM.Deploy.0 = Debug|ARM + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|ARM64.Build.0 = Debug|ARM64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|ARM64.Deploy.0 = Debug|ARM64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|x64.ActiveCfg = Debug|x64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|x64.Build.0 = Debug|x64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|x64.Deploy.0 = Debug|x64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|x86.ActiveCfg = Debug|x86 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|x86.Build.0 = Debug|x86 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Debug|x86.Deploy.0 = Debug|x86 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|ARM.ActiveCfg = Release|ARM + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|ARM.Build.0 = Release|ARM + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|ARM.Deploy.0 = Release|ARM + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|ARM64.ActiveCfg = Release|ARM64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|ARM64.Build.0 = Release|ARM64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|ARM64.Deploy.0 = Release|ARM64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|x64.ActiveCfg = Release|x64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|x64.Build.0 = Release|x64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|x64.Deploy.0 = Release|x64 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|x86.ActiveCfg = Release|x86 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|x86.Build.0 = Release|x86 + {3A73F66F-05D7-43CB-8E75-441D7508D943}.Release|x86.Deploy.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Calculator/App.xaml.cs b/src/Calculator/App.xaml.cs index d6006bcf..0d94ed32 100644 --- a/src/Calculator/App.xaml.cs +++ b/src/Calculator/App.xaml.cs @@ -6,8 +6,8 @@ // Declaration of the App class. // -using CalculatorApp.ViewModel.Common; -using CalculatorApp.ViewModel.Common.Automation; +using CalculatorApp.ViewModelNative.Common; +using CalculatorApp.ViewModelNative.Common.Automation; using System; using System.Collections.Generic; diff --git a/src/Calculator/Calculator.csproj b/src/Calculator/Calculator.csproj index aa7e1f17..01948119 100644 --- a/src/Calculator/Calculator.csproj +++ b/src/Calculator/Calculator.csproj @@ -797,6 +797,10 @@ + + {081f0c62-aeac-47e8-92bc-ad6945f24192} + CalculatorApp.ViewModel + {812d1a7b-b8ac-49e4-8e6d-af5d59500d56} CalcViewModel diff --git a/src/Calculator/Common/AppLifecycleLogger.cs b/src/Calculator/Common/AppLifecycleLogger.cs index c35730a9..0ca101ec 100644 --- a/src/Calculator/Common/AppLifecycleLogger.cs +++ b/src/Calculator/Common/AppLifecycleLogger.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System; diff --git a/src/Calculator/Common/KeyboardShortcutManager.cs b/src/Calculator/Common/KeyboardShortcutManager.cs index f9918b4b..9e694775 100644 --- a/src/Calculator/Common/KeyboardShortcutManager.cs +++ b/src/Calculator/Common/KeyboardShortcutManager.cs @@ -1,8 +1,10 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel; using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; +using Utilities = CalculatorApp.ViewModel.Common.Utilities; using System; using System.Collections.Generic; diff --git a/src/Calculator/Controls/CalculationResult.cs b/src/Calculator/Controls/CalculationResult.cs index 07f02992..1751b6d6 100644 --- a/src/Calculator/Controls/CalculationResult.cs +++ b/src/Calculator/Controls/CalculationResult.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System; using System.Diagnostics; diff --git a/src/Calculator/Controls/CalculatorButton.cs b/src/Calculator/Controls/CalculatorButton.cs index eae30f2c..766755e8 100644 --- a/src/Calculator/Controls/CalculatorButton.cs +++ b/src/Calculator/Controls/CalculatorButton.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using Windows.System; using Windows.UI.Xaml; diff --git a/src/Calculator/Controls/EquationTextBox.cs b/src/Calculator/Controls/EquationTextBox.cs index 84943124..b4bfabe7 100644 --- a/src/Calculator/Controls/EquationTextBox.cs +++ b/src/Calculator/Controls/EquationTextBox.cs @@ -1,7 +1,7 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using Windows.UI.Text; using Windows.UI.Xaml; diff --git a/src/Calculator/Controls/FlipButtons.cs b/src/Calculator/Controls/FlipButtons.cs index 53aa866b..8e9576fd 100644 --- a/src/Calculator/Controls/FlipButtons.cs +++ b/src/Calculator/Controls/FlipButtons.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using Windows.System; using Windows.UI.Xaml; diff --git a/src/Calculator/Controls/RadixButton.cs b/src/Calculator/Controls/RadixButton.cs index 42316e4d..5a3959b5 100644 --- a/src/Calculator/Controls/RadixButton.cs +++ b/src/Calculator/Controls/RadixButton.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; namespace CalculatorApp { diff --git a/src/Calculator/Controls/SupplementaryItemsControl.cs b/src/Calculator/Controls/SupplementaryItemsControl.cs index 90a5ffef..7d2ab184 100644 --- a/src/Calculator/Controls/SupplementaryItemsControl.cs +++ b/src/Calculator/Controls/SupplementaryItemsControl.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel; +using CalculatorApp.ViewModelNative; using System.Collections.Generic; diff --git a/src/Calculator/Converters/ExpressionItemTemplateSelector.cs b/src/Calculator/Converters/ExpressionItemTemplateSelector.cs index 086a9012..668fc059 100644 --- a/src/Calculator/Converters/ExpressionItemTemplateSelector.cs +++ b/src/Calculator/Converters/ExpressionItemTemplateSelector.cs @@ -1,7 +1,7 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System; @@ -19,7 +19,7 @@ namespace CalculatorApp DisplayExpressionToken token = (item as DisplayExpressionToken); if (token != null) { - CalculatorApp.ViewModel.Common.TokenType type = token.Type; + CalculatorApp.ViewModelNative.Common.TokenType type = token.Type; switch (type) { diff --git a/src/Calculator/Converters/RadixToStringConverter.cs b/src/Calculator/Converters/RadixToStringConverter.cs index 8c18fc56..024b083a 100644 --- a/src/Calculator/Converters/RadixToStringConverter.cs +++ b/src/Calculator/Converters/RadixToStringConverter.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System; diff --git a/src/Calculator/Selectors/KeyGraphFeaturesTemplateSelector.cs b/src/Calculator/Selectors/KeyGraphFeaturesTemplateSelector.cs index ebf67527..f799b84a 100644 --- a/src/Calculator/Selectors/KeyGraphFeaturesTemplateSelector.cs +++ b/src/Calculator/Selectors/KeyGraphFeaturesTemplateSelector.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel; +using CalculatorApp.ViewModelNative; using Windows.UI.Xaml; diff --git a/src/Calculator/Selectors/NavViewMenuItemTemplateSelector.cs b/src/Calculator/Selectors/NavViewMenuItemTemplateSelector.cs index 7df420bf..ec73caf7 100644 --- a/src/Calculator/Selectors/NavViewMenuItemTemplateSelector.cs +++ b/src/Calculator/Selectors/NavViewMenuItemTemplateSelector.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System; diff --git a/src/Calculator/Utils/DelegateCommandUtils.cs b/src/Calculator/Utils/DelegateCommandUtils.cs index 1bda982e..932e7054 100644 --- a/src/Calculator/Utils/DelegateCommandUtils.cs +++ b/src/Calculator/Utils/DelegateCommandUtils.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System; diff --git a/src/Calculator/Views/Calculator.xaml b/src/Calculator/Views/Calculator.xaml index d26dd34b..5a5125cc 100644 --- a/src/Calculator/Views/Calculator.xaml +++ b/src/Calculator/Views/Calculator.xaml @@ -1,8 +1,8 @@ (StandardCalculatorViewModel)this.DataContext; + public CalculatorApp.ViewModelNative.StandardCalculatorViewModel Model => (StandardCalculatorViewModel)this.DataContext; public bool IsStandard { @@ -155,7 +155,7 @@ namespace CalculatorApp } } - public void InitializeHistoryView(CalculatorApp.ViewModel.HistoryViewModel historyVM) + public void InitializeHistoryView(CalculatorApp.ViewModelNative.HistoryViewModel historyVM) { if (m_historyList == null) { diff --git a/src/Calculator/Views/CalculatorProgrammerBitFlipPanel.xaml.cs b/src/Calculator/Views/CalculatorProgrammerBitFlipPanel.xaml.cs index ce03110f..66191107 100644 --- a/src/Calculator/Views/CalculatorProgrammerBitFlipPanel.xaml.cs +++ b/src/Calculator/Views/CalculatorProgrammerBitFlipPanel.xaml.cs @@ -9,8 +9,8 @@ // The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236 using CalculatorApp.Controls; -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using System.Diagnostics; diff --git a/src/Calculator/Views/CalculatorProgrammerDisplayPanel.xaml.cs b/src/Calculator/Views/CalculatorProgrammerDisplayPanel.xaml.cs index 3d87273f..e611dc1d 100644 --- a/src/Calculator/Views/CalculatorProgrammerDisplayPanel.xaml.cs +++ b/src/Calculator/Views/CalculatorProgrammerDisplayPanel.xaml.cs @@ -1,5 +1,5 @@ using CalculatorApp.Utils; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System.Diagnostics; using System.Windows.Input; @@ -32,12 +32,12 @@ namespace CalculatorApp private ICommand donotuse_BitLengthButtonPressed; - public ViewModel.StandardCalculatorViewModel Model + public ViewModelNative.StandardCalculatorViewModel Model { get { - Debug.Assert(DataContext as ViewModel.StandardCalculatorViewModel != null, "static_cast result must NOT be null"); - return DataContext as ViewModel.StandardCalculatorViewModel; + Debug.Assert(DataContext as ViewModelNative.StandardCalculatorViewModel != null, "static_cast result must NOT be null"); + return DataContext as ViewModelNative.StandardCalculatorViewModel; } } diff --git a/src/Calculator/Views/CalculatorProgrammerOperators.xaml.cs b/src/Calculator/Views/CalculatorProgrammerOperators.xaml.cs index 8ae5fb99..669754e3 100644 --- a/src/Calculator/Views/CalculatorProgrammerOperators.xaml.cs +++ b/src/Calculator/Views/CalculatorProgrammerOperators.xaml.cs @@ -1,9 +1,9 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved.using CalculatorApp.ViewModel.Common; // Licensed under the MIT License. using CalculatorApp.Controls; -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using System.Diagnostics; diff --git a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.cs b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.cs index 076e5fda..c8d5b6c8 100644 --- a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.cs +++ b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.cs @@ -1,8 +1,8 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; diff --git a/src/Calculator/Views/CalculatorScientificAngleButtons.xaml b/src/Calculator/Views/CalculatorScientificAngleButtons.xaml index 990f9220..6ac575e6 100644 --- a/src/Calculator/Views/CalculatorScientificAngleButtons.xaml +++ b/src/Calculator/Views/CalculatorScientificAngleButtons.xaml @@ -3,7 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Controls="using:CalculatorApp.Controls" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - xmlns:local="using:CalculatorApp.ViewModel.Common" + xmlns:local="using:CalculatorApp.ViewModelNative.Common" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" x:Name="ControlRoot" d:DesignHeight="315" diff --git a/src/Calculator/Views/CalculatorScientificAngleButtons.xaml.cs b/src/Calculator/Views/CalculatorScientificAngleButtons.xaml.cs index 464c9ce8..b3998695 100644 --- a/src/Calculator/Views/CalculatorScientificAngleButtons.xaml.cs +++ b/src/Calculator/Views/CalculatorScientificAngleButtons.xaml.cs @@ -7,8 +7,8 @@ // using CalculatorApp.Utils; -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using Windows.UI.Xaml; diff --git a/src/Calculator/Views/CalculatorScientificOperators.xaml.cs b/src/Calculator/Views/CalculatorScientificOperators.xaml.cs index 7a1be787..666b390e 100644 --- a/src/Calculator/Views/CalculatorScientificOperators.xaml.cs +++ b/src/Calculator/Views/CalculatorScientificOperators.xaml.cs @@ -7,8 +7,8 @@ // using CalculatorApp.Common; -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using Windows.UI.Xaml; diff --git a/src/Calculator/Views/DateCalculator.xaml.cs b/src/Calculator/Views/DateCalculator.xaml.cs index b62eff1a..e37cecf8 100644 --- a/src/Calculator/Views/DateCalculator.xaml.cs +++ b/src/Calculator/Views/DateCalculator.xaml.cs @@ -8,8 +8,8 @@ // The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236 -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using System; diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index b04f5736..af4f596f 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -9,7 +9,7 @@ xmlns:local="using:CalculatorApp" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mux="using:Microsoft.UI.Xaml.Controls" - xmlns:vm="using:CalculatorApp.ViewModel" + xmlns:vm="using:CalculatorApp.ViewModelNative" d:DesignHeight="300" d:DesignWidth="400" mc:Ignorable="d"> @@ -136,14 +136,14 @@ Grid.Column="1" Margin="8,0,8,-6" VerticalAlignment="Center" + contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}" DataContext="{x:Bind}" SmallChange="{x:Bind Step, Mode=TwoWay}" StepFrequency="{x:Bind Step, Mode=TwoWay}" ValueChanged="Slider_ValueChanged" Value="{x:Bind Value, Mode=TwoWay}" Maximum="{x:Bind Max, Mode=TwoWay}" - Minimum="{x:Bind Min, Mode=TwoWay}" - contract7Present:CornerRadius="{ThemeResource ControlCornerRadius}"/> + Minimum="{x:Bind Min, Mode=TwoWay}"/> Equations + public Windows.Foundation.Collections.IObservableVector Equations { get => m_Equations; set @@ -65,9 +65,9 @@ namespace CalculatorApp } } } - private Windows.Foundation.Collections.IObservableVector m_Equations; + private Windows.Foundation.Collections.IObservableVector m_Equations; - public Windows.Foundation.Collections.IObservableVector Variables + public Windows.Foundation.Collections.IObservableVector Variables { get => m_Variables; set @@ -79,7 +79,7 @@ namespace CalculatorApp } } } - private Windows.Foundation.Collections.IObservableVector m_Variables; + private Windows.Foundation.Collections.IObservableVector m_Variables; public ObservableCollection AvailableColors { @@ -110,7 +110,7 @@ namespace CalculatorApp } private bool m_IsMatchAppTheme; - public event System.EventHandler KeyGraphFeaturesRequested; + public event System.EventHandler KeyGraphFeaturesRequested; public event System.EventHandler EquationFormatRequested; public static Visibility ManageEditVariablesButtonVisibility(uint numberOfVariables) @@ -415,7 +415,7 @@ namespace CalculatorApp var eq = GetViewModelFromEquationTextBox(sender); eq.IsLineEnabled = !eq.IsLineEnabled; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogShowHideButtonClicked(!eq.IsLineEnabled); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogShowHideButtonClicked(!eq.IsLineEnabled); } private void EquationTextBox_Loaded(object sender, RoutedEventArgs e) @@ -503,20 +503,20 @@ namespace CalculatorApp { val = validateDouble(sender.Text, variableViewModel.Value); variableViewModel.Value = val; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogVariableChanged("ValueTextBox", variableViewModel.Name); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogVariableChanged("ValueTextBox", variableViewModel.Name); } else if (sender.Name == "MinTextBox") { val = validateDouble(sender.Text, variableViewModel.Min); variableViewModel.Min = val; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogVariableSettingsChanged("MinTextBox"); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogVariableSettingsChanged("MinTextBox"); } else if (sender.Name == "MaxTextBox") { val = validateDouble(sender.Text, variableViewModel.Max); variableViewModel.Max = val; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogVariableSettingsChanged("MaxTextBox"); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogVariableSettingsChanged("MaxTextBox"); } else if (sender.Name == "StepTextBox") { @@ -529,7 +529,7 @@ namespace CalculatorApp } variableViewModel.Step = val; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogVariableSettingsChanged("StepTextBox"); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogVariableSettingsChanged("StepTextBox"); } else { @@ -589,7 +589,7 @@ namespace CalculatorApp DispatcherTimerDelayer delayer = new DispatcherTimerDelayer(timeSpan); delayer.Action += (s, arg) => { - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogVariableChanged("Slider", name); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogVariableChanged("Slider", name); variableSliders.Remove(name); }; delayer.Start(); @@ -636,7 +636,7 @@ namespace CalculatorApp private int m_lastLineColorIndex; private int m_lastFunctionLabelIndex; private bool m_isHighContrast; - private ViewModel.EquationViewModel m_equationToFocus; + private ViewModelNative.EquationViewModel m_equationToFocus; private SortedDictionary variableSliders; } } diff --git a/src/Calculator/Views/GraphingCalculator/EquationStylePanelControl.xaml.cs b/src/Calculator/Views/GraphingCalculator/EquationStylePanelControl.xaml.cs index 58b5f7a9..ef971d20 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationStylePanelControl.xaml.cs +++ b/src/Calculator/Views/GraphingCalculator/EquationStylePanelControl.xaml.cs @@ -1,4 +1,4 @@ -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using GraphControl; @@ -239,7 +239,7 @@ namespace CalculatorApp SelectedColor = brush.Color; } - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphLineStyleChanged(LineStyleType.Color); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphLineStyleChanged(LineStyleType.Color); } } @@ -284,7 +284,7 @@ namespace CalculatorApp if (oldStyle != newStyle) { SelectStyle(newStyle); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphLineStyleChanged(LineStyleType.Pattern); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphLineStyleChanged(LineStyleType.Pattern); } } diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cs b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cs index 80f206b4..28969628 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cs +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cs @@ -4,9 +4,9 @@ using CalculatorApp.Common; using CalculatorApp.Controls; using CalculatorApp.Utils; -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; -using CalculatorApp.ViewModel.Common.Automation; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; +using CalculatorApp.ViewModelNative.Common.Automation; using GraphControl; @@ -86,13 +86,13 @@ namespace CalculatorApp if (isMatchAppLocalSetting) { IsMatchAppTheme = true; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphTheme("IsMatchAppTheme"); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphTheme("IsMatchAppTheme"); } } else { IsMatchAppTheme = false; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphTheme("IsAlwaysLightTheme"); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphTheme("IsAlwaysLightTheme"); } } @@ -200,7 +200,7 @@ namespace CalculatorApp } private bool m_IsManualAdjustment; - public CalculatorApp.ViewModel.GraphingCalculatorViewModel ViewModel + public CalculatorApp.ViewModelNative.GraphingCalculatorViewModel ViewModel { get => m_viewModel; set @@ -327,13 +327,13 @@ namespace CalculatorApp private void OnZoomInCommand(object parameter) { GraphingControl.ZoomFromCenter(zoomInScale); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.ZoomIn, GraphButtonValue.None); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.ZoomIn, GraphButtonValue.None); } private void OnZoomOutCommand(object parameter) { GraphingControl.ZoomFromCenter(zoomOutScale); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.ZoomOut, GraphButtonValue.None); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.ZoomOut, GraphButtonValue.None); } private void OnShareClick(object sender, RoutedEventArgs e) @@ -342,7 +342,7 @@ namespace CalculatorApp try { DataTransferManager.ShowShareUI(); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.Share, GraphButtonValue.None); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.Share, GraphButtonValue.None); } catch (System.Runtime.InteropServices.COMException ex) { @@ -351,7 +351,7 @@ namespace CalculatorApp if (ex.HResult == unchecked(rpc_e_servercall_retrylater)) { ShowShareError(); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogPlatformExceptionInfo(ViewMode.Graphing, System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message, ex.HResult); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogPlatformExceptionInfo(ViewMode.Graphing, System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message, ex.HResult); } else { @@ -495,7 +495,7 @@ namespace CalculatorApp catch (Exception ex) { ShowShareError(); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogPlatformExceptionInfo(ViewMode.Graphing, System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message, ex.HResult); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogPlatformExceptionInfo(ViewMode.Graphing, System.Reflection.MethodBase.GetCurrentMethod().Name, ex.Message, ex.HResult); } } @@ -627,7 +627,7 @@ namespace CalculatorApp KeyboardShortcutManager.IgnoreEscape(false); TracePointer.Visibility = Visibility.Visible; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.ActiveTracingChecked, GraphButtonValue.None); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.ActiveTracingChecked, GraphButtonValue.None); } private void ActiveTracing_Unchecked(object sender, RoutedEventArgs e) @@ -637,7 +637,7 @@ namespace CalculatorApp KeyboardShortcutManager.HonorEscape(); TracePointer.Visibility = Visibility.Collapsed; - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.ActiveTracingUnchecked, GraphButtonValue.None); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.ActiveTracingUnchecked, GraphButtonValue.None); } private void ActiveTracing_KeyUp(CoreWindow sender, KeyEventArgs args) @@ -664,7 +664,7 @@ namespace CalculatorApp private void GraphSettingsButton_Click(object sender, RoutedEventArgs e) { DisplayGraphSettings(); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.GraphSettings, GraphButtonValue.None); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphButtonClicked(GraphButton.GraphSettings, GraphButtonValue.None); } private void SwitchModeToggleButton_Toggled(object sender, RoutedEventArgs e) @@ -802,7 +802,7 @@ namespace CalculatorApp private const string sc_ViewModelPropertyName = "ViewModel"; private const string sc_IsGraphThemeMatchApp = "IsGraphThemeMatchApp"; - private CalculatorApp.ViewModel.GraphingCalculatorViewModel m_viewModel; + private CalculatorApp.ViewModelNative.GraphingCalculatorViewModel m_viewModel; private readonly Windows.UI.ViewManagement.AccessibilitySettings m_accessibilitySettings; private bool m_cursorShadowInitialized; private readonly Windows.UI.ViewManagement.UISettings m_uiSettings; @@ -851,7 +851,7 @@ namespace CalculatorApp private void OnVisualStateChanged(object sender, VisualStateChangedEventArgs e) { - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogVisualStateChanged(ViewMode.Graphing, e.NewState.Name, false); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogVisualStateChanged(ViewMode.Graphing, e.NewState.Name, false); } private void GraphViewButton_Click(object sender, RoutedEventArgs e) @@ -872,7 +872,7 @@ namespace CalculatorApp var announcement = CalculatorAnnouncement.GetGraphViewBestFitChangedAnnouncement(announcementText); narratorNotifier.Announce(announcement); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphButtonClicked( + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphButtonClicked( GraphButton.GraphView, IsManualAdjustment ? GraphButtonValue.ManualAdjustment : GraphButtonValue.AutomaticBestFit); } diff --git a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cs b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cs index 20091a1c..995517b4 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cs +++ b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cs @@ -1,7 +1,7 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System; using System.Collections.Generic; @@ -124,7 +124,7 @@ namespace CalculatorApp if (mathRichEdit != null && sender != null) { var id = button.ButtonId; - TraceLogger.GetInstance().UpdateButtonUsage(id, CalculatorApp.ViewModel.Common.ViewMode.Graphing); + TraceLogger.GetInstance().UpdateButtonUsage(id, CalculatorApp.ViewModelNative.Common.ViewMode.Graphing); Tuple output = GraphingNumPad.GetButtonOutput(id); mathRichEdit.InsertText(output.Item1, output.Item2, output.Item3); } @@ -136,7 +136,7 @@ namespace CalculatorApp if (mathRichEdit != null) { mathRichEdit.SubmitEquation(CalculatorApp.Controls.EquationSubmissionSource.ENTER_KEY); - TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Submit, CalculatorApp.ViewModel.Common.ViewMode.Graphing); + TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Submit, CalculatorApp.ViewModelNative.Common.ViewMode.Graphing); } } @@ -153,7 +153,7 @@ namespace CalculatorApp mathRichEdit.SubmitEquation(CalculatorApp.Controls.EquationSubmissionSource.PROGRAMMATIC); } - TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Clear, CalculatorApp.ViewModel.Common.ViewMode.Graphing); + TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Clear, CalculatorApp.ViewModelNative.Common.ViewMode.Graphing); } } @@ -163,7 +163,7 @@ namespace CalculatorApp if (mathRichEdit != null) { mathRichEdit.BackSpace(); - TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Backspace, CalculatorApp.ViewModel.Common.ViewMode.Graphing); + TraceLogger.GetInstance().UpdateButtonUsage(NumbersAndOperatorsEnum.Backspace, CalculatorApp.ViewModelNative.Common.ViewMode.Graphing); } } diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cs b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cs index d847408c..8a38fdc8 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cs +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cs @@ -5,8 +5,8 @@ //using Graphing; -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using Windows.Storage; using Windows.System; @@ -25,7 +25,7 @@ namespace CalculatorApp InitializeComponent(); } - public CalculatorApp.ViewModel.GraphingSettingsViewModel ViewModel { get; set; } + public CalculatorApp.ViewModelNative.GraphingSettingsViewModel ViewModel { get; set; } public bool IsMatchAppTheme { @@ -112,7 +112,7 @@ namespace CalculatorApp ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings; localSettings.Values["IsGraphThemeMatchApp"] = isMatchAppTheme; GraphThemeSettingChanged?.Invoke(this, isMatchAppTheme); - CalculatorApp.ViewModel.Common.TraceLogger.GetInstance().LogGraphSettingsChanged(GraphSettingsType.Theme, propertyName); + CalculatorApp.ViewModelNative.Common.TraceLogger.GetInstance().LogGraphSettingsChanged(GraphSettingsType.Theme, propertyName); } private bool m_IsMatchAppTheme; diff --git a/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml b/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml index adb18e81..b5c5eccb 100644 --- a/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml +++ b/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml @@ -8,7 +8,7 @@ xmlns:local="using:CalculatorApp" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:ts="using:CalculatorApp.TemplateSelectors" - xmlns:vm="using:CalculatorApp.ViewModel" + xmlns:vm="using:CalculatorApp.ViewModelNative" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" mc:Ignorable="d"> diff --git a/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml.cs b/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml.cs index 784d51d4..43a4a5ae 100644 --- a/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml.cs +++ b/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml.cs @@ -23,7 +23,7 @@ namespace CalculatorApp #endif } - public CalculatorApp.ViewModel.EquationViewModel ViewModel + public CalculatorApp.ViewModelNative.EquationViewModel ViewModel { get => m_viewModel; set @@ -54,6 +54,6 @@ namespace CalculatorApp KeyGraphFeaturesClosed?.Invoke(this, new RoutedEventArgs()); } - private CalculatorApp.ViewModel.EquationViewModel m_viewModel; + private CalculatorApp.ViewModelNative.EquationViewModel m_viewModel; } } diff --git a/src/Calculator/Views/HistoryList.xaml b/src/Calculator/Views/HistoryList.xaml index f8051cf2..382a5eef 100644 --- a/src/Calculator/Views/HistoryList.xaml +++ b/src/Calculator/Views/HistoryList.xaml @@ -1,12 +1,12 @@ (CalculatorApp.ViewModel.HistoryViewModel)DataContext; + public CalculatorApp.ViewModelNative.HistoryViewModel Model => (CalculatorApp.ViewModelNative.HistoryViewModel)DataContext; public void ScrollToBottom() { diff --git a/src/Calculator/Views/MainPage.xaml b/src/Calculator/Views/MainPage.xaml index be31db11..7e1e7a58 100644 --- a/src/Calculator/Views/MainPage.xaml +++ b/src/Calculator/Views/MainPage.xaml @@ -1,14 +1,14 @@ - + Content="{x:Bind Name}" + Tag="{x:Bind ViewMode}" + IsEnabled="{x:Bind IsEnabled, Mode=OneWay}"> - + Content="{x:Bind Name}"/> + CategoryGroupItemTemplate="{StaticResource NavViewCategoryGroupItemDataTemplate}" + CategoryItemTemplate="{StaticResource NavViewCategoryItemDataTemplate}"/> @@ -119,11 +119,11 @@ IsSettingsVisible="True" ItemInvoked="OnNavItemInvoked" Loaded="OnNavLoaded" - MenuItemsSource="{x:Bind NavViewCategoriesSource, Mode=OneWay}" MenuItemTemplateSelector="{StaticResource NavViewMenuItemTemplateSelector}" + MenuItemsSource="{x:Bind NavViewCategoriesSource, Mode=OneWay}" OpenPaneLength="{x:Bind NavigationViewOpenPaneLength(Model.IsAlwaysOnTop), Mode=OneWay}" - PaneDisplayMode="LeftMinimal" PaneClosed="OnNavPaneClosed" + PaneDisplayMode="LeftMinimal" PaneOpened="OnNavPaneOpened" SelectionChanged="OnNavSelectionChanged" TabIndex="1" diff --git a/src/Calculator/Views/MainPage.xaml.cs b/src/Calculator/Views/MainPage.xaml.cs index a20c92d9..7a8c34fe 100644 --- a/src/Calculator/Views/MainPage.xaml.cs +++ b/src/Calculator/Views/MainPage.xaml.cs @@ -1,8 +1,8 @@ using CalculatorApp.Common; using CalculatorApp.Converters; -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; -using CalculatorApp.ViewModel.Common.Automation; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; +using CalculatorApp.ViewModelNative.Common.Automation; using System; using System.Collections.Generic; diff --git a/src/Calculator/Views/Memory.xaml b/src/Calculator/Views/Memory.xaml index 1c476f9f..40e02b55 100644 --- a/src/Calculator/Views/Memory.xaml +++ b/src/Calculator/Views/Memory.xaml @@ -7,7 +7,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="using:CalculatorApp" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:model="using:CalculatorApp.ViewModel" + xmlns:model="using:CalculatorApp.ViewModelNative" x:Name="MemoryList" FlowDirection="LeftToRight" mc:Ignorable="d"> diff --git a/src/Calculator/Views/Memory.xaml.cs b/src/Calculator/Views/Memory.xaml.cs index d327727a..5f93cf67 100644 --- a/src/Calculator/Views/Memory.xaml.cs +++ b/src/Calculator/Views/Memory.xaml.cs @@ -1,5 +1,5 @@ -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; @@ -17,7 +17,7 @@ namespace CalculatorApp MemoryPaneEmpty.FlowDirection = LocalizationService.GetInstance().GetFlowDirection(); } - public CalculatorApp.ViewModel.StandardCalculatorViewModel Model => (CalculatorApp.ViewModel.StandardCalculatorViewModel)this.DataContext; + public CalculatorApp.ViewModelNative.StandardCalculatorViewModel Model => (CalculatorApp.ViewModelNative.StandardCalculatorViewModel)this.DataContext; public GridLength RowHeight { diff --git a/src/Calculator/Views/MemoryListItem.xaml.cs b/src/Calculator/Views/MemoryListItem.xaml.cs index 1a104e16..92e13530 100644 --- a/src/Calculator/Views/MemoryListItem.xaml.cs +++ b/src/Calculator/Views/MemoryListItem.xaml.cs @@ -1,4 +1,4 @@ -using Windows.UI.Xaml; +using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; // The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236 @@ -13,15 +13,15 @@ namespace CalculatorApp InitializeComponent(); } - public CalculatorApp.ViewModel.MemoryItemViewModel Model + public CalculatorApp.ViewModelNative.MemoryItemViewModel Model { - get => (CalculatorApp.ViewModel.MemoryItemViewModel)GetValue(ModelProperty); + get => (CalculatorApp.ViewModelNative.MemoryItemViewModel)GetValue(ModelProperty); set => SetValue(ModelProperty, value); } // Using a DependencyProperty as the backing store for Model. This enables animation, styling, binding, etc... public static readonly DependencyProperty ModelProperty = - DependencyProperty.Register(nameof(Model), typeof(CalculatorApp.ViewModel.MemoryItemViewModel), typeof(MemoryListItem), new PropertyMetadata(default(CalculatorApp.ViewModel.MemoryItemViewModel))); + DependencyProperty.Register(nameof(Model), typeof(CalculatorApp.ViewModelNative.MemoryItemViewModel), typeof(MemoryListItem), new PropertyMetadata(default(CalculatorApp.ViewModelNative.MemoryItemViewModel))); protected override void OnPointerEntered(Windows.UI.Xaml.Input.PointerRoutedEventArgs e) { diff --git a/src/Calculator/Views/NumberPad.xaml.cs b/src/Calculator/Views/NumberPad.xaml.cs index 0f766bdc..1bf26a9d 100644 --- a/src/Calculator/Views/NumberPad.xaml.cs +++ b/src/Calculator/Views/NumberPad.xaml.cs @@ -1,4 +1,4 @@ -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; @@ -39,15 +39,15 @@ namespace CalculatorApp public static readonly DependencyProperty ButtonStyleProperty = DependencyProperty.Register(nameof(ButtonStyle), typeof(Windows.UI.Xaml.Style), typeof(NumberPad), new PropertyMetadata(default(Windows.UI.Xaml.Style))); - public CalculatorApp.ViewModel.Common.NumberBase CurrentRadixType + public CalculatorApp.ViewModelNative.Common.NumberBase CurrentRadixType { - get => (CalculatorApp.ViewModel.Common.NumberBase)GetValue(CurrentRadixTypeProperty); + get => (CalculatorApp.ViewModelNative.Common.NumberBase)GetValue(CurrentRadixTypeProperty); set => SetValue(CurrentRadixTypeProperty, value); } // Using a DependencyProperty as the backing store for CurrentRadixType. This enables animation, styling, binding, etc... public static readonly DependencyProperty CurrentRadixTypeProperty = - DependencyProperty.Register(nameof(CurrentRadixType), typeof(CalculatorApp.ViewModel.Common.NumberBase), typeof(NumberPad), new PropertyMetadata(CalculatorApp.ViewModel.Common.NumberBase.DecBase, (sender, args) => + DependencyProperty.Register(nameof(CurrentRadixType), typeof(CalculatorApp.ViewModelNative.Common.NumberBase), typeof(NumberPad), new PropertyMetadata(CalculatorApp.ViewModelNative.Common.NumberBase.DecBase, (sender, args) => { var self = (NumberPad)sender; self.OnCurrentRadixTypePropertyChanged((NumberBase)args.OldValue, (NumberBase)args.NewValue); diff --git a/src/Calculator/Views/OperatorsPanel.xaml.cs b/src/Calculator/Views/OperatorsPanel.xaml.cs index ece4588a..419387a9 100644 --- a/src/Calculator/Views/OperatorsPanel.xaml.cs +++ b/src/Calculator/Views/OperatorsPanel.xaml.cs @@ -1,4 +1,4 @@ -using Windows.UI.Xaml; +using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; // The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236 @@ -8,7 +8,7 @@ namespace CalculatorApp [Windows.Foundation.Metadata.WebHostHidden] public sealed partial class OperatorsPanel : UserControl { - public CalculatorApp.ViewModel.StandardCalculatorViewModel Model => (CalculatorApp.ViewModel.StandardCalculatorViewModel)DataContext; + public CalculatorApp.ViewModelNative.StandardCalculatorViewModel Model => (CalculatorApp.ViewModelNative.StandardCalculatorViewModel)DataContext; public OperatorsPanel() { diff --git a/src/Calculator/Views/Settings.xaml b/src/Calculator/Views/Settings.xaml index e25dc4de..9cc50dcf 100644 --- a/src/Calculator/Views/Settings.xaml +++ b/src/Calculator/Views/Settings.xaml @@ -1,7 +1,7 @@ diff --git a/src/Calculator/Views/SupplementaryResults.xaml.cs b/src/Calculator/Views/SupplementaryResults.xaml.cs index e01a1f06..1ab4efac 100644 --- a/src/Calculator/Views/SupplementaryResults.xaml.cs +++ b/src/Calculator/Views/SupplementaryResults.xaml.cs @@ -1,4 +1,4 @@ -using CalculatorApp.ViewModel; +using CalculatorApp.ViewModelNative; using System; using System.Collections.Generic; @@ -93,14 +93,14 @@ namespace CalculatorApp InitializeComponent(); } - public IEnumerable Results + public IEnumerable Results { - get => (IEnumerable)GetValue(ResultsProperty); + get => (IEnumerable)GetValue(ResultsProperty); set => SetValue(ResultsProperty, value); } // Using a DependencyProperty as the backing store for Results. This enables animation, styling, binding, etc... public static readonly DependencyProperty ResultsProperty = - DependencyProperty.Register(nameof(Results), typeof(IEnumerable), typeof(SupplementaryResult), new PropertyMetadata(null)); + DependencyProperty.Register(nameof(Results), typeof(IEnumerable), typeof(SupplementaryResult), new PropertyMetadata(null)); } } diff --git a/src/Calculator/Views/TitleBar.xaml.cs b/src/Calculator/Views/TitleBar.xaml.cs index 30baf0a2..c8299807 100644 --- a/src/Calculator/Views/TitleBar.xaml.cs +++ b/src/Calculator/Views/TitleBar.xaml.cs @@ -1,4 +1,4 @@ -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using Windows.ApplicationModel.Core; using Windows.System.Profile; diff --git a/src/Calculator/Views/UnitConverter.xaml b/src/Calculator/Views/UnitConverter.xaml index 0d31720b..60cb050a 100644 --- a/src/Calculator/Views/UnitConverter.xaml +++ b/src/Calculator/Views/UnitConverter.xaml @@ -1,7 +1,7 @@ - + diff --git a/src/Calculator/Views/UnitConverter.xaml.cs b/src/Calculator/Views/UnitConverter.xaml.cs index c1a7dc44..035b6918 100644 --- a/src/Calculator/Views/UnitConverter.xaml.cs +++ b/src/Calculator/Views/UnitConverter.xaml.cs @@ -1,7 +1,7 @@ using CalculatorApp.Common; using CalculatorApp.Controls; -using CalculatorApp.ViewModel; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative; +using CalculatorApp.ViewModelNative.Common; using System; using System.ComponentModel; @@ -20,7 +20,7 @@ using Windows.UI.Xaml.Input; namespace CalculatorApp { - internal class Activatable : ViewModel.IActivatable + internal class Activatable : ViewModelNative.IActivatable { public Activatable(Func getter, Action setter) { @@ -80,7 +80,7 @@ namespace CalculatorApp } } - public CalculatorApp.ViewModel.UnitConverterViewModel Model => (CalculatorApp.ViewModel.UnitConverterViewModel)this.DataContext; + public CalculatorApp.ViewModelNative.UnitConverterViewModel Model => (CalculatorApp.ViewModelNative.UnitConverterViewModel)this.DataContext; public Windows.UI.Xaml.FlowDirection LayoutDirection { get; } = default; diff --git a/src/Calculator/WindowFrameService.cs b/src/Calculator/WindowFrameService.cs index 55f5c7d8..ecb1056a 100644 --- a/src/Calculator/WindowFrameService.cs +++ b/src/Calculator/WindowFrameService.cs @@ -2,7 +2,7 @@ // Licensed under the MIT License. using CalculatorApp.Common; -using CalculatorApp.ViewModel.Common; +using CalculatorApp.ViewModelNative.Common; using System; using System.Collections.Generic; diff --git a/src/CalculatorApp.ViewModel.Tests/Assets/LockScreenLogo.scale-200.png b/src/CalculatorApp.ViewModel.Tests/Assets/LockScreenLogo.scale-200.png new file mode 100644 index 00000000..bfd1b0db Binary files /dev/null and b/src/CalculatorApp.ViewModel.Tests/Assets/LockScreenLogo.scale-200.png differ diff --git a/src/CalculatorApp.ViewModel.Tests/Assets/SplashScreen.scale-200.png b/src/CalculatorApp.ViewModel.Tests/Assets/SplashScreen.scale-200.png new file mode 100644 index 00000000..df84c551 Binary files /dev/null and b/src/CalculatorApp.ViewModel.Tests/Assets/SplashScreen.scale-200.png differ diff --git a/src/CalculatorApp.ViewModel.Tests/Assets/Square150x150Logo.scale-200.png b/src/CalculatorApp.ViewModel.Tests/Assets/Square150x150Logo.scale-200.png new file mode 100644 index 00000000..f6e5483e Binary files /dev/null and b/src/CalculatorApp.ViewModel.Tests/Assets/Square150x150Logo.scale-200.png differ diff --git a/src/CalculatorApp.ViewModel.Tests/Assets/Square44x44Logo.scale-200.png b/src/CalculatorApp.ViewModel.Tests/Assets/Square44x44Logo.scale-200.png new file mode 100644 index 00000000..f786a941 Binary files /dev/null and b/src/CalculatorApp.ViewModel.Tests/Assets/Square44x44Logo.scale-200.png differ diff --git a/src/CalculatorApp.ViewModel.Tests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png b/src/CalculatorApp.ViewModel.Tests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png new file mode 100644 index 00000000..4f54c88a Binary files /dev/null and b/src/CalculatorApp.ViewModel.Tests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png differ diff --git a/src/CalculatorApp.ViewModel.Tests/Assets/StoreLogo.png b/src/CalculatorApp.ViewModel.Tests/Assets/StoreLogo.png new file mode 100644 index 00000000..fc77f1a4 Binary files /dev/null and b/src/CalculatorApp.ViewModel.Tests/Assets/StoreLogo.png differ diff --git a/src/CalculatorApp.ViewModel.Tests/Assets/Wide310x150Logo.scale-200.png b/src/CalculatorApp.ViewModel.Tests/Assets/Wide310x150Logo.scale-200.png new file mode 100644 index 00000000..ad540a43 Binary files /dev/null and b/src/CalculatorApp.ViewModel.Tests/Assets/Wide310x150Logo.scale-200.png differ diff --git a/src/CalculatorApp.ViewModel.Tests/CalculatorApp.ViewModel.Tests.csproj b/src/CalculatorApp.ViewModel.Tests/CalculatorApp.ViewModel.Tests.csproj new file mode 100644 index 00000000..6e214844 --- /dev/null +++ b/src/CalculatorApp.ViewModel.Tests/CalculatorApp.ViewModel.Tests.csproj @@ -0,0 +1,202 @@ + + + + + Debug + x86 + {3A73F66F-05D7-43CB-8E75-441D7508D943} + AppContainerExe + Properties + CalculatorApp.ViewModel.Tests + CalculatorApp.ViewModel.Tests + en-US + UAP + 10.0.22000.0 + 10.0.19041.0 + 14 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + $(VisualStudioVersion) + CalculatorApp.ViewModel.Tests + true + true + WindowsDev_TemporaryKey.pfx + + + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x86 + false + prompt + true + + + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x86 + false + prompt + true + true + + + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM + false + prompt + true + + + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM + false + prompt + true + true + + + true + bin\ARM64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + ARM64 + false + prompt + true + true + + + bin\ARM64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + ARM64 + false + prompt + true + true + + + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + x64 + false + prompt + true + + + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + x64 + false + prompt + true + true + + + PackageReference + + + + + + + + UnitTestApp.xaml + + + + + + MSBuild:Compile + Designer + + + + + Designer + + + + + + + + + + + + + + + + + Designer + + + + + + + + 6.2.14 + + + 2.2.10 + + + 2.2.10 + + + + + {081f0c62-aeac-47e8-92bc-ad6945f24192} + CalculatorApp.ViewModel + + + {812d1a7b-b8ac-49e4-8e6d-af5d59500d56} + CalcViewModel + + + {e727a92b-f149-492c-8117-c039a298719b} + GraphControl + + + {fc81ff41-02cd-4cd9-9bc5-45a1e39ac6ed} + TraceLogging + + + + 14.0 + + + + diff --git a/src/CalculatorApp.ViewModel.Tests/Package.appxmanifest b/src/CalculatorApp.ViewModel.Tests/Package.appxmanifest new file mode 100644 index 00000000..4e6d4414 --- /dev/null +++ b/src/CalculatorApp.ViewModel.Tests/Package.appxmanifest @@ -0,0 +1,37 @@ + + + + + + CalculatorApp.ViewModel.Tests + Microsoft Corporation + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + diff --git a/src/CalculatorApp.ViewModel.Tests/Properties/AssemblyInfo.cs b/src/CalculatorApp.ViewModel.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..4d2c193a --- /dev/null +++ b/src/CalculatorApp.ViewModel.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,13 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("CalculatorApp.ViewModel.Tests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft Corporation")] +[assembly: AssemblyProduct("Microsoft Calculator")] +[assembly: AssemblyCopyright("Copyright © Microsoft Corporation. All rights reserved.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] diff --git a/src/CalculatorApp.ViewModel.Tests/Properties/Default.rd.xml b/src/CalculatorApp.ViewModel.Tests/Properties/Default.rd.xml new file mode 100644 index 00000000..996a8392 --- /dev/null +++ b/src/CalculatorApp.ViewModel.Tests/Properties/Default.rd.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/CalculatorApp.ViewModel.Tests/UnitTestApp.xaml b/src/CalculatorApp.ViewModel.Tests/UnitTestApp.xaml new file mode 100644 index 00000000..33903874 --- /dev/null +++ b/src/CalculatorApp.ViewModel.Tests/UnitTestApp.xaml @@ -0,0 +1,7 @@ + + + diff --git a/src/CalculatorApp.ViewModel.Tests/UnitTestApp.xaml.cs b/src/CalculatorApp.ViewModel.Tests/UnitTestApp.xaml.cs new file mode 100644 index 00000000..6ba8b054 --- /dev/null +++ b/src/CalculatorApp.ViewModel.Tests/UnitTestApp.xaml.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices.WindowsRuntime; +using Windows.ApplicationModel; +using Windows.ApplicationModel.Activation; +using Windows.Foundation; +using Windows.Foundation.Collections; +using Windows.UI.Xaml; +using Windows.UI.Xaml.Controls; +using Windows.UI.Xaml.Controls.Primitives; +using Windows.UI.Xaml.Data; +using Windows.UI.Xaml.Input; +using Windows.UI.Xaml.Media; +using Windows.UI.Xaml.Navigation; + +namespace CalculatorApp.ViewModel.Tests +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + sealed partial class App : Application + { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + this.Suspending += OnSuspending; + } + + /// + /// Invoked when the application is launched normally by the end user. Other entry points + /// will be used such as when the application is launched to open a specific file. + /// + /// Details about the launch request and process. + protected override void OnLaunched(LaunchActivatedEventArgs e) + { + +#if DEBUG + if (System.Diagnostics.Debugger.IsAttached) + { + this.DebugSettings.EnableFrameRateCounter = true; + } +#endif + + Frame rootFrame = Window.Current.Content as Frame; + + // Do not repeat app initialization when the Window already has content, + // just ensure that the window is active + if (rootFrame == null) + { + // Create a Frame to act as the navigation context and navigate to the first page + rootFrame = new Frame(); + + rootFrame.NavigationFailed += OnNavigationFailed; + + if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) + { + //TODO: Load state from previously suspended application + } + + // Place the frame in the current Window + Window.Current.Content = rootFrame; + } + + Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.CreateDefaultUI(); + + // Ensure the current window is active + Window.Current.Activate(); + + Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.Run(e.Arguments); + } + + /// + /// Invoked when Navigation to a certain page fails + /// + /// The Frame which failed navigation + /// Details about the navigation failure + void OnNavigationFailed(object sender, NavigationFailedEventArgs e) + { + throw new Exception("Failed to load Page " + e.SourcePageType.FullName); + } + + /// + /// Invoked when application execution is being suspended. Application state is saved + /// without knowing whether the application will be terminated or resumed with the contents + /// of memory still intact. + /// + /// The source of the suspend request. + /// Details about the suspend request. + private void OnSuspending(object sender, SuspendingEventArgs e) + { + var deferral = e.SuspendingOperation.GetDeferral(); + //TODO: Save application state and stop any background activity + deferral.Complete(); + } + } +} diff --git a/src/CalculatorApp.ViewModel.Tests/UtilitiesTests.cs b/src/CalculatorApp.ViewModel.Tests/UtilitiesTests.cs new file mode 100644 index 00000000..1febd580 --- /dev/null +++ b/src/CalculatorApp.ViewModel.Tests/UtilitiesTests.cs @@ -0,0 +1,15 @@ +using CalculatorApp.ViewModel.Common; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace CalculatorApp.ViewModel.Tests +{ + [TestClass] + public class UtilitiesTests + { + [TestMethod] + public void NoCoreWindowOnThread_WindowIdIsNegative1() + { + Assert.AreEqual(-1, Utilities.GetWindowId()); + } + } +} diff --git a/src/CalculatorApp.ViewModel.Tests/WindowsDev_TemporaryKey.pfx b/src/CalculatorApp.ViewModel.Tests/WindowsDev_TemporaryKey.pfx new file mode 100644 index 00000000..555456ae Binary files /dev/null and b/src/CalculatorApp.ViewModel.Tests/WindowsDev_TemporaryKey.pfx differ diff --git a/src/CalculatorApp.ViewModel/CalculatorApp.ViewModel.csproj b/src/CalculatorApp.ViewModel/CalculatorApp.ViewModel.csproj new file mode 100644 index 00000000..4afeea4b --- /dev/null +++ b/src/CalculatorApp.ViewModel/CalculatorApp.ViewModel.csproj @@ -0,0 +1,134 @@ + + + + + Debug + x86 + {081F0C62-AEAC-47E8-92BC-AD6945F24192} + Library + Properties + CalculatorApp.ViewModel + CalculatorApp.ViewModel + en-US + UAP + 10.0.22000.0 + 10.0.17763.0 + 14 + 512 + {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + x86 + true + bin\x86\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + x86 + bin\x86\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + + + ARM + true + bin\ARM\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + ARM + bin\ARM\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + + + ARM64 + true + bin\ARM64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + ARM64 + bin\ARM64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + + + x64 + true + bin\x64\Debug\ + DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP + ;2008 + full + false + prompt + + + x64 + bin\x64\Release\ + TRACE;NETFX_CORE;WINDOWS_UWP + true + ;2008 + pdbonly + false + prompt + + + PackageReference + + + + + + + + + 6.2.14 + + + + + {812d1a7b-b8ac-49e4-8e6d-af5d59500d56} + CalcViewModel + + + {fc81ff41-02cd-4cd9-9bc5-45a1e39ac6ed} + TraceLogging + + + + 14.0 + + + + diff --git a/src/CalculatorApp.ViewModel/Common/Utilities.cs b/src/CalculatorApp.ViewModel/Common/Utilities.cs new file mode 100644 index 00000000..513fac4b --- /dev/null +++ b/src/CalculatorApp.ViewModel/Common/Utilities.cs @@ -0,0 +1,24 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +using Windows.UI.Core; +using Windows.UI.ViewManagement; + +namespace CalculatorApp.ViewModel.Common +{ + public static class Utilities + { + public static int GetWindowId() + { + int windowId = -1; + + var window = CoreWindow.GetForCurrentThread(); + if (window != null) + { + windowId = ApplicationView.GetApplicationViewIdForWindow(window); + } + + return windowId; + } + } +} diff --git a/src/CalculatorApp.ViewModel/Properties/AssemblyInfo.cs b/src/CalculatorApp.ViewModel/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..c4f3ac17 --- /dev/null +++ b/src/CalculatorApp.ViewModel/Properties/AssemblyInfo.cs @@ -0,0 +1,13 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +[assembly: AssemblyTitle("CalculatorApp.ViewModel")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft Corporation")] +[assembly: AssemblyProduct("Microsoft Calculator")] +[assembly: AssemblyCopyright("Copyright © Microsoft Corporation. All rights reserved.")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] diff --git a/src/CalculatorApp.ViewModel/Properties/Calculator.ViewModel.rd.xml b/src/CalculatorApp.ViewModel/Properties/Calculator.ViewModel.rd.xml new file mode 100644 index 00000000..bd2ebdb4 --- /dev/null +++ b/src/CalculatorApp.ViewModel/Properties/Calculator.ViewModel.rd.xml @@ -0,0 +1,33 @@ + + + + + + + + + diff --git a/src/CalculatorUnitTests/CalcEngineTests.cpp b/src/CalculatorUnitTests/CalcEngineTests.cpp index 8c658f5b..fc98252f 100644 --- a/src/CalculatorUnitTests/CalcEngineTests.cpp +++ b/src/CalculatorUnitTests/CalcEngineTests.cpp @@ -8,7 +8,7 @@ using namespace std; using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace CalculationManager; using namespace Microsoft::VisualStudio::CppUnitTestFramework; diff --git a/src/CalculatorUnitTests/CalculatorManagerTest.cpp b/src/CalculatorUnitTests/CalculatorManagerTest.cpp index aa1b0fe9..d6b1f9ed 100644 --- a/src/CalculatorUnitTests/CalculatorManagerTest.cpp +++ b/src/CalculatorUnitTests/CalculatorManagerTest.cpp @@ -10,7 +10,7 @@ #include "CalcManager/NumberFormattingUtils.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace CalculationManager; using namespace UnitConversionManager::NumberFormattingUtils; using namespace Platform; diff --git a/src/CalculatorUnitTests/CopyPasteManagerTest.cpp b/src/CalculatorUnitTests/CopyPasteManagerTest.cpp index 086713ec..c88fa7e0 100644 --- a/src/CalculatorUnitTests/CopyPasteManagerTest.cpp +++ b/src/CalculatorUnitTests/CopyPasteManagerTest.cpp @@ -10,8 +10,8 @@ using namespace CalculationManager; using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Platform; using namespace Platform::Collections; using namespace std; diff --git a/src/CalculatorUnitTests/CurrencyConverterUnitTests.cpp b/src/CalculatorUnitTests/CurrencyConverterUnitTests.cpp index 54f5193b..83ae8b0d 100644 --- a/src/CalculatorUnitTests/CurrencyConverterUnitTests.cpp +++ b/src/CalculatorUnitTests/CurrencyConverterUnitTests.cpp @@ -7,10 +7,10 @@ #include "CalcViewModel/DataLoaders/CurrencyDataLoader.h" #include "CalcViewModel/Common/LocalizationService.h" -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel::Common::LocalizationServiceProperties; -using namespace CalculatorApp::ViewModel::DataLoaders; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative::Common::LocalizationServiceProperties; +using namespace CalculatorApp::ViewModelNative::DataLoaders; +using namespace CalculatorApp::ViewModelNative; using namespace CalculatorUnitTests; using namespace Concurrency; using namespace Platform; @@ -21,7 +21,7 @@ using namespace Windows::Storage; using namespace Windows::Web::Http; using namespace Microsoft::VisualStudio::CppUnitTestFramework; -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace DataLoaders { diff --git a/src/CalculatorUnitTests/DateCalculatorUnitTests.cpp b/src/CalculatorUnitTests/DateCalculatorUnitTests.cpp index 2d3d0a88..9331f320 100644 --- a/src/CalculatorUnitTests/DateCalculatorUnitTests.cpp +++ b/src/CalculatorUnitTests/DateCalculatorUnitTests.cpp @@ -13,8 +13,8 @@ using namespace std; using namespace Windows::Foundation; using namespace Windows::Globalization; using namespace Windows::Globalization::DateTimeFormatting; -using namespace CalculatorApp::ViewModel::Common::DateCalculation; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common::DateCalculation; +using namespace CalculatorApp::ViewModelNative; using namespace Microsoft::VisualStudio::CppUnitTestFramework; namespace DateCalculationUnitTests diff --git a/src/CalculatorUnitTests/Helpers.h b/src/CalculatorUnitTests/Helpers.h index 4bdaa8dd..91de22b2 100644 --- a/src/CalculatorUnitTests/Helpers.h +++ b/src/CalculatorUnitTests/Helpers.h @@ -15,7 +15,7 @@ namespace CalculatorUnitTests typedef struct item { - CalculatorApp::ViewModel::Common::NumbersAndOperatorsEnum command; + CalculatorApp::ViewModelNative::Common::NumbersAndOperatorsEnum command; std::wstring expectedPrimaryDisplay; std::wstring expectedExpressions; } TESTITEM; diff --git a/src/CalculatorUnitTests/HistoryTests.cpp b/src/CalculatorUnitTests/HistoryTests.cpp index 31b435c2..df94eb3a 100644 --- a/src/CalculatorUnitTests/HistoryTests.cpp +++ b/src/CalculatorUnitTests/HistoryTests.cpp @@ -9,8 +9,8 @@ using namespace CalculationManager; using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel; -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative; +using namespace CalculatorApp::ViewModelNative::Common; using namespace CalculatorUnitTests; using namespace Platform; using namespace std; diff --git a/src/CalculatorUnitTests/LocalizationServiceUnitTests.cpp b/src/CalculatorUnitTests/LocalizationServiceUnitTests.cpp index 47a37b82..27e063e3 100644 --- a/src/CalculatorUnitTests/LocalizationServiceUnitTests.cpp +++ b/src/CalculatorUnitTests/LocalizationServiceUnitTests.cpp @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #include "pch.h" @@ -7,7 +7,7 @@ #include "CalcViewModel/Common/LocalizationService.h" -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Platform; using namespace std; using namespace Microsoft::VisualStudio::CppUnitTestFramework; diff --git a/src/CalculatorUnitTests/LocalizationSettingsUnitTests.cpp b/src/CalculatorUnitTests/LocalizationSettingsUnitTests.cpp index 650f809b..dfb1f18a 100644 --- a/src/CalculatorUnitTests/LocalizationSettingsUnitTests.cpp +++ b/src/CalculatorUnitTests/LocalizationSettingsUnitTests.cpp @@ -7,7 +7,7 @@ #include "CalcViewModel/Common/LocalizationSettings.h" -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace Microsoft::VisualStudio::CppUnitTestFramework; static Windows::Globalization::NumberFormatting::DecimalFormatter ^ CreateDecimalFormatter(const wchar_t* language, const wchar_t* geographicRegion) diff --git a/src/CalculatorUnitTests/Mocks/CurrencyHttpClient.cpp b/src/CalculatorUnitTests/Mocks/CurrencyHttpClient.cpp index 975a3388..8cbc1de6 100644 --- a/src/CalculatorUnitTests/Mocks/CurrencyHttpClient.cpp +++ b/src/CalculatorUnitTests/Mocks/CurrencyHttpClient.cpp @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #include "pch.h" @@ -6,7 +6,7 @@ #include "CalcViewModel/Common/NetworkManager.h" -using namespace CalculatorApp::ViewModel::DataLoaders; +using namespace CalculatorApp::ViewModelNative::DataLoaders; using namespace Platform; using namespace Windows::Foundation; using namespace Windows::System::UserProfile; diff --git a/src/CalculatorUnitTests/Mocks/CurrencyHttpClient.h b/src/CalculatorUnitTests/Mocks/CurrencyHttpClient.h index ec88217a..86e9a1c8 100644 --- a/src/CalculatorUnitTests/Mocks/CurrencyHttpClient.h +++ b/src/CalculatorUnitTests/Mocks/CurrencyHttpClient.h @@ -1,11 +1,11 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once #include "CalcViewModel/DataLoaders/ICurrencyHttpClient.h" -namespace CalculatorApp::ViewModel +namespace CalculatorApp::ViewModelNative { namespace DataLoaders { diff --git a/src/CalculatorUnitTests/MultiWindowUnitTests.cpp b/src/CalculatorUnitTests/MultiWindowUnitTests.cpp index 2333672a..74172535 100644 --- a/src/CalculatorUnitTests/MultiWindowUnitTests.cpp +++ b/src/CalculatorUnitTests/MultiWindowUnitTests.cpp @@ -14,8 +14,8 @@ using namespace Platform; using namespace Platform::Collections; using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative; using namespace CalculationManager; using namespace Windows::ApplicationModel::Resources; using namespace Windows::Devices::Input; diff --git a/src/CalculatorUnitTests/NarratorAnnouncementUnitTests.cpp b/src/CalculatorUnitTests/NarratorAnnouncementUnitTests.cpp index 616ad2ef..31ceac17 100644 --- a/src/CalculatorUnitTests/NarratorAnnouncementUnitTests.cpp +++ b/src/CalculatorUnitTests/NarratorAnnouncementUnitTests.cpp @@ -7,7 +7,7 @@ using namespace Windows::UI::Xaml::Automation::Peers; using namespace Microsoft::VisualStudio::CppUnitTestFramework; -using namespace CalculatorApp::ViewModel::Common::Automation; +using namespace CalculatorApp::ViewModelNative::Common::Automation; namespace CalculatorUnitTests diff --git a/src/CalculatorUnitTests/NavCategoryUnitTests.cpp b/src/CalculatorUnitTests/NavCategoryUnitTests.cpp index bdcb9d71..e2142e82 100644 --- a/src/CalculatorUnitTests/NavCategoryUnitTests.cpp +++ b/src/CalculatorUnitTests/NavCategoryUnitTests.cpp @@ -4,7 +4,7 @@ #include "pch.h" #include -using namespace CalculatorApp::ViewModel::Common; +using namespace CalculatorApp::ViewModelNative::Common; using namespace CalculatorUnitTests; using namespace Platform; using namespace std; diff --git a/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp b/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp index 875511c9..b54bb184 100644 --- a/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp +++ b/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp @@ -13,8 +13,8 @@ using namespace CalculationManager; using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative; using namespace Platform; using namespace Microsoft::VisualStudio::CppUnitTestFramework; using namespace Windows::Foundation::Collections; diff --git a/src/CalculatorUnitTests/UnitConverterViewModelUnitTests.cpp b/src/CalculatorUnitTests/UnitConverterViewModelUnitTests.cpp index 7ca37f2a..cacd9dcf 100644 --- a/src/CalculatorUnitTests/UnitConverterViewModelUnitTests.cpp +++ b/src/CalculatorUnitTests/UnitConverterViewModelUnitTests.cpp @@ -9,8 +9,8 @@ #include "CalcViewModel/DataLoaders/UnitConverterDataLoader.h" using namespace CalculatorApp; -using namespace CalculatorApp::ViewModel::Common; -using namespace CalculatorApp::ViewModel; +using namespace CalculatorApp::ViewModelNative::Common; +using namespace CalculatorApp::ViewModelNative; using namespace Platform; using namespace Platform::Collections; using namespace std; @@ -21,7 +21,7 @@ using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Data; namespace UCM = UnitConversionManager; -namespace VM = CalculatorApp::ViewModel; +namespace VM = CalculatorApp::ViewModelNative; using namespace Windows::Globalization; using namespace Microsoft::VisualStudio::CppUnitTestFramework; diff --git a/src/CalculatorUnitTests/UnitTestApp.xaml.cpp b/src/CalculatorUnitTests/UnitTestApp.xaml.cpp index ecca9073..2ff598fa 100644 --- a/src/CalculatorUnitTests/UnitTestApp.xaml.cpp +++ b/src/CalculatorUnitTests/UnitTestApp.xaml.cpp @@ -1,4 +1,4 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. +// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. // @@ -81,7 +81,7 @@ void App::OnLaunched(Windows::ApplicationModel::Activation::LaunchActivatedEvent Window::Current->Activate(); // Override the current locale to use English (US) to be compatible with all tests based on formatting - CalculatorApp::ViewModel::Common::LocalizationService::OverrideWithLanguage(L"en-US"); + CalculatorApp::ViewModelNative::Common::LocalizationService::OverrideWithLanguage(L"en-US"); Microsoft::VisualStudio::TestPlatform::TestExecutor::WinRTCore::UnitTestClient::Run(e->Arguments); }