using System;
using Artemis.Core;
namespace Artemis.UI.Shared
{
///
/// Represents a view model for a plugin configuration window
///
public abstract class PluginConfigurationViewModel : ViewModelBase, IPluginConfigurationViewModel
{
///
/// Creates a new instance of the class
///
///
protected PluginConfigurationViewModel(Plugin plugin)
{
Plugin = plugin;
}
///
/// Gets the plugin this configuration view model is associated with
///
public Plugin Plugin { get; }
///
/// Closes the window hosting the view model
///
public void Close()
{
CloseRequested?.Invoke(this, EventArgs.Empty);
}
///
/// Occurs when the the window hosting the view model should close
///
public event EventHandler? CloseRequested;
}
}