using Avalonia; using Avalonia.Controls; using Avalonia.VisualTree; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using Mesen.Config; using Mesen.Utilities; using Mesen.Windows; using System; namespace Mesen.ViewModels { public partial class WsConfigViewModel : DisposableViewModel { [ObservableProperty] public partial WsConfig Config { get; set; } [ObservableProperty] public partial WsConfig OriginalConfig { get; set; } [ObservableProperty] public partial WsConfigTab SelectedTab { get; set; } = 0; public IRelayCommand SetupPlayerHorizontal { get; } public IRelayCommand SetupPlayerVertical { get; } public IRelayCommand SetupPlayerPcv2 { get; } public WsConfigViewModel() { Config = ConfigManager.Config.Ws; OriginalConfig = Config.Clone(); SetupPlayerHorizontal = new RelayCommand