修改环境接口(增加画布ID)

This commit is contained in:
fengjiayi
2025-04-03 15:58:57 +08:00
parent b1a9679138
commit ba74facf7d
12 changed files with 25 additions and 21 deletions

View File

@@ -4,7 +4,8 @@
<Version>1.1.0</Version> <Version>1.1.0</Version>
<!--<TargetFrameworks>net8.0</TargetFrameworks>--> <!--<TargetFrameworks>net8.0</TargetFrameworks>-->
<TargetFrameworks>net8.0;net462</TargetFrameworks> <TargetFrameworks>net8.0;net462</TargetFrameworks>
<BaseOutputPath>D:\Project\C#\DynamicControl\SereinFlow\.Output</BaseOutputPath> <BaseOutputPath>..\.\.Output</BaseOutputPath>
<!--<BaseOutputPath>D:\Project\C#\DynamicControl\SereinFlow\.Output</BaseOutputPath>-->
<GeneratePackageOnBuild>True</GeneratePackageOnBuild> <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Title>SereinFow</Title> <Title>SereinFow</Title>
<Description>基础依赖</Description> <Description>基础依赖</Description>

View File

@@ -767,6 +767,8 @@ namespace Serein.NodeFlow.Env
//} //}
} }
private int _addCanvasCount = 0;
/// <summary> /// <summary>
/// 增加画布 /// 增加画布
/// </summary> /// </summary>
@@ -780,11 +782,14 @@ namespace Serein.NodeFlow.Env
{ {
Guid = Guid.NewGuid().ToString(), Guid = Guid.NewGuid().ToString(),
Height = height, Height = height,
Name = canvasName, Name = !string.IsNullOrWhiteSpace(canvasName) ? canvasName : $"流程图 {_addCanvasCount++}",
Width = height, Width = height,
}; };
FlowCanvass.Add(model.Guid, model); FlowCanvass.Add(model.Guid, model);
OnCanvasCreate.Invoke(new CanvasCreateEventArgs(model)); UIContextOperation.Invoke(() =>
{
OnCanvasCreate.Invoke(new CanvasCreateEventArgs(model));
});
var info = model.ToInfo(); var info = model.ToInfo();
return Task.FromResult(info); return Task.FromResult(info);
} }

View File

@@ -445,7 +445,7 @@ namespace Serein.NodeFlow.Env
Width = info.Width, Width = info.Width,
}; };
UIContextOperation?.Invoke(() => UIContextOperation?.Invoke(() =>
OnCanvasCreate?.Invoke(new CanvasCreateEventArgs(info))); OnCanvasCreate?.Invoke(new CanvasCreateEventArgs(model)));
return info; return info;
} }

View File

@@ -5,7 +5,7 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<BaseOutputPath>D:\Project\C#\DynamicControl\SereinFlow\.Output</BaseOutputPath> <BaseOutputPath>..\.\.Output</BaseOutputPath>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild> <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Title>SereinFow</Title> <Title>SereinFow</Title>
<Description>管理节点的运行环境,非二次开发无须添加</Description> <Description>管理节点的运行环境,非二次开发无须添加</Description>

View File

@@ -4,8 +4,7 @@
<TargetFramework>netstandard2.0</TargetFramework> <TargetFramework>netstandard2.0</TargetFramework>
<Version>1.1.0</Version> <Version>1.1.0</Version>
<IsRoslynComponent>true</IsRoslynComponent> <IsRoslynComponent>true</IsRoslynComponent>
<BaseOutputPath>..\.\.Output</BaseOutputPath>
<BaseOutputPath>D:\Project\C#\DynamicControl\SereinFlow\.Output</BaseOutputPath>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild> <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Title>SereinFow</Title> <Title>SereinFow</Title>
<Description>基础依赖必须添加项用于生成NodeModel部分的依赖实体代码</Description> <Description>基础依赖必须添加项用于生成NodeModel部分的依赖实体代码</Description>

View File

@@ -4,6 +4,7 @@
<TargetFramework>net8.0</TargetFramework> <TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<BaseOutputPath>..\.\.Output</BaseOutputPath>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@@ -6,7 +6,7 @@
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<UseWPF>True</UseWPF> <UseWPF>True</UseWPF>
<BaseOutputPath>D:\Project\C#\DynamicControl\SereinFlow\.Output</BaseOutputPath> <BaseOutputPath>..\.\.Output</BaseOutputPath>
<PackageLicenseExpression>MIT</PackageLicenseExpression> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>
<!--<IsRoslynComponent>true</IsRoslynComponent>--> <!--<IsRoslynComponent>true</IsRoslynComponent>-->

