2023-04-13 11:51:03 +08:00
|
|
|
|
using System.Collections.Generic;
|
2023-10-19 13:24:40 +08:00
|
|
|
|
using System.Windows.Media;
|
2023-04-13 11:51:03 +08:00
|
|
|
|
using ExtendedGrid.Microsoft.Windows.Controls;
|
2023-09-05 00:12:08 +08:00
|
|
|
|
using MECF.Framework.Common.Account;
|
2023-09-20 17:25:51 +08:00
|
|
|
|
using MECF.Framework.Common.Account.Permissions;
|
2023-04-13 11:51:03 +08:00
|
|
|
|
|
2023-05-10 16:21:45 +08:00
|
|
|
|
namespace MECF.Framework.UI.Client.RecipeEditorLib.RecipeModel.Params
|
2023-04-13 11:51:03 +08:00
|
|
|
|
{
|
|
|
|
|
public interface IParam
|
|
|
|
|
{
|
|
|
|
|
#region Properties
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 返回当前参数所属列名称。
|
|
|
|
|
/// </summary>
|
|
|
|
|
string DisplayName { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2023-06-16 13:43:26 +08:00
|
|
|
|
/// 设置或返回当前参数的控制名称。
|
|
|
|
|
/// <remarks>
|
|
|
|
|
/// 对应RecipeFormat.xml文件中的ControlName。
|
|
|
|
|
/// </remarks>
|
2023-04-13 11:51:03 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
string Name { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2023-06-16 13:43:26 +08:00
|
|
|
|
/// 返回当前参数所属的配方步骤。
|
2023-04-13 11:51:03 +08:00
|
|
|
|
/// </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; }
|
|
|
|
|
|
2023-06-16 15:48:27 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设置或返回当前参数所属步骤的访问权限。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public MenuPermissionEnum StepPermission { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设置或返回当前参数所属列的访问权限。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public MenuPermissionEnum ColumnPermission { get; set; }
|
|
|
|
|
|
2023-06-16 13:43:26 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设置或返回当前参数的访问权限。
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <remarks>
|
|
|
|
|
/// 访问权限由当前参数所在的列和步骤共同决定。权限数值越小优先级越高。
|
|
|
|
|
/// </remarks>
|
2023-06-16 15:48:27 +08:00
|
|
|
|
public MenuPermissionEnum Permission { get; }
|
2023-06-16 13:43:26 +08:00
|
|
|
|
|
2023-09-22 14:58:18 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设置或返回是否在编辑器中隐藏参数值。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool IsHideValue { get; set; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设置或返回参数值隐藏时的替代符号。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string HiddenValueMasking { get; set; }
|
|
|
|
|
|
2023-06-16 13:43:26 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设置或返回当前参数是否被禁用。
|
|
|
|
|
/// </summary>
|
|
|
|
|
public bool IsEnabled { get; set; }
|
|
|
|
|
|
2023-04-13 11:51:03 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 返回当前参数是否已保存。
|
|
|
|
|
/// </summary>
|
2023-05-10 16:21:45 +08:00
|
|
|
|
bool IsSaved { get; }
|
2023-04-13 11:51:03 +08:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
2023-06-16 13:43:26 +08:00
|
|
|
|
/// 设置或返回当前参数的数值是否和前序参数的数值相等。
|
2023-04-13 11:51:03 +08:00
|
|
|
|
/// </summary>
|
2023-06-16 13:43:26 +08:00
|
|
|
|
/// <remarks>
|
|
|
|
|
/// 该属性用于渲染DataGrid单元格文本颜色,当不等于前序参数数值时,当前参数显示为绿色。
|
|
|
|
|
/// </remarks>
|
2023-04-13 11:51:03 +08:00
|
|
|
|
bool IsEqualsToPrevious { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 返回当前参数是否校验成功。
|
|
|
|
|
/// </summary>
|
2023-06-16 09:51:51 +08:00
|
|
|
|
bool IsValid { get; }
|
2023-04-13 11:51:03 +08:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 返回当前参数校验错误信息。
|
|
|
|
|
/// </summary>
|
|
|
|
|
string ValidationError { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 返回是否高亮显示当前参数。
|
|
|
|
|
/// </summary>
|
|
|
|
|
bool IsHighlighted { get; }
|
2023-10-25 13:47:44 +08:00
|
|
|
|
|
2023-04-13 11:51:03 +08:00
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
#region Methods
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 将参数链表转换为数组。
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
List<IParam> Flatten();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 校验用户输入值。
|
|
|
|
|
/// </summary>
|
|
|
|
|
void Validate();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 设置为已保存状态。
|
|
|
|
|
/// </summary>
|
|
|
|
|
void Save();
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// 高亮显示当前参数。
|
|
|
|
|
/// </summary>
|
|
|
|
|
void Highlight();
|
2023-10-25 13:47:44 +08:00
|
|
|
|
|
2023-04-13 11:51:03 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// 取消高亮显示。
|
|
|
|
|
/// </summary>
|
|
|
|
|
void ResetHighlight();
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
}
|