using System.Collections.Generic;
using ExtendedGrid.Microsoft.Windows.Controls;
using MECF.Framework.Common.Account;
namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params
{
public interface IParam
{
#region Properties
///
/// 返回当前参数所属列名称。
///
string DisplayName { get; }
///
/// 设置或返回当前参数的控制名称。
///
/// 对应RecipeFormat.xml文件中的ControlName。
///
///
string Name { get; }
///
/// 返回当前参数所属的配方步骤。
///
RecipeStep Parent { get; }
///
/// 当前参数在表格中的所属行。
///
DataGridRow RowOwner { get; set; }
///
/// 当前参数在表格中的所属列。
///
DataGridColumn ColumnOwner { get; set; }
///
/// 返回前序参数。
///
IParam Previous { get; set; }
///
/// 返回后序参数。
///
IParam Next { get; set; }
///
/// 设置或返回当前参数所属步骤的访问权限。
///
public MenuPermissionEnum StepPermission { get; set; }
///
/// 设置或返回当前参数所属列的访问权限。
///
public MenuPermissionEnum ColumnPermission { get; set; }
///
/// 设置或返回当前参数的访问权限。
///
///
/// 访问权限由当前参数所在的列和步骤共同决定。权限数值越小优先级越高。
///
public MenuPermissionEnum Permission { get; }
///
/// 设置或返回当前参数是否被禁用。
///
public bool IsEnabled { get; set; }
///
/// 返回当前参数是否已保存。
///
bool IsSaved { get; }
///
/// 设置或返回当前参数的数值是否和前序参数的数值相等。
///
///
/// 该属性用于渲染DataGrid单元格文本颜色,当不等于前序参数数值时,当前参数显示为绿色。
///
bool IsEqualsToPrevious { get; }
///
/// 返回当前参数是否校验成功。
///
bool IsValid { get; }
///
/// 返回当前参数校验错误信息。
///
string ValidationError { get; }
///
/// 返回是否高亮显示当前参数。
///
bool IsHighlighted { get; }
#endregion
#region Methods
///
/// 将参数链表转换为数组。
///
///
List Flatten();
///
/// 校验用户输入值。
///
void Validate();
///
/// 设置为已保存状态。
///
void Save();
///
/// 高亮显示当前参数。
///
void Highlight();
///
/// 取消高亮显示。
///
void ResetHighlight();
#endregion
}
}