From 7db5f8a9d991dfbd744b505fbbc01a0713c6b407 Mon Sep 17 00:00:00 2001 From: zengwenjie <1663900244@qq.com> Date: Tue, 16 Sep 2025 09:22:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=BB=A7=E6=89=BF=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=B8=8E=E5=9F=BA=E7=B1=BB=E9=87=8D=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DeedyDesigner/Deedy.Activity/ActionViewer.cs | 8 ++--- .../{DeedyAction.cs => BasalAction.cs} | 16 ++++----- .../Collection/DeedyElementCollection.cs | 8 ++--- .../Contract/Interface/ICombinedElement.cs | 2 +- .../Contract/Interface/IContainerElement.cs | 4 +-- .../Deedy.Activity/DeedyAction/ExecAction.cs | 2 +- .../Deedy.Activity/DeedyAction/FlowAction.cs | 2 +- .../DeedyAction/FlowAction/CombinedNode.cs | 4 ++- .../DeedyAction/FlowAction/ContainerBlock.cs | 14 +++++++- .../Deedy.Activity/DeedyAction/FuncAction.cs | 2 +- .../FuncAction/CombinedFunction.cs | 4 ++- .../FuncAction/ContainerFunction.cs | 14 +++++++- .../Deedy.Activity/DeedyVisual/DeedyLayout.cs | 18 +++++----- .../{IDeedyAction.cs => IActionElement.cs} | 2 +- DeedyDesigner/Deedy.Activity/IActionViewer.cs | 6 ++-- .../Deedy.Activity/IDeedyActivity.cs | 13 +++++++ .../{IDeedyElement.cs => IElementActivity.cs} | 34 +++++++++---------- .../{IDeedyVisual.cs => IVisualElement.cs} | 2 +- 18 files changed, 97 insertions(+), 58 deletions(-) rename DeedyDesigner/Deedy.Activity/{DeedyAction.cs => BasalAction.cs} (82%) rename DeedyDesigner/Deedy.Activity/{IDeedyAction.cs => IActionElement.cs} (79%) create mode 100644 DeedyDesigner/Deedy.Activity/IDeedyActivity.cs rename DeedyDesigner/Deedy.Activity/{IDeedyElement.cs => IElementActivity.cs} (73%) rename DeedyDesigner/Deedy.Activity/{IDeedyVisual.cs => IVisualElement.cs} (74%) diff --git a/DeedyDesigner/Deedy.Activity/ActionViewer.cs b/DeedyDesigner/Deedy.Activity/ActionViewer.cs index f818623..7eb3c8a 100644 --- a/DeedyDesigner/Deedy.Activity/ActionViewer.cs +++ b/DeedyDesigner/Deedy.Activity/ActionViewer.cs @@ -92,13 +92,13 @@ namespace Deedy.Activity /// /// 动作节点 /// - public IDeedyAction DeedyAction + public IActionElement DeedyAction { - get { return (IDeedyAction)GetValue(DeedyActionProperty); } + get { return (IActionElement)GetValue(DeedyActionProperty); } set { SetValue(DeedyActionProperty, value); } } public static readonly DependencyProperty DeedyActionProperty = - DependencyProperty.Register("DeedyAction", typeof(IDeedyAction), typeof(ActionViewer), new PropertyMetadata(null, + DependencyProperty.Register("DeedyAction", typeof(IActionElement), typeof(ActionViewer), new PropertyMetadata(null, (d, e) => (d as ActionViewer)?.DeedyAction_PropertyChangedCallback(e))); /// /// 处理「DeedyActionViewer.DeedyAction」属性变更 @@ -107,7 +107,7 @@ namespace Deedy.Activity { // } - public void ReadyToWorking(Runtime? runtime) + public void ReadyToWorking(IElementActivity? element = null, Output? output = null) { throw new NotImplementedException(); } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction.cs b/DeedyDesigner/Deedy.Activity/BasalAction.cs similarity index 82% rename from DeedyDesigner/Deedy.Activity/DeedyAction.cs rename to DeedyDesigner/Deedy.Activity/BasalAction.cs index 5800f92..1eada7f 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction.cs +++ b/DeedyDesigner/Deedy.Activity/BasalAction.cs @@ -8,18 +8,18 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public abstract class DeedyAction : IDeedyAction + public abstract class BasalAction : IActionElement { - protected internal DeedyAction() { } + protected internal BasalAction() { } public string DEClass { get; protected internal set; } = ""; public string DETitle { get; set; } = ""; public string DERemark { get; set; } = ""; public string DEIdentify { get; set; } = ""; public int DepthLevel { get; protected internal set; } = 0; - public IDeedyElement? ParentElement { get; protected internal set; } + public IElementActivity? ParentElement { get; protected internal set; } public IActionViewer? ActionViewer { get; protected internal set; } - public IDeedyElement RootElement => (this.ParentElement == null) ? this : this.ParentElement.RootElement; + public IElementActivity RootElement => (this.ParentElement == null) ? this : this.ParentElement.RootElement; public event PropertyChangedEventHandler? PropertyChanged; @@ -55,22 +55,22 @@ namespace Deedy.Activity return true; } - public void InsertToFore(IDeedyElement deedyElement) + public void InsertToFore(IElementActivity deedyElement) { throw new NotImplementedException(); } - public void InsertAtRear(IDeedyElement deedyElement) + public void InsertAtRear(IElementActivity deedyElement) { throw new NotImplementedException(); } - public void SwapIndex(IDeedyElement deedyElement) + public void SwapIndex(IElementActivity deedyElement) { throw new NotImplementedException(); } - public void ReadyToWorking(IDeedyElement? parent = null) + public void ReadyToWorking(IElementActivity? element = null, Output? output = null) { throw new NotImplementedException(); } diff --git a/DeedyDesigner/Deedy.Activity/Collection/DeedyElementCollection.cs b/DeedyDesigner/Deedy.Activity/Collection/DeedyElementCollection.cs index 86c462a..b1a3fe8 100644 --- a/DeedyDesigner/Deedy.Activity/Collection/DeedyElementCollection.cs +++ b/DeedyDesigner/Deedy.Activity/Collection/DeedyElementCollection.cs @@ -8,7 +8,7 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public class DeedyElementCollection : ObservableCollection + public class DeedyElementCollection : ObservableCollection { public DeedyElementCollection() : this(false) { } public DeedyElementCollection(bool needDistinct = false) @@ -16,15 +16,15 @@ namespace Deedy.Activity this._needDistinct = needDistinct; } private bool _needDistinct = false; - public void AddRange(params IDeedyElement[] elements) + public void AddRange(params IElementActivity[] elements) { foreach (var element in elements) this.Add(element); } - public void AddRange([AllowNull] IEnumerable elements) + public void AddRange([AllowNull] IEnumerable elements) { if (elements != null) foreach (var element in elements) this.Add(element); } - public new void Add([AllowNull] IDeedyElement element) + public new void Add([AllowNull] IElementActivity element) { if (element == null) return; if (this._needDistinct) diff --git a/DeedyDesigner/Deedy.Activity/Contract/Interface/ICombinedElement.cs b/DeedyDesigner/Deedy.Activity/Contract/Interface/ICombinedElement.cs index 7de00fc..8e4e344 100644 --- a/DeedyDesigner/Deedy.Activity/Contract/Interface/ICombinedElement.cs +++ b/DeedyDesigner/Deedy.Activity/Contract/Interface/ICombinedElement.cs @@ -7,7 +7,7 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public interface ICombinedElement : IDeedyElement + public interface ICombinedElement : IElementActivity { public DeedyElementCollection Elements { get; set; } } diff --git a/DeedyDesigner/Deedy.Activity/Contract/Interface/IContainerElement.cs b/DeedyDesigner/Deedy.Activity/Contract/Interface/IContainerElement.cs index 138d86b..42d5b1e 100644 --- a/DeedyDesigner/Deedy.Activity/Contract/Interface/IContainerElement.cs +++ b/DeedyDesigner/Deedy.Activity/Contract/Interface/IContainerElement.cs @@ -8,7 +8,7 @@ namespace Deedy.Activity { public interface IContainerElement : ICombinedElement { - public void Append(IDeedyElement deedyElement); - public void Remove(IDeedyElement deedyElement); + public void Append(IElementActivity deedyElement); + public void Remove(IElementActivity deedyElement); } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/ExecAction.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/ExecAction.cs index 22897ed..3150c9c 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/ExecAction.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/ExecAction.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public abstract class ExecAction : DeedyAction + public abstract class ExecAction : BasalAction { protected internal ExecAction() { } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction.cs index 082a416..6074b9d 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public abstract class FlowAction : DeedyAction + public abstract class FlowAction : BasalAction { protected internal FlowAction() { } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/CombinedNode.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/CombinedNode.cs index abf8046..22a214f 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/CombinedNode.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/CombinedNode.cs @@ -6,8 +6,10 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public abstract class CombinedNode : FlowAction + public abstract class CombinedNode : FlowAction, ICombinedElement { public CombinedNode() { } + + public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/ContainerBlock.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/ContainerBlock.cs index 5a3a419..b7f7259 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/ContainerBlock.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FlowAction/ContainerBlock.cs @@ -6,8 +6,20 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public abstract class ContainerBlock : FlowAction + public abstract class ContainerBlock : FlowAction, IContainerElement { public ContainerBlock() { } + + public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + + public void Append(IElementActivity deedyElement) + { + throw new NotImplementedException(); + } + + public void Remove(IElementActivity deedyElement) + { + throw new NotImplementedException(); + } } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction.cs index de4e48b..7888cf8 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public abstract class FuncAction : DeedyAction + public abstract class FuncAction : BasalAction { protected internal FuncAction() { } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/CombinedFunction.cs b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/CombinedFunction.cs index 7b194d5..51581cc 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/CombinedFunction.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/CombinedFunction.cs @@ -6,8 +6,10 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public abstract class CombinedFunction : FuncAction + public abstract class CombinedFunction : FuncAction, ICombinedElement { public CombinedFunction() { } + + public DeedyElementCollection 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 cccd542..9ad0895 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/ContainerFunction.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyAction/FuncAction/ContainerFunction.cs @@ -6,8 +6,20 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public abstract class ContainerFunction : FuncAction + public abstract class ContainerFunction : FuncAction, IContainerElement { public ContainerFunction() { } + + public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } + + public void Append(IElementActivity deedyElement) + { + throw new NotImplementedException(); + } + + public void Remove(IElementActivity deedyElement) + { + throw new NotImplementedException(); + } } } diff --git a/DeedyDesigner/Deedy.Activity/DeedyVisual/DeedyLayout.cs b/DeedyDesigner/Deedy.Activity/DeedyVisual/DeedyLayout.cs index bc63a3d..8e60251 100644 --- a/DeedyDesigner/Deedy.Activity/DeedyVisual/DeedyLayout.cs +++ b/DeedyDesigner/Deedy.Activity/DeedyVisual/DeedyLayout.cs @@ -15,9 +15,9 @@ namespace Deedy.Activity public string DERemark { get; set; } = ""; public string DEIdentify { get; set; } = ""; public int DepthLevel { get; protected internal set; } = 0; - public IDeedyElement? ParentElement { get; protected internal set; } + public IElementActivity? ParentElement { get; protected internal set; } - public IDeedyElement RootElement => (this.ParentElement == null) ? this : this.ParentElement.RootElement; + public IElementActivity RootElement => (this.ParentElement == null) ? this : this.ParentElement.RootElement; public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); } @@ -57,37 +57,37 @@ namespace Deedy.Activity return true; } - public void Append(IDeedyElement deedyElement) + public void Append(IElementActivity deedyElement) { throw new NotImplementedException(); } - public void Remove(IDeedyElement deedyElement) + public void Remove(IElementActivity deedyElement) { throw new NotImplementedException(); } - public void InsertToFore(IDeedyElement deedyElement) + public void InsertToFore(IElementActivity deedyElement) { throw new NotImplementedException(); } - public void InsertAtRear(IDeedyElement deedyElement) + public void InsertAtRear(IElementActivity deedyElement) { throw new NotImplementedException(); } - public void SwapIndex(IDeedyElement element1, IDeedyElement element2) + public void SwapIndex(IElementActivity element1, IElementActivity element2) { throw new NotImplementedException(); } - public void SwapIndex(IDeedyElement deedyElement) + public void SwapIndex(IElementActivity deedyElement) { throw new NotImplementedException(); } - public void ReadyToWorking(IDeedyElement? parent = null) + public void ReadyToWorking(IElementActivity? element = null, Output? output = null) { throw new NotImplementedException(); } diff --git a/DeedyDesigner/Deedy.Activity/IDeedyAction.cs b/DeedyDesigner/Deedy.Activity/IActionElement.cs similarity index 79% rename from DeedyDesigner/Deedy.Activity/IDeedyAction.cs rename to DeedyDesigner/Deedy.Activity/IActionElement.cs index 0fd7a0b..eb2cc97 100644 --- a/DeedyDesigner/Deedy.Activity/IDeedyAction.cs +++ b/DeedyDesigner/Deedy.Activity/IActionElement.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public interface IDeedyAction : IDeedyElement + public interface IActionElement : IElementActivity { public IActionViewer? ActionViewer { get; } } diff --git a/DeedyDesigner/Deedy.Activity/IActionViewer.cs b/DeedyDesigner/Deedy.Activity/IActionViewer.cs index fdeec36..7a1c90b 100644 --- a/DeedyDesigner/Deedy.Activity/IActionViewer.cs +++ b/DeedyDesigner/Deedy.Activity/IActionViewer.cs @@ -9,11 +9,9 @@ using System.Windows; namespace Deedy.Activity { - public interface IActionViewer : INotifyPropertyChanged + public interface IActionViewer : IDeedyActivity, INotifyPropertyChanged { [AllowNull] - public IDeedyAction DeedyAction { get; set; } - public void ReadyToWorking(Runtime? runtime); - + public IActionElement DeedyAction { get; set; } } } diff --git a/DeedyDesigner/Deedy.Activity/IDeedyActivity.cs b/DeedyDesigner/Deedy.Activity/IDeedyActivity.cs new file mode 100644 index 0000000..f76203f --- /dev/null +++ b/DeedyDesigner/Deedy.Activity/IDeedyActivity.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Deedy.Activity +{ + public interface IDeedyActivity + { + public void ReadyToWorking(IElementActivity? element = null, Output? output = null); + } +} diff --git a/DeedyDesigner/Deedy.Activity/IDeedyElement.cs b/DeedyDesigner/Deedy.Activity/IElementActivity.cs similarity index 73% rename from DeedyDesigner/Deedy.Activity/IDeedyElement.cs rename to DeedyDesigner/Deedy.Activity/IElementActivity.cs index 7ac21f0..0c4ee02 100644 --- a/DeedyDesigner/Deedy.Activity/IDeedyElement.cs +++ b/DeedyDesigner/Deedy.Activity/IElementActivity.cs @@ -10,23 +10,23 @@ using System.Windows.Markup; namespace Deedy.Activity { - public interface IDeedyElement : INotifyPropertyChanged + public interface IElementActivity : IDeedyActivity, INotifyPropertyChanged { public string DEClass { get; } public string DETitle { get; set; } public string DERemark { get; set; } public string DEIdentify { get; set; } public int DepthLevel { get; } - public IDeedyElement? ParentElement { get; } - public IDeedyElement RootElement { get; } - public void InsertToFore(IDeedyElement deedyElement); - public void InsertAtRear(IDeedyElement deedyElement); - public void SwapIndex(IDeedyElement deedyElement); + public IElementActivity? ParentElement { get; } + public IElementActivity RootElement { get; } + public void InsertToFore(IElementActivity deedyElement); + public void InsertAtRear(IElementActivity deedyElement); + public void SwapIndex(IElementActivity deedyElement); /// /// 将当前节点链接到一个节点上 /// /// 要链接到的节点 - public virtual void LinkTo([AllowNull] IDeedyElement element) + public virtual void LinkTo([AllowNull] IElementActivity element) { if (element == null) { @@ -58,26 +58,26 @@ namespace Deedy.Activity public virtual void Unlink() { (this.ParentElement as IContainerElement)?.Remove(this); - this.SetNamedPropertyValue(nameof(ParentElement), null); + this.SetNamedPropertyValue(nameof(ParentElement), null); this.SetNamedPropertyValue(nameof(DepthLevel), 0); } /// /// 构建结构树,设置层级:并且完成参数映射的刷新 /// /// - public void ReadyToWorking(IDeedyElement? parent = null) + public new void ReadyToWorking(IElementActivity? element = null, Output? output = null) { //TODO:刷新参数映射 - this.LinkTo(parent); + this.LinkTo(element); if (this is IContainerElement container) - foreach (IDeedyElement element in container.Elements) - element.ReadyToWorking(this); + foreach (IElementActivity subElement in container.Elements) + subElement.ReadyToWorking(this); } - public virtual IDeedyElement? Clone() + public virtual IElementActivity? Clone() { try { - return XamlReader.Parse(XamlWriter.Save(this)) as IDeedyElement; + return XamlReader.Parse(XamlWriter.Save(this)) as IElementActivity; } catch { return null; } } @@ -92,13 +92,13 @@ namespace Deedy.Activity catch { document = string.Empty; } return result; } - public static virtual bool TryDecode(string document, out IDeedyElement? element) + public static virtual bool TryDecode(string document, out IElementActivity? element) { - IDeedyElement? instance = null; + IElementActivity? instance = null; bool result = false; try { - instance = XamlReader.Parse(document) as IDeedyElement; + instance = XamlReader.Parse(document) as IElementActivity; result = instance != null; } catch { } diff --git a/DeedyDesigner/Deedy.Activity/IDeedyVisual.cs b/DeedyDesigner/Deedy.Activity/IVisualElement.cs similarity index 74% rename from DeedyDesigner/Deedy.Activity/IDeedyVisual.cs rename to DeedyDesigner/Deedy.Activity/IVisualElement.cs index 70ba1d2..3f8571a 100644 --- a/DeedyDesigner/Deedy.Activity/IDeedyVisual.cs +++ b/DeedyDesigner/Deedy.Activity/IVisualElement.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public interface IDeedyVisual : IDeedyElement + public interface IVisualElement : IElementActivity { } }