using System.ComponentModel;
using System.Runtime.CompilerServices;

namespace AxCopilot.ViewModels;

public class BatchCommandModel : INotifyPropertyChanged
{
	private string _key = "";

	private string _command = "";

	private bool _showWindow;

	public string Key
	{
		get
		{
			return _key;
		}
		set
		{
			_key = value;
			OnPropertyChanged("Key");
		}
	}

	public string Command
	{
		get
		{
			return _command;
		}
		set
		{
			_command = value;
			OnPropertyChanged("Command");
		}
	}

	public bool ShowWindow
	{
		get
		{
			return _showWindow;
		}
		set
		{
			_showWindow = value;
			OnPropertyChanged("ShowWindow");
		}
	}

	public event PropertyChangedEventHandler? PropertyChanged;

	protected void OnPropertyChanged([CallerMemberName] string? n = null)
	{
		this.PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(n));
	}
}
