using System;
using System.Collections.Generic;
using System.ComponentModel;
using TeamAAS.FlowEditor.Execution;
using TeamAAS;
namespace TeamAAS.FlowEditor.Plugins
{
///
/// 插件模型基类 - 每个插件的配置属性模型继承此类
/// 参照 VisionKit 的 BaseModel
/// 使用 [DisplayName]/[Category]/[Description] 特性供 PropertyGrid 自动生成编辑界面
///
[System.Serializable]
public abstract class BasePluginModel
{
[Browsable(false)]
public string ToolName { get; internal set; }
[Browsable(false)]
public string NodeId { get; internal set; }
[Browsable(false)]
public string PluginId { get; internal set; }
[Browsable(false)]
public string FlowName { get; internal set; }
[Browsable(false)]
public string FlowId { get; internal set; }
[Browsable(false)]
public string NodeName { get; internal set; }
// 新建插件默认取系统设置里的"默认存储/显示详细度"(设置未加载时回退粗略)
private TeamAAS.Logging.LogVerbosity _storeVerbosity = TeamAAS.Logging.PluginLogger.Current.DefaultStoreVerbosity;
private TeamAAS.Logging.LogVerbosity _displayVerbosity = TeamAAS.Logging.PluginLogger.Current.DefaultDisplayVerbosity;
/// 日志存储详细度:粗略=只写 L1/L2 公共日志;详细=额外把 L3/L4 写到 流程/任务 独立路径。
[Browsable(false)]
public TeamAAS.Logging.LogVerbosity StoreVerbosity
{
get => _storeVerbosity;
set => _storeVerbosity = value;
}
/// 日志显示详细度:粗略=实时日志只显 L1/L2;详细=额外显 L3/L4(与是否落盘无关)。
[Browsable(false)]
public TeamAAS.Logging.LogVerbosity DisplayVerbosity
{
get => _displayVerbosity;
set => _displayVerbosity = value;
}
}
}