1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00
2020-11-18 19:28:05 +01:00

35 lines
1.4 KiB
C#

using System;
using Artemis.Core.DataModelExpansions;
using Artemis.Core.Modules;
using Artemis.UI.Shared.Input;
namespace Artemis.UI.Shared
{
/// <summary>
/// Represents a factory for view models provided by the Artemis Shared UI library
/// </summary>
public interface ISharedVmFactory
{
}
/// <summary>
/// A factory that allows the creation of data model view models
/// </summary>
public interface IDataModelVmFactory : ISharedVmFactory
{
/// <summary>
/// Creates a new instance of the <see cref="DataModelDynamicViewModel" /> class
/// </summary>
/// <param name="module">The module to associate the dynamic view model with</param>
/// <returns>A new instance of the <see cref="DataModelDynamicViewModel" /> class</returns>
DataModelDynamicViewModel DataModelDynamicViewModel(Module module);
/// <summary>
/// Creates a new instance of the <see cref="DataModelStaticViewModel" /> class
/// </summary>
/// <param name="targetType">The type of property that is expected in this input</param>
/// <param name="targetDescription">The description of the property that this input is for</param>
/// <returns>A new instance of the <see cref="DataModelStaticViewModel" /> class</returns>
DataModelStaticViewModel DataModelStaticViewModel(Type targetType, DataModelPropertyAttribute targetDescription);
}
}