calculator/src/Calculator/DesignData/DesignUnitConverterViewModel.h
Daniel Belcher 9f01c8168b
Secondary formatting changes (#489)
Description of the changes:
Adjusted some of the values in .clang-format
Add clang-format-all.ps1
Fix path to .clang-format in Calculator.sln

How changes were validated:
Manual.
2019-05-02 16:48:33 -07:00

123 lines
5.3 KiB
C++

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#pragma once
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 CategoryViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
{
public:
CategoryViewModel(Platform::String ^ name)
: m_Name(name)
, m_NegateVisibility(Windows::UI::Xaml::Visibility::Collapsed)
{
}
CategoryViewModel(Platform::String ^ name, Windows::UI::Xaml::Visibility negateVisibility)
: m_Name(name)
, m_NegateVisibility(negateVisibility)
{
}
OBSERVABLE_OBJECT();
OBSERVABLE_PROPERTY_RW(Platform::String ^, Name);
OBSERVABLE_PROPERTY_RW(Windows::UI::Xaml::Visibility, NegateVisibility);
};
public
ref class UnitViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
{
public:
UnitViewModel(Platform::String ^ unit, Platform::String ^ abbr)
: m_Name(unit)
, m_Abbreviation(abbr)
{
}
OBSERVABLE_OBJECT();
OBSERVABLE_PROPERTY_RW(Platform::String ^, Name);
OBSERVABLE_PROPERTY_RW(Platform::String ^, Abbreviation);
};
public
ref class UnitConverterSupplementaryResultViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
{
public:
UnitConverterSupplementaryResultViewModel(Platform::String ^ value, Platform::String ^ unit, Platform::String ^ abbr)
: m_Value(value)
{
m_Unit = ref new UnitViewModel(unit, abbr);
}
OBSERVABLE_OBJECT();
OBSERVABLE_PROPERTY_RW(Platform::String ^, Value);
OBSERVABLE_PROPERTY_RW(UnitViewModel ^, Unit);
};
public
ref class UnitConverterViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
{
public:
UnitConverterViewModel()
: m_Value1("Åy24")
, m_Value2("Åy183")
, m_Value1Active(true)
, m_Value2Active(false)
{
m_SupplementaryResults = ref new Platform::Collections::Vector<UnitConverterSupplementaryResultViewModel ^>();
m_SupplementaryResults->Append(ref new UnitConverterSupplementaryResultViewModel("128", "Kilograms", "Kgs"));
m_SupplementaryResults->Append(ref new UnitConverterSupplementaryResultViewModel("42.55", "Liters", "ÅyL"));
m_SupplementaryResults->Append(ref new UnitConverterSupplementaryResultViewModel("1.5e3", "Gallons", "G"));
m_SupplementaryResults->Append(ref new UnitConverterSupplementaryResultViewModel("1929", "Gigabyte", "GB"));
m_Categories = ref new Platform::Collections::Vector<CategoryViewModel ^>();
m_Categories->Append(ref new CategoryViewModel("Volume"));
m_Categories->Append(ref new CategoryViewModel("Temperature", Windows::UI::Xaml::Visibility::Visible));
m_CurrentCategory = ref new CategoryViewModel("ÅyTime");
m_Categories->Append(m_CurrentCategory);
m_Categories->Append(ref new CategoryViewModel("Speed"));
m_Units = ref new Platform::Collections::Vector<UnitViewModel ^>();
m_Unit1 = ref new UnitViewModel("ÅySeconds", "S");
m_Unit2 = ref new UnitViewModel("ÅyMinutes", "M");
m_Units->Append(ref new UnitViewModel("Miliseconds", "MS"));
m_Units->Append(m_Unit1);
m_Units->Append(m_Unit2);
m_Units->Append(ref new UnitViewModel("Hours", "HRs"));
}
OBSERVABLE_OBJECT();
OBSERVABLE_PROPERTY_RW(Platform::String ^, Value1);
OBSERVABLE_PROPERTY_RW(Platform::String ^, Value2);
OBSERVABLE_PROPERTY_R(Windows::UI::Xaml::Interop::IBindableObservableVector ^, Categories);
OBSERVABLE_PROPERTY_RW(CategoryViewModel ^, CurrentCategory);
OBSERVABLE_PROPERTY_R(Windows::UI::Xaml::Interop::IBindableObservableVector ^, Units);
OBSERVABLE_PROPERTY_RW(UnitViewModel ^, Unit1);
OBSERVABLE_PROPERTY_RW(UnitViewModel ^, Unit2);
OBSERVABLE_PROPERTY_RW(bool, Value1Active);
OBSERVABLE_PROPERTY_RW(bool, Value2Active);
OBSERVABLE_PROPERTY_R(Windows::UI::Xaml::Interop::IBindableObservableVector ^, SupplementaryResults);
};
#endif
}
}