using CommunityToolkit.Mvvm.ComponentModel;
using MultiTerm.Protocols.Model;
namespace MultiTerm.Core.ViewModel;
public partial class CharacterDataViewModel : ObservableObject, IDataViewModel
{
///
/// Object of data model.
///
private readonly ExtendedChar character;
#region IDataViewModel Implementation
[ObservableProperty]
private int lineIdentifier;
[ObservableProperty]
private TimeOnly time;
[ObservableProperty]
private string displayString = String.Empty;
[ObservableProperty]
private string displayStringHex = String.Empty;
[ObservableProperty]
private string displayStringBin = String.Empty;
#endregion
///
/// Allows access to character of this instance.
///
public char Character { get { return this.character.Character; } }
public CharacterDataViewModel(ExtendedChar character, int lineIdentifier)
{
this.character = character;
this.lineIdentifier = lineIdentifier;
this.DisplayString = character.ToUtf16String();
this.DisplayStringHex = character.ToHexString();
this.DisplayStringBin = character.ToBinaryString();
this.Time = character.Time;
}
}