calculator/src/CalcViewModel/MemoryItemViewModel.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

56 lines
1.8 KiB
C++

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
#pragma once
#include "Common/Utils.h"
namespace CalculatorApp
{
namespace ViewModel
{
ref class StandardCalculatorViewModel;
/// <summary>
/// Model representation of a single item in the Memory list
/// </summary>
[Windows::UI::Xaml::Data::Bindable] public ref class MemoryItemViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged,
Windows::UI::Xaml::Data::ICustomPropertyProvider
{
public:
MemoryItemViewModel(StandardCalculatorViewModel ^ calcVM)
: m_Position(-1)
, m_calcVM(calcVM)
{
}
OBSERVABLE_OBJECT();
OBSERVABLE_PROPERTY_RW(int, Position);
OBSERVABLE_PROPERTY_RW(Platform::String ^, Value);
virtual Windows::UI::Xaml::Data::ICustomProperty
^ GetCustomProperty(Platform::String ^ name) { return nullptr; }
virtual Windows::UI::Xaml::Data::ICustomProperty
^ GetIndexedProperty(Platform::String ^ name, Windows::UI::Xaml::Interop::TypeName type) { return nullptr; }
virtual property Windows::UI::Xaml::Interop::TypeName Type
{
Windows::UI::Xaml::Interop::TypeName get()
{
return this->GetType();
}
}
virtual Platform::String
^ GetStringRepresentation() { return Value; }
void Clear();
void MemoryAdd();
void MemorySubtract();
private:
StandardCalculatorViewModel ^ m_calcVM;
};
}
}