mirror of
https://gitee.com/langsisi_admin/serein-flow
synced 2026-03-03 00:00:49 +08:00
准备添加流程接口调用
This commit is contained in:
@@ -159,11 +159,11 @@ namespace Serein.Workbench.Node.View
|
||||
|
||||
private void AddParamAsync()
|
||||
{
|
||||
this.MyNode.Env.ChangeParameter(MyNode.Guid, true, ArgIndex);
|
||||
this.MyNode.Env.FlowEdit.ChangeParameter(MyNode.Guid, true, ArgIndex);
|
||||
}
|
||||
private void RemoveParamAsync()
|
||||
{
|
||||
this.MyNode.Env.ChangeParameter(MyNode.Guid, false, ArgIndex);
|
||||
this.MyNode.Env.FlowEdit.ChangeParameter(MyNode.Guid, false, ArgIndex);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -243,11 +243,11 @@ namespace Serein.Workbench.Node.View
|
||||
var jctEnd = End.JunctionType.ToConnectyionType();
|
||||
if (jct == JunctionOfConnectionType.Invoke)
|
||||
{
|
||||
env.RemoveInvokeConnect(canvasGuid, Start.MyNode.Guid, End.MyNode.Guid, InvokeType);
|
||||
env.FlowEdit.RemoveInvokeConnect(canvasGuid, Start.MyNode.Guid, End.MyNode.Guid, InvokeType);
|
||||
}
|
||||
else if (jct == JunctionOfConnectionType.Arg)
|
||||
{
|
||||
env.RemoveArgSourceConnect(canvasGuid,Start.MyNode.Guid, End.MyNode.Guid, ArgIndex) ;
|
||||
env.FlowEdit.RemoveArgSourceConnect(canvasGuid,Start.MyNode.Guid, End.MyNode.Guid, ArgIndex) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -259,7 +259,7 @@ namespace Serein.Workbench.Node.View
|
||||
var env = Start.MyNode.Env;
|
||||
if (Start.JunctionType.ToConnectyionType() == JunctionOfConnectionType.Invoke)
|
||||
{
|
||||
env.SetConnectPriorityInvoke(Start.MyNode.Guid, End.MyNode.Guid, InvokeType);
|
||||
env.FlowEdit.SetConnectPriorityInvoke(Start.MyNode.Guid, End.MyNode.Guid, InvokeType);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -174,15 +174,15 @@ namespace Serein.Workbench.Services
|
||||
/// </summary>
|
||||
private void InitNodeType()
|
||||
{
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.UI, typeof(UINodeControl), typeof(UINodeControlViewModel));
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.Action, typeof(ActionNodeControl), typeof(ActionNodeControlViewModel));
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.Flipflop, typeof(FlipflopNodeControl), typeof(FlipflopNodeControlViewModel));
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.ExpOp, typeof(ExpOpNodeControl), typeof(ExpOpNodeControlViewModel));
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.ExpCondition, typeof(ConditionNodeControl), typeof(ConditionNodeControlViewModel));
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.GlobalData, typeof(GlobalDataControl), typeof(GlobalDataNodeControlViewModel));
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.Script, typeof(ScriptNodeControl), typeof(ScriptNodeControlViewModel));
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.NetScript, typeof(NetScriptNodeControl), typeof(NetScriptNodeControlViewModel));
|
||||
flowEnvironment.NodeMVVMManagement.RegisterUI(NodeControlType.FlowCall, typeof(FlowCallNodeControl), typeof(FlowCallNodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.UI, typeof(UINodeControl), typeof(UINodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.Action, typeof(ActionNodeControl), typeof(ActionNodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.Flipflop, typeof(FlipflopNodeControl), typeof(FlipflopNodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.ExpOp, typeof(ExpOpNodeControl), typeof(ExpOpNodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.ExpCondition, typeof(ConditionNodeControl), typeof(ConditionNodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.GlobalData, typeof(GlobalDataControl), typeof(GlobalDataNodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.Script, typeof(ScriptNodeControl), typeof(ScriptNodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.NetScript, typeof(NetScriptNodeControl), typeof(NetScriptNodeControlViewModel));
|
||||
flowEnvironment.FlowEdit.NodeMVVMManagement.RegisterUI(NodeControlType.FlowCall, typeof(FlowCallNodeControl), typeof(FlowCallNodeControlViewModel));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -319,7 +319,7 @@ namespace Serein.Workbench.Services
|
||||
return;
|
||||
}
|
||||
|
||||
if (!flowEnvironment.NodeMVVMManagement.TryGetType(nodeModel.ControlType, out var nodeMVVM))
|
||||
if (!flowEnvironment.FlowEdit.NodeMVVMManagement.TryGetType(nodeModel.ControlType, out var nodeMVVM))
|
||||
{
|
||||
SereinEnv.WriteLine(InfoType.INFO, $"无法创建{nodeModel.ControlType}节点,节点类型尚未注册。");
|
||||
return;
|
||||
@@ -635,7 +635,7 @@ namespace Serein.Workbench.Services
|
||||
node.Position = new PositionOfUI(positionOfUI.X + offsetX, positionOfUI.Y + offsetY);
|
||||
}
|
||||
|
||||
_ = flowEnvironment.LoadNodeInfosAsync(nodes);
|
||||
_ = flowEnvironment.FlowEdit.LoadNodeInfosAsync(nodes);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -656,7 +656,7 @@ namespace Serein.Workbench.Services
|
||||
{
|
||||
int width = 1200;
|
||||
int height = 780;
|
||||
flowEnvironment.CreateCanvas("", width, height);
|
||||
flowEnvironment.FlowEdit.CreateCanvas("", width, height);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -669,7 +669,7 @@ namespace Serein.Workbench.Services
|
||||
return;
|
||||
}
|
||||
var model = ((FlowCanvasViewModel)CurrentSelectCanvas.DataContext).Model;
|
||||
flowEnvironment.RemoveCanvas(model.Guid);
|
||||
flowEnvironment.FlowEdit.RemoveCanvas(model.Guid);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -688,7 +688,7 @@ namespace Serein.Workbench.Services
|
||||
{
|
||||
return;
|
||||
}
|
||||
flowEnvironment.CreateNode(canvasGuid, nodeType, position, methodDetailsInfo);
|
||||
flowEnvironment.FlowEdit.CreateNode(canvasGuid, nodeType, position, methodDetailsInfo);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -707,7 +707,7 @@ namespace Serein.Workbench.Services
|
||||
return;
|
||||
}
|
||||
|
||||
flowEnvironment.RemoveNode(model.CanvasDetails.Guid, model.Guid);
|
||||
flowEnvironment.FlowEdit.RemoveNode(model.CanvasDetails.Guid, model.Guid);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -142,7 +142,7 @@ namespace Serein.Workbench.Themes
|
||||
{
|
||||
try
|
||||
{
|
||||
await flowEnvironment.StartFlowFromSelectNodeAsync(tmpNodeTreeModel.RootNode.Guid);
|
||||
await flowEnvironment.FlowControl.StartFlowFromSelectNodeAsync(tmpNodeTreeModel.RootNode.Guid);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -150,7 +150,7 @@ namespace Serein.Workbench.Themes
|
||||
return;
|
||||
}
|
||||
}));
|
||||
contextMenu.Items.Add(WpfFuncTool.CreateMenuItem("定位", (s, e) => flowEnvironment.NodeLocate(tmpNodeTreeModel.RootNode.Guid)));
|
||||
contextMenu.Items.Add(WpfFuncTool.CreateMenuItem("定位", (s, e) => flowEnvironment.FlowEdit.NodeLocate(tmpNodeTreeModel.RootNode.Guid)));
|
||||
|
||||
treeViewItem.ContextMenu = contextMenu;
|
||||
treeViewItem.Margin = new Thickness(-20, 0, 0, 0);
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace Serein.Workbench.ViewModels
|
||||
if(canvass.Length > 0)
|
||||
{
|
||||
string[] guids = [..canvass.Select(c => c.Guid)];
|
||||
flowEnvironment.StartFlowAsync(guids);
|
||||
flowEnvironment.FlowControl.StartFlowAsync(guids);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -122,7 +122,7 @@ namespace Serein.Workbench.ViewModels
|
||||
{
|
||||
var canvas = flowNodeService.CurrentSelectCanvas;
|
||||
if (canvas is null) return;
|
||||
flowEnvironment.StartFlowAsync([canvas.Guid]);
|
||||
flowEnvironment.FlowControl.StartFlowAsync([canvas.Guid]);
|
||||
}
|
||||
private void StopCurrentCanvasFlow() { }
|
||||
private void OpenDynamicCompiler() { }
|
||||
|
||||
@@ -370,7 +370,7 @@ namespace Serein.Workbench.Views
|
||||
if (TryPlaceNodeInRegion(nodeControl, position, out var regionControl)) // 判断添加到区域容器
|
||||
{
|
||||
// 通知运行环境调用加载节点子项的方法
|
||||
flowEnvironment.PlaceNodeToContainer(Guid,
|
||||
flowEnvironment.FlowEdit.PlaceNodeToContainer(Guid,
|
||||
nodeControl.ViewModel.NodeModel.Guid, // 待移动的节点
|
||||
regionControl.ViewModel.NodeModel.Guid); // 目标的容器节点
|
||||
return;
|
||||
@@ -557,14 +557,14 @@ namespace Serein.Workbench.Views
|
||||
if (keyEventService.GetKeyState(Key.LeftCtrl) || keyEventService.GetKeyState(Key.RightCtrl))
|
||||
{
|
||||
// Ctrl + F5 调试当前流程
|
||||
_ = flowEnvironment.StartFlowAsync([flowNodeService.CurrentSelectCanvas.Guid]);
|
||||
_ = flowEnvironment.FlowControl.StartFlowAsync([flowNodeService.CurrentSelectCanvas.Guid]);
|
||||
}
|
||||
else if (selectNodeControls.Count == 1 )
|
||||
{
|
||||
// F5 调试当前选定节点
|
||||
var nodeModel = selectNodeControls[0].ViewModel.NodeModel;
|
||||
SereinEnv.WriteLine(InfoType.INFO, $"调试运行当前节点:{nodeModel.Guid}");
|
||||
_ = flowEnvironment.StartFlowFromSelectNodeAsync(nodeModel.Guid);
|
||||
_ = flowEnvironment.FlowControl.StartFlowFromSelectNodeAsync(nodeModel.Guid);
|
||||
//_ = nodeModel.StartFlowAsync(new DynamicContext(flowEnvironment), new CancellationToken());
|
||||
}
|
||||
|
||||
@@ -897,7 +897,7 @@ namespace Serein.Workbench.Views
|
||||
{
|
||||
var canvasGuid = this.Guid;
|
||||
|
||||
flowEnvironment.ConnectInvokeNode(
|
||||
flowEnvironment.FlowEdit.ConnectInvokeNode(
|
||||
canvasGuid,
|
||||
cd.StartJunction.MyNode.Guid,
|
||||
cd.CurrentJunction.MyNode.Guid,
|
||||
@@ -921,7 +921,7 @@ namespace Serein.Workbench.Views
|
||||
}
|
||||
var canvasGuid = this.Guid;
|
||||
|
||||
flowEnvironment.ConnectArgSourceNode(
|
||||
flowEnvironment.FlowEdit.ConnectArgSourceNode(
|
||||
canvasGuid,
|
||||
cd.StartJunction.MyNode.Guid,
|
||||
cd.CurrentJunction.MyNode.Guid,
|
||||
@@ -1268,7 +1268,7 @@ namespace Serein.Workbench.Views
|
||||
if (!string.IsNullOrEmpty(guid))
|
||||
{
|
||||
var canvasGuid = this.Guid;
|
||||
flowEnvironment.RemoveNode(canvasGuid, guid);
|
||||
flowEnvironment.FlowEdit.RemoveNode(canvasGuid, guid);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1464,13 +1464,13 @@ namespace Serein.Workbench.Views
|
||||
{
|
||||
if (menuItem.Header.ToString() == "启动触发器")
|
||||
{
|
||||
flowEnvironment.ActivateFlipflopNode(nodeGuid);
|
||||
flowEnvironment.FlowControl.ActivateFlipflopNode(nodeGuid);
|
||||
|
||||
menuItem.Header = "终结触发器";
|
||||
}
|
||||
else
|
||||
{
|
||||
flowEnvironment.TerminateFlipflopNode(nodeGuid);
|
||||
flowEnvironment.FlowControl.TerminateFlipflopNode(nodeGuid);
|
||||
menuItem.Header = "启动触发器";
|
||||
|
||||
}
|
||||
@@ -1490,10 +1490,10 @@ namespace Serein.Workbench.Views
|
||||
|
||||
|
||||
|
||||
contextMenu.Items.Add(WpfFuncTool.CreateMenuItem("设为起点", (s, e) => flowEnvironment.SetStartNode(canvasGuid, nodeGuid)));
|
||||
contextMenu.Items.Add(WpfFuncTool.CreateMenuItem("设为起点", (s, e) => flowEnvironment.FlowEdit.SetStartNode(canvasGuid, nodeGuid)));
|
||||
contextMenu.Items.Add(WpfFuncTool.CreateMenuItem("删除", async (s, e) =>
|
||||
{
|
||||
flowEnvironment.RemoveNode(canvasGuid, nodeGuid);
|
||||
flowEnvironment.FlowEdit.RemoveNode(canvasGuid, nodeGuid);
|
||||
}));
|
||||
|
||||
#region 右键菜单功能 - 控件对齐
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace Serein.Workbench.Views
|
||||
if (sender is Grid grid && grid.DataContext is IFlowNode nodeModel)
|
||||
{
|
||||
NodeInfoViewModel.ViewNodeModel = nodeModel;
|
||||
App.GetService<IFlowEnvironment>().NodeLocate(nodeModel.Guid);
|
||||
App.GetService<IFlowEnvironment>().FlowEdit.NodeLocate(nodeModel.Guid);
|
||||
}
|
||||
|
||||
// 定位节点
|
||||
|
||||
Reference in New Issue
Block a user