实现了多画布下,节点的复制粘贴功能

This commit is contained in:
fengjiayi
2025-05-27 18:32:40 +08:00
parent 7ad6041be6
commit 7848af0363
53 changed files with 1187 additions and 499 deletions

View File

@@ -1097,16 +1097,19 @@ namespace Serein.Library.Api
void SetUIContextOperation(UIContextOperation uiContextOperation);
/// <summary>
/// 开始运行
/// 开始运行流程
/// </summary>
Task<bool> StartFlowAsync();
/// <param name="canvasGuids">需要运行的流程Guid</param>
/// <returns></returns>
Task<bool> StartFlowAsync(string[] canvasGuids);
/// <summary>
/// 从选定的节点开始运行
/// </summary>
/// <param name="startNodeGuid"></param>
/// <returns></returns>
Task<bool> StartAsyncInSelectNode(string startNodeGuid);
Task<bool> StartFlowFromSelectNodeAsync(string startNodeGuid);
/// <summary>
/// 结束运行

View File

@@ -7,12 +7,5 @@ using System.Threading.Tasks;
namespace Serein.Library
{
/// <summary>
/// 拖拽创建节点使用的数据
/// </summary>
public class MoveNodeData
{
public NodeControlType NodeControlType { get; set; }
public MethodDetailsInfo MethodDetailsInfo { get; set; }
}
}

View File

@@ -101,10 +101,10 @@ namespace Serein.Library
// 生成参数列表
ParameterData[] parameterData = nodeModel.SaveParameterInfo();
NodeInfo nodeInfo = new NodeInfo
var nodeInfo = new NodeInfo
{
Guid = nodeModel.Guid,
CanvasGuid = nodeModel.CanvasGuid,
Guid = nodeModel.Guid,
AssemblyName = nodeModel.MethodDetails.AssemblyName,
MethodName = nodeModel.MethodDetails?.MethodName,
Label = nodeModel.MethodDetails?.MethodAnotherName,
@@ -130,10 +130,12 @@ namespace Serein.Library
/// <summary>
/// 从节点信息加载节点
/// </summary>
/// <param name="nodeModel"></param>
/// <param name="nodeInfo"></param>
/// <returns></returns>
public static void LoadInfo(this NodeModelBase nodeModel, NodeInfo nodeInfo)
{
nodeModel.CanvasGuid = nodeInfo.CanvasGuid;
nodeModel.Guid = nodeInfo.Guid;
nodeModel.Position = nodeInfo.Position ?? new PositionOfUI(0, 0);// 加载位置信息
var md = nodeModel.MethodDetails; // 当前节点的方法说明
@@ -191,6 +193,7 @@ namespace Serein.Library
/// <summary>
/// 开始执行
/// </summary>
/// <param name="nodeModel"></param>
/// <param name="context"></param>
/// <param name="token">流程运行</param>
/// <returns></returns>

View File

@@ -23,6 +23,7 @@ namespace Serein.Library
Env = env;
}
public IFlowEnvironment Env { get; }
/// <summary>
@@ -79,8 +80,6 @@ namespace Serein.Library
/// </summary>
private string _startNode;
}

View File

@@ -27,7 +27,7 @@ namespace Serein.Library
public string NodeType { get; set; }
/// <summary>
/// 方法说明
/// 方法别名
/// </summary>
public string MethodAnotherName { get; set; }

View File

@@ -336,6 +336,7 @@ namespace Serein.Library
_x = x; _y = y;
}
/// <summary>
/// 指示控件在画布的横向向方向上的位置
/// </summary>

View File

@@ -14,6 +14,7 @@
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
<LangVersion>latest</LangVersion>
<SatelliteResourceLanguages>no</SatelliteResourceLanguages>
<GenerateDocumentationFile>true</GenerateDocumentationFile>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>