Sic.Framework/MECF.Framework.UI.Client/RecipeEditorLib/RecipeModel/Params/Base/IParam.cs

133 lines
3.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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