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