1. 重新设计了Generate项目及相关特性的命名,避免与其他类型混淆。

2. 补充了部分注释。
3. 修改了删除容器节点时,容器内子节点未正确删除的问题。
This commit is contained in:
fengjiayi
2025-07-30 21:15:07 +08:00
parent 93148b11a5
commit 152077e9b5
188 changed files with 2713 additions and 1406 deletions

View File

@@ -13,10 +13,14 @@ namespace Serein.Workbench.Node.View
{
private readonly GlobalDataNodeControlViewModel viewModel;
/// <summary>
/// 全局数据控件构造函数,使用默认的全局数据节点模型
/// </summary>
public GlobalDataControl() : base()
{
// 窗体初始化需要
var env = App.GetService<IFlowEnvironment>();
viewModel = new GlobalDataNodeControlViewModel(new SingleGlobalDataNode(env));
base.ViewModel = new GlobalDataNodeControlViewModel(new SingleGlobalDataNode(env));
base.ViewModel.IsEnabledOnView = false;
base.ViewModel.NodeModel.DisplayName = "[全局数据]";
@@ -24,6 +28,11 @@ namespace Serein.Workbench.Node.View
InitializeComponent();
}
/// <summary>
/// 全局数据控件构造函数,使用指定的全局数据节点模型
/// </summary>
/// <param name="viewModel"></param>
public GlobalDataControl(GlobalDataNodeControlViewModel viewModel) : base(viewModel)
{
DataContext = viewModel;
@@ -54,6 +63,11 @@ namespace Serein.Workbench.Node.View
JunctionControlBase[] INodeJunction.ArgDataJunction => throw new NotImplementedException();
/// <summary>
/// 放置节点控件到全局数据面板中
/// </summary>
/// <param name="nodeControl"></param>
/// <returns></returns>
public bool PlaceNode(NodeControlBase nodeControl)
{
if (GlobalDataPanel.Children.Contains(nodeControl))
@@ -65,6 +79,11 @@ namespace Serein.Workbench.Node.View
return true;
}
/// <summary>
/// 从全局数据面板中取出节点控件
/// </summary>
/// <param name="nodeControl"></param>
/// <returns></returns>
public bool TakeOutNode(NodeControlBase nodeControl)
{
if (!GlobalDataPanel.Children.Contains(nodeControl))
@@ -75,6 +94,9 @@ namespace Serein.Workbench.Node.View
return true;
}
/// <summary>
/// 取出所有节点控件(用于删除容器)
/// </summary>
public void TakeOutAll()
{
GlobalDataPanel.Children.Clear();