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 GbaConfigViewModel : DisposableViewModel { [ObservableProperty] public partial GbaConfig Config { get; set; } [ObservableProperty] public partial GbaConfig OriginalConfig { get; set; } [ObservableProperty] public partial GbaConfigTab SelectedTab { get; set; } = 0; public IRelayCommand SetupPlayer { get; } public GbaConfigViewModel() { Config = ConfigManager.Config.Gba; OriginalConfig = Config.Clone(); SetupPlayer = new RelayCommand