From da4a17be40e7e07e43497792f8377dea917f6302 Mon Sep 17 00:00:00 2001 From: zengwenjie <1663900244@qq.com> Date: Tue, 16 Sep 2025 10:44:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=AE=B9=E5=99=A8=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E8=BE=85=E5=8A=A9=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DeedyDesigner/Deedy.Activity/BasalAction.cs | 16 ----------- ...mentCollection.cs => ElementCollection.cs} | 6 ++-- .../Contract/Interface/ICombinedElement.cs | 2 +- .../Contract/Interface/IContainerElement.cs | 10 +++++-- .../DeedyAction/FlowAction/CombinedLogical.cs | 2 +- .../FlowAction/ContainerLogical.cs | 12 +------- .../FuncAction/CombinedFunction.cs | 2 +- .../FuncAction/ContainerFunction.cs | 2 +- DeedyDesigner/Deedy.Activity/DeedyHelper.cs | 28 ++++++++++++++++++- .../Deedy.Activity/DeedyVisual/DeedyLayout.cs | 18 +----------- DeedyDesigner/Deedy.Activity/IElement.cs | 3 -- 11 files changed, 44 insertions(+), 57 deletions(-) rename DeedyDesigner/Deedy.Activity/Collection/{DeedyElementCollection.cs => ElementCollection.cs} (84%) diff --git a/DeedyDesigner/Deedy.Activity/BasalAction.cs b/DeedyDesigner/Deedy.Activity/BasalAction.cs index 2b6467f..5300ef7 100644 --- a/DeedyDesigner/Deedy.Activity/BasalAction.cs +++ b/DeedyDesigner/Deedy.Activity/BasalAction.cs @@ -56,22 +56,6 @@ namespace Deedy.Activity OnPropertyChanged(propertyName); return true; } - - public void InsertToFore(IElement element) - { - throw new NotImplementedException(); - } - - public void InsertAtRear(IElement element) - { - throw new NotImplementedException(); - } - - public void SwapIndex(IElement element) - { - throw new NotImplementedException(); - } - public void ReadyToWorking(IElement? element = null, Output? output = null) { throw new NotImplementedException(); diff --git a/DeedyDesigner/Deedy.Activity/Collection/DeedyElementCollection.cs b/DeedyDesigner/Deedy.Activity/Collection/ElementCollection.cs similarity index 84% rename from DeedyDesigner/Deedy.Activity/Collection/DeedyElementCollection.cs rename to DeedyDesigner/Deedy.Activity/Collection/ElementCollection.cs index c907416..24df19e 100644 --- a/DeedyDesigner/Deedy.Activity/Collection/DeedyElementCollection.cs +++ b/DeedyDesigner/Deedy.Activity/Collection/ElementCollection.cs @@ -8,10 +8,10 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public class DeedyElementCollection : ObservableCollection + public class ElementCollection : ObservableCollection { - public DeedyElementCollection() : this(false) { } - public DeedyElementCollection(bool needDistinct = false) + public ElementCollection() : this(false) { } + public ElementCollection(bool needDistinct = false) { this._needDistinct = needDistinct; } diff --git a/DeedyDesigner/Deedy.Activity/Contract/Interface/ICombinedElement.cs b/DeedyDesigner/Deedy.Activity/Contract/Interface/ICombinedElement.cs index 89e1d74..f616413 100644 --- a/DeedyDesigner/Deedy.Activity/Contract/Interface/ICombinedElement.cs +++ b/DeedyDesigner/Deedy.Activity/Contract/Interface/ICombinedElement.cs @@ -9,6 +9,6 @@ namespace Deedy.Activity { public interface ICombinedElement : IElement { - public DeedyElementCollection Elements { get; set; } + public ElementCollection Elements { get; set; } } } diff --git a/DeedyDesigner/Deedy.Activity/Contract/Interface/IContainerElement.cs b/DeedyDesigner/Deedy.Activity/Contract/Interface/IContainerElement.cs index 6f3f765..756251c 100644 --- a/DeedyDesigner/Deedy.Activity/Contract/Interface/IContainerElement.cs +++ b/DeedyDesigner/Deedy.Activity/Contract/Interface/IContainerElement.cs @@ -8,7 +8,13 @@ namespace Deedy.Activity { public interface IContainerElement : ICombinedElement { - public void Append(IElement element); - public void Remove(IElement element); + public void Append(IElement element) => this.Elements.Add(element); + public void Remove(IElement element) => this.Elements.Remove(element); + public void Insert(IElement element, uint index) + { + if (element == null) return; + if (index < this.Elements.Count) this.Elements.Insert((int)index, element); + if (index >= this.Elements.Count) this.Elements.Add(element); + } } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/CombinedLogical.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/CombinedLogical.cs index 190e081..3d33075 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/CombinedLogical.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/CombinedLogical.cs @@ -10,6 +10,6 @@ namespace Deedy.Activity { public CombinedLogical() { } - public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public ElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/ContainerLogical.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/ContainerLogical.cs index c0f71ee..4e43702 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/ContainerLogical.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/ContainerLogical.cs @@ -10,16 +10,6 @@ namespace Deedy.Activity { public ContainerLogical() { } - public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } - - public void Append(IElement deedyElement) - { - throw new NotImplementedException(); - } - - public void Remove(IElement deedyElement) - { - throw new NotImplementedException(); - } + public ElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/CombinedFunction.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/CombinedFunction.cs index 51581cc..0134ba0 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/CombinedFunction.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/CombinedFunction.cs @@ -10,6 +10,6 @@ namespace Deedy.Activity { public CombinedFunction() { } - public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public ElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/ContainerFunction.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/ContainerFunction.cs index aae857a..6f3efdc 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/ContainerFunction.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/ContainerFunction.cs @@ -10,7 +10,7 @@ namespace Deedy.Activity { public ContainerFunction() { } - public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public ElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } public void Append(IElement deedyElement) { diff --git a/DeedyDesigner/Deedy.Activity/DeedyHelper.cs b/DeedyDesigner/Deedy.Activity/DeedyHelper.cs index 19e3604..617160a 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyHelper.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyHelper.cs @@ -53,9 +53,35 @@ namespace Deedy.Activity /// /// 需要构建参数映射表的Element节点 /// 消息输出器 - internal static void BuildParamMapping(this IElement element, Output? output = null) + public static void BuildParamMapping(this IElement element, Output? output = null) { // } + /// + /// 将一个元素插入到当前节点前方「前提:当前节点的父级必须是可变容器节点」 + /// + /// 当前节点 + /// 待插入的节点 + public static void InsertElementToFore(this IElement element, IElement insertion) + { + // + } + /// + /// 将一个元素插入到当前节点后方「前提:当前节点的父级必须是可变容器节点」 + /// + /// 当前节点 + /// 待插入的节点 + public static void InsertElementAtRear(this IElement element, IElement insertion) + { + // + } + /// + /// 将当前节点从父节点中移除 + /// + /// 要移除的元素 + public static void RemoveFromParent(this IElement element) + { + if (element != null && element.ParentElement is IContainerElement container) container.Remove(element); + } } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyVisual/DeedyLayout.cs b/DeedyDesigner/Deedy.Activity/DeedyVisual/DeedyLayout.cs index bee968e..7d5bd90 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyVisual/DeedyLayout.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyVisual/DeedyLayout.cs @@ -19,7 +19,7 @@ namespace Deedy.Activity public IElement RootElement => (this.ParentElement == null) ? this : this.ParentElement.RootElement; - public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + public ElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } public Runtime Runtime => throw new NotImplementedException(); @@ -68,22 +68,6 @@ namespace Deedy.Activity { throw new NotImplementedException(); } - - public void InsertToFore(IElement element) - { - throw new NotImplementedException(); - } - - public void InsertAtRear(IElement element) - { - throw new NotImplementedException(); - } - - public void SwapIndex(IElement element) - { - throw new NotImplementedException(); - } - public void ReadyToWorking(IElement? element = null, Output? output = null) { throw new NotImplementedException(); diff --git a/DeedyDesigner/Deedy.Activity/IElement.cs b/DeedyDesigner/Deedy.Activity/IElement.cs index 5fec1dd..ed395ff 100644 --- a/DeedyDesigner/Deedy.Activity/IElement.cs +++ b/DeedyDesigner/Deedy.Activity/IElement.cs @@ -19,9 +19,6 @@ namespace Deedy.Activity public int DepthLevel { get; } public IElement? ParentElement { get; } public IElement RootElement { get; } - public void InsertToFore(IElement element); - public void InsertAtRear(IElement element); - public void SwapIndex(IElement element); /// /// 将当前节点链接到一个节点上 ///