Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/CalcViewModel/ApplicationViewModel.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ ApplicationViewModel::ApplicationViewModel()
: m_CalculatorViewModel(nullptr)
, m_DateCalcViewModel(nullptr)
, m_GraphingCalcViewModel(nullptr)
, m_FinanceCalcViewModel(nullptr)
, m_ConverterViewModel(nullptr)
, m_PreviousMode(ViewMode::None)
, m_mode(ViewMode::None)
Expand Down Expand Up @@ -147,6 +148,13 @@ void ApplicationViewModel::OnModeChanged()
m_DateCalcViewModel = ref new DateCalculatorViewModel();
}
}
else if (NavCategory::IsFinanceCalculatorViewMode(m_mode))
{
if (!m_FinanceCalcViewModel)
{
m_FinanceCalcViewModel = ref new FinanceCalculatorViewModel();
}
}
else if (NavCategory::IsConverterViewMode(m_mode))
{
if (!m_ConverterViewModel)
Expand Down
2 changes: 2 additions & 0 deletions src/CalcViewModel/ApplicationViewModel.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include "DateCalculatorViewModel.h"
#include "GraphingCalculator/GraphingCalculatorViewModel.h"
#include "UnitConverterViewModel.h"
#include "FinanceCalculatorViewModel.h"

namespace CalculatorApp
{
Expand All @@ -23,6 +24,7 @@ namespace CalculatorApp
OBSERVABLE_PROPERTY_RW(StandardCalculatorViewModel ^, CalculatorViewModel);
OBSERVABLE_PROPERTY_RW(DateCalculatorViewModel ^, DateCalcViewModel);
OBSERVABLE_PROPERTY_RW(GraphingCalculatorViewModel ^, GraphingCalcViewModel);
OBSERVABLE_PROPERTY_RW(FinanceCalculatorViewModel ^, FinanceCalcViewModel);
OBSERVABLE_PROPERTY_RW(UnitConverterViewModel ^, ConverterViewModel);
OBSERVABLE_PROPERTY_RW(CalculatorApp::Common::ViewMode, PreviousMode);
OBSERVABLE_PROPERTY_R(bool, IsAlwaysOnTop);
Expand Down
3 changes: 3 additions & 0 deletions src/CalcViewModel/CalcViewModel.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,7 @@
<ClInclude Include="DataLoaders\UnitConverterDataConstants.h" />
<ClInclude Include="DataLoaders\UnitConverterDataLoader.h" />
<ClInclude Include="DateCalculatorViewModel.h" />
<ClInclude Include="FinanceCalculatorViewModel.h" />
<ClInclude Include="GraphingCalculatorEnums.h" />
<ClInclude Include="GraphingCalculator\EquationViewModel.h" />
<ClInclude Include="GraphingCalculator\GraphingCalculatorViewModel.h" />
Expand Down Expand Up @@ -356,6 +357,7 @@
<ClCompile Include="DataLoaders\CurrencyHttpClient.cpp" />
<ClCompile Include="DataLoaders\UnitConverterDataLoader.cpp" />
<ClCompile Include="DateCalculatorViewModel.cpp" />
<ClCompile Include="FinanceCalculatorViewModel.cpp" />
<ClCompile Include="GraphingCalculator\EquationViewModel.cpp" />
<ClCompile Include="GraphingCalculator\GraphingCalculatorViewModel.cpp" />
<ClCompile Include="GraphingCalculator\GraphingSettingsViewModel.cpp" />
Expand Down Expand Up @@ -405,6 +407,7 @@
</Choose>
<ItemGroup>
<None Include="DataLoaders\DefaultFromToCurrency.json" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
Expand Down
2 changes: 2 additions & 0 deletions src/CalcViewModel/CalcViewModel.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
<ClCompile Include="GraphingCalculator\GraphingSettingsViewModel.cpp">
<Filter>GraphingCalculator</Filter>
</ClCompile>
<ClCompile Include="FinanceCalculatorViewModel.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="pch.h" />
Expand Down Expand Up @@ -199,6 +200,7 @@
<ClInclude Include="Common\DelegateCommand.h">
<Filter>Common</Filter>
</ClInclude>
<ClInclude Include="FinanceCalculatorViewModel.h" />
</ItemGroup>
<ItemGroup>
<None Include="DataLoaders\DefaultFromToCurrency.json">
Expand Down
16 changes: 16 additions & 0 deletions src/CalcViewModel/Common/NavCategory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ static constexpr int PRESSURE_ID = 14;
static constexpr int ANGLE_ID = 15;
static constexpr int CURRENCY_ID = 16;
static constexpr int GRAPHING_ID = 17;
static constexpr int FINANCE_ID = 18;
// ^^^ THESE CONSTANTS SHOULD NEVER CHANGE ^^^

wchar_t* towchar_t(int number)
Expand Down Expand Up @@ -169,6 +170,16 @@ static const list<NavCategoryInitializer> s_categoryManifest = [] {
towchar_t(currentIndex++),
SUPPORTS_ALL,
true },
NavCategoryInitializer{ ViewMode::Finance,
FINANCE_ID,
L"Finance",
L"FinanceCalculationMode",
L"\uEB0D",
CategoryGroupType::Calculator,
supportGraphingCalculator ? MyVirtualKey::Number6 : MyVirtualKey::Number5,
towchar_t(currentIndex++),
SUPPORTS_ALL,
true },
NavCategoryInitializer{ ViewMode::Currency,
CURRENCY_ID,
L"Currency",
Expand Down Expand Up @@ -366,6 +377,11 @@ bool NavCategory::IsDateCalculatorViewMode(ViewMode mode)
return mode == ViewMode::Date;
}

bool NavCategory::IsFinanceCalculatorViewMode(ViewMode mode)
{
return mode == ViewMode::Finance;
}

bool NavCategory::IsConverterViewMode(ViewMode mode)
{
return IsModeInCategoryGroup(mode, CategoryGroupType::Converter);
Expand Down
4 changes: 3 additions & 1 deletion src/CalcViewModel/Common/NavCategory.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ namespace CalculatorApp
Pressure = 14,
Angle = 15,
Currency = 16,
Graphing = 17
Graphing = 17,
Finance = 18
};

public
Expand Down Expand Up @@ -137,6 +138,7 @@ namespace CalculatorApp
static bool IsCalculatorViewMode(ViewMode mode);
static bool IsGraphingCalculatorViewMode(ViewMode mode);
static bool IsDateCalculatorViewMode(ViewMode mode);
static bool IsFinanceCalculatorViewMode(ViewMode mode);
static bool IsConverterViewMode(ViewMode mode);

static Platform::String ^ GetFriendlyName(ViewMode mode);
Expand Down
14 changes: 14 additions & 0 deletions src/CalcViewModel/FinanceCalculatorViewModel.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#include "pch.h"
#include "FinanceCalculatorViewModel.h"

using namespace CalculatorApp;
using namespace CalculatorApp::ViewModel;

FinanceCalculatorViewModel::FinanceCalculatorViewModel()
: m_isCompoundMode(true)
, m_isSplitBill(false)
{
}
23 changes: 23 additions & 0 deletions src/CalcViewModel/FinanceCalculatorViewModel.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

#pragma once

#include "Common/Utils.h"

namespace CalculatorApp
{
namespace ViewModel
{
[Windows::UI::Xaml::Data::Bindable] public ref class FinanceCalculatorViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
{
public:

FinanceCalculatorViewModel();

OBSERVABLE_OBJECT();
OBSERVABLE_PROPERTY_RW(bool, isCompoundMode);
OBSERVABLE_PROPERTY_RW(bool, isSplitBill);
};
}
}
9 changes: 9 additions & 0 deletions src/Calculator/Calculator.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -293,6 +293,9 @@
<ClInclude Include="Views\CalculatorStandardOperators.xaml.h">
<DependentUpon>Views\CalculatorStandardOperators.xaml</DependentUpon>
</ClInclude>
<ClInclude Include="Views\FinanceCalculator.xaml.h">
<DependentUpon>Views\FinanceCalculator.xaml</DependentUpon>
</ClInclude>
<ClInclude Include="Views\GraphingCalculator\EquationInputArea.xaml.h">
<DependentUpon>Views\GraphingCalculator\EquationInputArea.xaml</DependentUpon>
</ClInclude>
Expand Down Expand Up @@ -367,6 +370,9 @@
</Page>
<Page Include="Views\CalculatorStandardOperators.xaml" />
<Page Include="Views\DelighterUnitStyles.xaml" />
<Page Include="Views\FinanceCalculator.xaml">
<SubType>Designer</SubType>
</Page>
<Page Include="Views\GraphingCalculator\EquationInputArea.xaml" />
<Page Include="Views\GraphingCalculator\GraphingCalculator.xaml" />
<Page Include="Views\GraphingCalculator\GraphingSettings.xaml" />
Expand Down Expand Up @@ -461,6 +467,9 @@
<ClCompile Include="Views\CalculatorStandardOperators.xaml.cpp">
<DependentUpon>Views\CalculatorStandardOperators.xaml</DependentUpon>
</ClCompile>
<ClCompile Include="Views\FinanceCalculator.xaml.cpp">
<DependentUpon>Views\FinanceCalculator.xaml</DependentUpon>
</ClCompile>
<ClCompile Include="Views\GraphingCalculator\EquationInputArea.xaml.cpp">
<DependentUpon>Views\GraphingCalculator\EquationInputArea.xaml</DependentUpon>
</ClCompile>
Expand Down
3 changes: 3 additions & 0 deletions src/Calculator/Calculator.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -524,6 +524,9 @@
<Page Include="Views\CalculatorProgrammerDisplayPanel.xaml">
<Filter>Views\StateTriggers</Filter>
</Page>
<Page Include="Views\FinanceCalculator.xaml">
<Filter>Views</Filter>
</Page>
</ItemGroup>
<ItemGroup>
<PRIResource Include="Resources\en-US\CEngineStrings.resw">
Expand Down
Loading