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