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

47 lines
1.8 KiB
C++

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#pragma once
#include "DesignStandardCalculatorViewModel.h"
#include "DesignUnitConverterViewModel.h"
namespace Numbers
{
namespace DesignData
{
#ifdef _DEBUG
// These class are to be consumed exclusively by Blend and the VS designer
// with these classes Blend will be able to populate the controls
// with the hardcoded strings so whoever is working on the UI can actually see how the app would look like
// with semi-realistic data.
// This data is to only be compiled in the debug build and it will not affect app functionality at all
// so it does not need to be tested. It will have to be kept in sync with UnitConverterViewModel though
// to ensure that the design experience is correct.
// This class's code is run in the designer process so the less code it has the better.
public
ref class AppViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
{
public:
AppViewModel()
: m_IsStandardMode(true)
, m_IsScientificMode(false)
, m_IsConverterMode(false)
, m_CalculatorViewModel(ref new StandardCalculatorViewModel())
, m_ConverterViewModel(ref new UnitConverterViewModel())
{
}
OBSERVABLE_OBJECT();
OBSERVABLE_PROPERTY_RW(StandardCalculatorViewModel ^, CalculatorViewModel);
OBSERVABLE_PROPERTY_RW(UnitConverterViewModel ^, ConverterViewModel);
OBSERVABLE_PROPERTY_RW(bool, IsStandardMode);
OBSERVABLE_PROPERTY_RW(bool, IsScientificMode);
OBSERVABLE_PROPERTY_RW(bool, IsConverterMode);
};
#endif
}
}