调整继承结构与基类重命名
This commit is contained in:
@@ -92,13 +92,13 @@ namespace Deedy.Activity
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 动作节点
|
/// 动作节点
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public IDeedyAction DeedyAction
|
public IActionElement DeedyAction
|
||||||
{
|
{
|
||||||
get { return (IDeedyAction)GetValue(DeedyActionProperty); }
|
get { return (IActionElement)GetValue(DeedyActionProperty); }
|
||||||
set { SetValue(DeedyActionProperty, value); }
|
set { SetValue(DeedyActionProperty, value); }
|
||||||
}
|
}
|
||||||
public static readonly DependencyProperty DeedyActionProperty =
|
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)));
|
(d, e) => (d as ActionViewer)?.DeedyAction_PropertyChangedCallback(e)));
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 处理「DeedyActionViewer.DeedyAction」属性变更
|
/// 处理「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();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,18 +8,18 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
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 DEClass { get; protected internal set; } = "";
|
||||||
public string DETitle { get; set; } = "";
|
public string DETitle { get; set; } = "";
|
||||||
public string DERemark { get; set; } = "";
|
public string DERemark { get; set; } = "";
|
||||||
public string DEIdentify { get; set; } = "";
|
public string DEIdentify { get; set; } = "";
|
||||||
public int DepthLevel { get; protected internal set; } = 0;
|
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 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;
|
public event PropertyChangedEventHandler? PropertyChanged;
|
||||||
|
|
||||||
@@ -55,22 +55,22 @@ namespace Deedy.Activity
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InsertToFore(IDeedyElement deedyElement)
|
public void InsertToFore(IElementActivity deedyElement)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InsertAtRear(IDeedyElement deedyElement)
|
public void InsertAtRear(IElementActivity deedyElement)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SwapIndex(IDeedyElement deedyElement)
|
public void SwapIndex(IElementActivity deedyElement)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReadyToWorking(IDeedyElement? parent = null)
|
public void ReadyToWorking(IElementActivity? element = null, Output? output = null)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
@@ -8,7 +8,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public class DeedyElementCollection : ObservableCollection<IDeedyElement>
|
public class DeedyElementCollection : ObservableCollection<IElementActivity>
|
||||||
{
|
{
|
||||||
public DeedyElementCollection() : this(false) { }
|
public DeedyElementCollection() : this(false) { }
|
||||||
public DeedyElementCollection(bool needDistinct = false)
|
public DeedyElementCollection(bool needDistinct = false)
|
||||||
@@ -16,15 +16,15 @@ namespace Deedy.Activity
|
|||||||
this._needDistinct = needDistinct;
|
this._needDistinct = needDistinct;
|
||||||
}
|
}
|
||||||
private bool _needDistinct = false;
|
private bool _needDistinct = false;
|
||||||
public void AddRange(params IDeedyElement[] elements)
|
public void AddRange(params IElementActivity[] elements)
|
||||||
{
|
{
|
||||||
foreach (var element in elements) this.Add(element);
|
foreach (var element in elements) this.Add(element);
|
||||||
}
|
}
|
||||||
public void AddRange([AllowNull] IEnumerable<IDeedyElement> elements)
|
public void AddRange([AllowNull] IEnumerable<IElementActivity> elements)
|
||||||
{
|
{
|
||||||
if (elements != null) foreach (var element in elements) this.Add(element);
|
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 (element == null) return;
|
||||||
if (this._needDistinct)
|
if (this._needDistinct)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public interface ICombinedElement : IDeedyElement
|
public interface ICombinedElement : IElementActivity
|
||||||
{
|
{
|
||||||
public DeedyElementCollection Elements { get; set; }
|
public DeedyElementCollection Elements { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ namespace Deedy.Activity
|
|||||||
{
|
{
|
||||||
public interface IContainerElement : ICombinedElement
|
public interface IContainerElement : ICombinedElement
|
||||||
{
|
{
|
||||||
public void Append(IDeedyElement deedyElement);
|
public void Append(IElementActivity deedyElement);
|
||||||
public void Remove(IDeedyElement deedyElement);
|
public void Remove(IElementActivity deedyElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public abstract class ExecAction : DeedyAction
|
public abstract class ExecAction : BasalAction
|
||||||
{
|
{
|
||||||
protected internal ExecAction() { }
|
protected internal ExecAction() { }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public abstract class FlowAction : DeedyAction
|
public abstract class FlowAction : BasalAction
|
||||||
{
|
{
|
||||||
protected internal FlowAction() { }
|
protected internal FlowAction() { }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public abstract class CombinedNode : FlowAction
|
public abstract class CombinedNode : FlowAction, ICombinedElement
|
||||||
{
|
{
|
||||||
public CombinedNode() { }
|
public CombinedNode() { }
|
||||||
|
|
||||||
|
public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,20 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public abstract class ContainerBlock : FlowAction
|
public abstract class ContainerBlock : FlowAction, IContainerElement
|
||||||
{
|
{
|
||||||
public ContainerBlock() { }
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public abstract class FuncAction : DeedyAction
|
public abstract class FuncAction : BasalAction
|
||||||
{
|
{
|
||||||
protected internal FuncAction() { }
|
protected internal FuncAction() { }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public abstract class CombinedFunction : FuncAction
|
public abstract class CombinedFunction : FuncAction, ICombinedElement
|
||||||
{
|
{
|
||||||
public CombinedFunction() { }
|
public CombinedFunction() { }
|
||||||
|
|
||||||
|
public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,20 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public abstract class ContainerFunction : FuncAction
|
public abstract class ContainerFunction : FuncAction, IContainerElement
|
||||||
{
|
{
|
||||||
public ContainerFunction() { }
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,9 +15,9 @@ namespace Deedy.Activity
|
|||||||
public string DERemark { get; set; } = "";
|
public string DERemark { get; set; } = "";
|
||||||
public string DEIdentify { get; set; } = "";
|
public string DEIdentify { get; set; } = "";
|
||||||
public int DepthLevel { get; protected internal set; } = 0;
|
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(); }
|
public DeedyElementCollection Elements { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||||
|
|
||||||
@@ -57,37 +57,37 @@ namespace Deedy.Activity
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Append(IDeedyElement deedyElement)
|
public void Append(IElementActivity deedyElement)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Remove(IDeedyElement deedyElement)
|
public void Remove(IElementActivity deedyElement)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InsertToFore(IDeedyElement deedyElement)
|
public void InsertToFore(IElementActivity deedyElement)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InsertAtRear(IDeedyElement deedyElement)
|
public void InsertAtRear(IElementActivity deedyElement)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SwapIndex(IDeedyElement element1, IDeedyElement element2)
|
public void SwapIndex(IElementActivity element1, IElementActivity element2)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SwapIndex(IDeedyElement deedyElement)
|
public void SwapIndex(IElementActivity deedyElement)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ReadyToWorking(IDeedyElement? parent = null)
|
public void ReadyToWorking(IElementActivity? element = null, Output? output = null)
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public interface IDeedyAction : IDeedyElement
|
public interface IActionElement : IElementActivity
|
||||||
{
|
{
|
||||||
public IActionViewer? ActionViewer { get; }
|
public IActionViewer? ActionViewer { get; }
|
||||||
}
|
}
|
||||||
@@ -9,11 +9,9 @@ using System.Windows;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public interface IActionViewer : INotifyPropertyChanged
|
public interface IActionViewer : IDeedyActivity, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
[AllowNull]
|
[AllowNull]
|
||||||
public IDeedyAction DeedyAction { get; set; }
|
public IActionElement DeedyAction { get; set; }
|
||||||
public void ReadyToWorking(Runtime? runtime);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
13
DeedyDesigner/Deedy.Activity/IDeedyActivity.cs
Normal file
13
DeedyDesigner/Deedy.Activity/IDeedyActivity.cs
Normal file
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,23 +10,23 @@ using System.Windows.Markup;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public interface IDeedyElement : INotifyPropertyChanged
|
public interface IElementActivity : IDeedyActivity, INotifyPropertyChanged
|
||||||
{
|
{
|
||||||
public string DEClass { get; }
|
public string DEClass { get; }
|
||||||
public string DETitle { get; set; }
|
public string DETitle { get; set; }
|
||||||
public string DERemark { get; set; }
|
public string DERemark { get; set; }
|
||||||
public string DEIdentify { get; set; }
|
public string DEIdentify { get; set; }
|
||||||
public int DepthLevel { get; }
|
public int DepthLevel { get; }
|
||||||
public IDeedyElement? ParentElement { get; }
|
public IElementActivity? ParentElement { get; }
|
||||||
public IDeedyElement RootElement { get; }
|
public IElementActivity RootElement { get; }
|
||||||
public void InsertToFore(IDeedyElement deedyElement);
|
public void InsertToFore(IElementActivity deedyElement);
|
||||||
public void InsertAtRear(IDeedyElement deedyElement);
|
public void InsertAtRear(IElementActivity deedyElement);
|
||||||
public void SwapIndex(IDeedyElement deedyElement);
|
public void SwapIndex(IElementActivity deedyElement);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 将当前节点链接到一个节点上
|
/// 将当前节点链接到一个节点上
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="element">要链接到的节点</param>
|
/// <param name="element">要链接到的节点</param>
|
||||||
public virtual void LinkTo([AllowNull] IDeedyElement element)
|
public virtual void LinkTo([AllowNull] IElementActivity element)
|
||||||
{
|
{
|
||||||
if (element == null)
|
if (element == null)
|
||||||
{
|
{
|
||||||
@@ -58,26 +58,26 @@ namespace Deedy.Activity
|
|||||||
public virtual void Unlink()
|
public virtual void Unlink()
|
||||||
{
|
{
|
||||||
(this.ParentElement as IContainerElement)?.Remove(this);
|
(this.ParentElement as IContainerElement)?.Remove(this);
|
||||||
this.SetNamedPropertyValue<IDeedyElement?>(nameof(ParentElement), null);
|
this.SetNamedPropertyValue<IElementActivity?>(nameof(ParentElement), null);
|
||||||
this.SetNamedPropertyValue(nameof(DepthLevel), 0);
|
this.SetNamedPropertyValue(nameof(DepthLevel), 0);
|
||||||
}
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 构建结构树,设置层级:并且完成参数映射的刷新
|
/// 构建结构树,设置层级:并且完成参数映射的刷新
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="parent"></param>
|
/// <param name="parent"></param>
|
||||||
public void ReadyToWorking(IDeedyElement? parent = null)
|
public new void ReadyToWorking(IElementActivity? element = null, Output? output = null)
|
||||||
{
|
{
|
||||||
//TODO:刷新参数映射
|
//TODO:刷新参数映射
|
||||||
this.LinkTo(parent);
|
this.LinkTo(element);
|
||||||
if (this is IContainerElement container)
|
if (this is IContainerElement container)
|
||||||
foreach (IDeedyElement element in container.Elements)
|
foreach (IElementActivity subElement in container.Elements)
|
||||||
element.ReadyToWorking(this);
|
subElement.ReadyToWorking(this);
|
||||||
}
|
}
|
||||||
public virtual IDeedyElement? Clone()
|
public virtual IElementActivity? Clone()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return XamlReader.Parse(XamlWriter.Save(this)) as IDeedyElement;
|
return XamlReader.Parse(XamlWriter.Save(this)) as IElementActivity;
|
||||||
}
|
}
|
||||||
catch { return null; }
|
catch { return null; }
|
||||||
}
|
}
|
||||||
@@ -92,13 +92,13 @@ namespace Deedy.Activity
|
|||||||
catch { document = string.Empty; }
|
catch { document = string.Empty; }
|
||||||
return result;
|
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;
|
bool result = false;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
instance = XamlReader.Parse(document) as IDeedyElement;
|
instance = XamlReader.Parse(document) as IElementActivity;
|
||||||
result = instance != null;
|
result = instance != null;
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
@@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Deedy.Activity
|
namespace Deedy.Activity
|
||||||
{
|
{
|
||||||
public interface IDeedyVisual : IDeedyElement
|
public interface IVisualElement : IElementActivity
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user