using System.Collections.Generic; using ExtendedGrid.Microsoft.Windows.Controls; using MECF.Framework.UI.Client.ClientBase; 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 } }