using Serein.Library; using Serein.Library.Api; using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography.X509Certificates; using System.Text; using System.Threading.Tasks; namespace Serein.Workbench.Services { #region 工作台事件 public delegate void PreviewlMethodInfoHandler(PreviewlMethodInfoEventArgs eventArgs); #endregion #region 工作台事件参数 public class PreviewlMethodInfoEventArgs(MethodDetailsInfo mdInfo) : EventArgs { /// /// 方法信息 /// public MethodDetailsInfo MethodDetailsInfo { get; } = mdInfo; } #endregion /// /// 工作台事件管理 /// internal interface IWorkbenchEventService { /// /// 预览了某个方法信息(待创建) /// event PreviewlMethodInfoHandler OnPreviewlMethodInfo; /// /// 预览依赖方法信息 /// void PreviewLibraryMethodInfo(MethodDetailsInfo mdInfo); } /// /// 工作台事件的实现类 /// internal class WorkbenchEventService : IWorkbenchEventService { private readonly IFlowEnvironment flowEnvironment; /// /// 管理工作台的事件 /// /// public WorkbenchEventService(IFlowEnvironment flowEnvironment) { this.flowEnvironment = flowEnvironment; } private void SubscribeEvents() { } /// /// 预览了某个方法信息(待创建) /// public event PreviewlMethodInfoHandler? OnPreviewlMethodInfo; /// /// 预览依赖方法信息 /// public void PreviewLibraryMethodInfo(MethodDetailsInfo mdInfo) { OnPreviewlMethodInfo?.Invoke(new PreviewlMethodInfoEventArgs(mdInfo)); } /// /// 需要放置节点控件 /// public void PlateNodeControl() { } } }