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.
59 lines
1.6 KiB
C++
59 lines
1.6 KiB
C++
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// Licensed under the MIT License.
|
|
|
|
#pragma once
|
|
|
|
#include "Utils.h"
|
|
|
|
namespace CalculatorApp::Common
|
|
{
|
|
public
|
|
enum class TokenType
|
|
{
|
|
Operator,
|
|
Operand,
|
|
Separator
|
|
};
|
|
|
|
[Windows::UI::Xaml::Data::Bindable] public ref class DisplayExpressionToken sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged
|
|
{
|
|
internal : DisplayExpressionToken(Platform::String ^ token, int tokenPosition, bool fEditable, TokenType type)
|
|
: m_Token(token)
|
|
, m_TokenPosition(tokenPosition)
|
|
, m_IsTokenEditable(fEditable)
|
|
, m_Type(type)
|
|
, m_OriginalToken(token)
|
|
, m_InEditMode(false)
|
|
{
|
|
}
|
|
|
|
public:
|
|
OBSERVABLE_OBJECT();
|
|
OBSERVABLE_PROPERTY_RW(Platform::String ^, Token);
|
|
OBSERVABLE_PROPERTY_RW(int, TokenPosition);
|
|
OBSERVABLE_PROPERTY_RW(bool, IsTokenEditable);
|
|
OBSERVABLE_PROPERTY_RW(int, CommandIndex);
|
|
OBSERVABLE_PROPERTY_R(Platform::String ^, OriginalToken);
|
|
|
|
property bool IsTokenInEditMode
|
|
{
|
|
bool get()
|
|
{
|
|
return m_InEditMode;
|
|
}
|
|
void set(bool val)
|
|
{
|
|
if (!val)
|
|
{
|
|
m_OriginalToken = ref new Platform::String(m_Token->Data());
|
|
}
|
|
m_InEditMode = val;
|
|
}
|
|
}
|
|
internal : OBSERVABLE_PROPERTY_RW(TokenType, Type);
|
|
|
|
private:
|
|
bool m_InEditMode;
|
|
};
|
|
}
|