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; } }