View File

@@ -128,10 +128,13 @@ namespace Serein.Workbench.Services
/// <returns></returns> /// <returns></returns>
public void CreateFlowCanvas() public void CreateFlowCanvas()
{ {
string canvasName = "";
int height = 1000; int height = 1000;
int width = 600; int width = 600;
_ = flowEnvironment.CreateCanvasAsync(canvasName, width, height); _ = Task.Run(async () =>
{
var result = await flowEnvironment.CreateCanvasAsync("", width, height);
Console.WriteLine(result.Guid);
});
} }
/// <summary> /// <summary>

View File

@@ -28,7 +28,6 @@ namespace Serein.Workbench.ViewModels
[ObservableProperty] [ObservableProperty]
private FlowCanvasModel _selectedTab; private FlowCanvasModel _selectedTab;
private int _addCount = 0;
private readonly FlowNodeService flowNodeService; private readonly FlowNodeService flowNodeService;
public FlowEditViewModel(FlowNodeService flowNodeService) public FlowEditViewModel(FlowNodeService flowNodeService)
@@ -37,8 +36,8 @@ namespace Serein.Workbench.ViewModels
AddTabCommand = new RelayCommand(AddTab); AddTabCommand = new RelayCommand(AddTab);
RemoveTabCommand = new RelayCommand(RemoveTab, CanRemoveTab); RemoveTabCommand = new RelayCommand(RemoveTab, CanRemoveTab);
flowNodeService.OnCreateFlowCanvasView += OnCreateFlowCanvasView; // 环境创建了节点 flowNodeService.OnCreateFlowCanvasView += OnCreateFlowCanvasView; // 运行环境创建了画布
flowNodeService.OnRemoveFlowCanvasView += OnRemoveFlowCanvasView; flowNodeService.OnRemoveFlowCanvasView += OnRemoveFlowCanvasView; // 运行环境移除了画布
this.PropertyChanged += OnPropertyChanged; this.PropertyChanged += OnPropertyChanged;
} }

View File

@@ -19,8 +19,6 @@ namespace Serein.Workbench.ViewModels
[ObservableProperty] [ObservableProperty]
private ObservableCollection<FlowLibraryInfo> flowLibraryInfos; private ObservableCollection<FlowLibraryInfo> flowLibraryInfos;
public FlowLibrarysViewModel(IFlowEEForwardingService flowEEForwardingService) public FlowLibrarysViewModel(IFlowEEForwardingService flowEEForwardingService)
{ {
this.flowEEForwardingService = flowEEForwardingService; this.flowEEForwardingService = flowEEForwardingService;

View File

@@ -14,8 +14,6 @@ namespace Serein.Workbench.ViewModels
{ {
private readonly IFlowEEForwardingService flowEEForwardingService; private readonly IFlowEEForwardingService flowEEForwardingService;
public FlowWorkbenchViewModel(IFlowEEForwardingService flowEEForwardingService) public FlowWorkbenchViewModel(IFlowEEForwardingService flowEEForwardingService)
{ {
this.flowEEForwardingService = flowEEForwardingService; this.flowEEForwardingService = flowEEForwardingService;

View File

@@ -26,7 +26,7 @@ namespace Serein.Workbench.Views
/// </summary> /// </summary>
public partial class FlowCanvasView : UserControl public partial class FlowCanvasView : UserControl
{ {
public FlowCanvasViewModel ViewModel => ViewModel as FlowCanvasViewModel; public FlowCanvasViewModel ViewModel => this.DataContext as FlowCanvasViewModel;
/// <summary> /// <summary>
/// 存储所有的连接。考虑集成在运行环境中。 /// 存储所有的连接。考虑集成在运行环境中。
/// </summary> /// </summary>
@@ -89,8 +89,8 @@ namespace Serein.Workbench.Views
private IFlowEnvironment EnvDecorator; private IFlowEnvironment EnvDecorator;
public FlowCanvasView() public FlowCanvasView()
{ {
ViewModel = App.GetService<Locator>().FlowCanvasViewModel; var vm = App.GetService<Locator>().FlowCanvasViewModel;
this.DataContext = ViewModel; this.DataContext = vm;
EnvDecorator = App.GetService<IFlowEnvironment>(); EnvDecorator = App.GetService<IFlowEnvironment>();
InitializeComponent(); InitializeComponent();