mirror of
https://github.com/jayfunc/BetterLyrics.git
synced 2026-01-12 19:24:55 +08:00
125 lines
3.4 KiB
C#
125 lines
3.4 KiB
C#
using System.Collections.ObjectModel;
|
|
using System.ComponentModel;
|
|
using System.Runtime.CompilerServices;
|
|
|
|
namespace RomajiConverter.Core.Models
|
|
{
|
|
public class ConvertedUnit : INotifyPropertyChanged
|
|
{
|
|
private string _hiragana;
|
|
private bool _isKanji;
|
|
private string _japanese;
|
|
private ObservableCollection<ReplaceString> _replaceHiragana;
|
|
private ObservableCollection<ReplaceString> _replaceRomaji;
|
|
private string _romaji;
|
|
private ushort _selectId;
|
|
private ushort _lineIndex;
|
|
|
|
public ConvertedUnit(ushort lineIndex, string japanese, string hiragana, string romaji, bool isKanji)
|
|
{
|
|
LineIndex = lineIndex;
|
|
Japanese = japanese;
|
|
Romaji = romaji;
|
|
Hiragana = hiragana;
|
|
IsKanji = isKanji;
|
|
SelectId = 1;
|
|
ReplaceHiragana = new ObservableCollection<ReplaceString> { new ReplaceString(1, hiragana, true) };
|
|
ReplaceRomaji = new ObservableCollection<ReplaceString> { new ReplaceString(1, romaji, true) };
|
|
}
|
|
|
|
public ushort LineIndex
|
|
{
|
|
get => _lineIndex;
|
|
set
|
|
{
|
|
if (value == _lineIndex) return;
|
|
_lineIndex = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public string Japanese
|
|
{
|
|
get => _japanese;
|
|
set
|
|
{
|
|
if (value == _japanese) return;
|
|
_japanese = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public string Romaji
|
|
{
|
|
get => _romaji;
|
|
set
|
|
{
|
|
if (value == _romaji) return;
|
|
_romaji = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ObservableCollection<ReplaceString> ReplaceRomaji
|
|
{
|
|
get => _replaceRomaji;
|
|
set
|
|
{
|
|
if (Equals(value, _replaceRomaji)) return;
|
|
_replaceRomaji = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public string Hiragana
|
|
{
|
|
get => _hiragana;
|
|
set
|
|
{
|
|
if (value == _hiragana) return;
|
|
_hiragana = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ObservableCollection<ReplaceString> ReplaceHiragana
|
|
{
|
|
get => _replaceHiragana;
|
|
set
|
|
{
|
|
if (Equals(value, _replaceHiragana)) return;
|
|
_replaceHiragana = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public bool IsKanji
|
|
{
|
|
get => _isKanji;
|
|
set
|
|
{
|
|
if (value == _isKanji) return;
|
|
_isKanji = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public ushort SelectId
|
|
{
|
|
get => _selectId;
|
|
set
|
|
{
|
|
if (value == _selectId) return;
|
|
_selectId = value;
|
|
OnPropertyChanged();
|
|
}
|
|
}
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
|
|
{
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
|
}
|
|
}
|
|
} |