diff --git a/DeedyDesigner/Deedy.Activity/ActionViewer.cs b/DeedyDesigner/Deedy.Activity/ActionViewer.cs index 4e690d7..d3595f2 100644 --- a/DeedyDesigner/Deedy.Activity/ActionViewer.cs +++ b/DeedyDesigner/Deedy.Activity/ActionViewer.cs @@ -86,20 +86,70 @@ namespace Deedy.Activity field = value; OnPropertyChanged(propertyName); return true; - } + } - [AllowNull, DefaultValue(null)] + public Runtime Runtime => throw new NotImplementedException(); + + public Visibility ShowBreakHandle => throw new NotImplementedException(); + + public Visibility ShowContinueHandle => throw new NotImplementedException(); + + public Visibility ShowExitHandle => throw new NotImplementedException(); + + public Visibility ShowReturnHandle => throw new NotImplementedException(); + + public Visibility ShowCustomHandle => throw new NotImplementedException(); + + public Visibility ShowHeader => throw new NotImplementedException(); + + public Visibility ShowFooter => throw new NotImplementedException(); + + public Visibility ShowInfoHandle => throw new NotImplementedException(); + + public Visibility ShowDeleteHandle => throw new NotImplementedException(); + + public Visibility ShowLeftExitline => throw new NotImplementedException(); + + public Visibility ShowRightExitline => throw new NotImplementedException(); + public LogInfo InstantInfo => throw new NotImplementedException(); + + public LogInfoCollection LogInfos => throw new NotImplementedException(); + + public uint ElementCount => throw new NotImplementedException(); + + public bool IsSelectable => throw new NotImplementedException(); + + public bool IsSelected => throw new NotImplementedException(); + + public bool IsCanExpand => throw new NotImplementedException(); + + public bool IsExpanded => throw new NotImplementedException(); + + public ViewerState ViewerState => throw new NotImplementedException(); + + public WorkMode WorkMode => throw new NotImplementedException(); + + public Brush FillBrush => throw new NotImplementedException(); + + public Brush StrokeBrush => throw new NotImplementedException(); + + public double StrokeThickness => throw new NotImplementedException(); + + public Thickness MarginCorrection_Top => throw new NotImplementedException(); + + public Thickness MarginCorrection_Bottom => throw new NotImplementedException(); + + public Thickness MarginCorrection_TopBottom => throw new NotImplementedException(); /// /// 动作节点 /// + [AllowNull, DefaultValue(null)] public IActionElement ActionElement { get { return (IActionElement)GetValue(ActionElementProperty); } set { SetValue(ActionElementProperty, value); } } - public Runtime Runtime => throw new NotImplementedException(); - public static readonly DependencyProperty ActionElementProperty = DependencyProperty.Register("ActionElement", typeof(IActionElement), typeof(ActionViewer), new PropertyMetadata(null, (d, e) => (d as ActionViewer)?.ActionElement_PropertyChangedCallback(e))); @@ -108,8 +158,24 @@ namespace Deedy.Activity /// protected virtual void ActionElement_PropertyChangedCallback(DependencyPropertyChangedEventArgs e) { - // + if (e.OldValue is IActionElement oldValue) + oldValue.PropertyChanged -= ActionElement_PropertyChanged; + if (e.NewValue is IActionElement newValue) + { + newValue.PropertyChanged += ActionElement_PropertyChanged; + //TODO:根据节点的特征与当前工作状态来判定如何处理当前视图的属性 + } } + + private void ActionElement_PropertyChanged(object? sender, PropertyChangedEventArgs e) + { + switch (e.PropertyName) + { + //TODO:处理托管的IActionElement节点的属性变更 + default: break; + } + } + public void ReadyToWorking(IElement? element = null, Output? output = null) { throw new NotImplementedException(); diff --git a/DeedyDesigner/Deedy.Activity/Collection/LogInfoCollection.cs b/DeedyDesigner/Deedy.Activity/Collection/LogInfoCollection.cs new file mode 100644 index 0000000..600da22 --- /dev/null +++ b/DeedyDesigner/Deedy.Activity/Collection/LogInfoCollection.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Deedy.Activity +{ + public class LogInfoCollection : ObservableCollection + { + } +} diff --git a/DeedyDesigner/Deedy.Activity/Collection/OutputCollection.cs b/DeedyDesigner/Deedy.Activity/Collection/OutputCollection.cs new file mode 100644 index 0000000..d621491 --- /dev/null +++ b/DeedyDesigner/Deedy.Activity/Collection/OutputCollection.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Deedy.Activity +{ + public class OutputCollection : ObservableCollection + { + } +} diff --git a/DeedyDesigner/Deedy.Activity/Contract/Entities/Info.cs b/DeedyDesigner/Deedy.Activity/Contract/Entities/LogInfo.cs similarity index 65% rename from DeedyDesigner/Deedy.Activity/Contract/Entities/Info.cs rename to DeedyDesigner/Deedy.Activity/Contract/Entities/LogInfo.cs index e4e64bb..a5a9aa1 100644 --- a/DeedyDesigner/Deedy.Activity/Contract/Entities/Info.cs +++ b/DeedyDesigner/Deedy.Activity/Contract/Entities/LogInfo.cs @@ -3,10 +3,12 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Windows.Shapes; namespace Deedy.Activity { - public class Info + public class LogInfo { + public LogInfo() { } } } diff --git a/DeedyDesigner/Deedy.Activity/Contract/Enums/ViewState.cs b/DeedyDesigner/Deedy.Activity/Contract/Enums/ViewerState.cs similarity index 95% rename from DeedyDesigner/Deedy.Activity/Contract/Enums/ViewState.cs rename to DeedyDesigner/Deedy.Activity/Contract/Enums/ViewerState.cs index a4e7ede..3374db1 100644 --- a/DeedyDesigner/Deedy.Activity/Contract/Enums/ViewState.cs +++ b/DeedyDesigner/Deedy.Activity/Contract/Enums/ViewerState.cs @@ -6,7 +6,7 @@ using System.Threading.Tasks; namespace Deedy.Activity { - public enum ViewState : int + public enum ViewerState : int { /// /// 正常状态 diff --git a/DeedyDesigner/Deedy.Activity/Contract/Output.cs b/DeedyDesigner/Deedy.Activity/Contract/Output.cs index abe0157..3ca34b6 100644 --- a/DeedyDesigner/Deedy.Activity/Contract/Output.cs +++ b/DeedyDesigner/Deedy.Activity/Contract/Output.cs @@ -8,7 +8,7 @@ namespace Deedy.Activity { public abstract class Output { - protected abstract void DoAppendInfo(Info info); - public void AppendInfo(Info info) { this.DoAppendInfo(info); } + protected abstract void DoAppendInfo(LogInfo info); + public void AppendInfo(LogInfo info) { this.DoAppendInfo(info); } } } diff --git a/DeedyDesigner/Deedy.Activity/IActionViewer.cs b/DeedyDesigner/Deedy.Activity/IActionViewer.cs index 3f601a1..0fe8f15 100644 --- a/DeedyDesigner/Deedy.Activity/IActionViewer.cs +++ b/DeedyDesigner/Deedy.Activity/IActionViewer.cs @@ -3,15 +3,45 @@ using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics.CodeAnalysis; using System.Linq; +using System.Security.Policy; using System.Text; using System.Threading.Tasks; using System.Windows; +using System.Windows.Media; namespace Deedy.Activity { public interface IActionViewer : IActivity, INotifyPropertyChanged { [AllowNull] - public IActionElement ActionElement { get; set; } + public IActionElement ActionElement { get; set; } + public Visibility ShowBreakHandle { get; } + public Visibility ShowContinueHandle { get; } + public Visibility ShowExitHandle { get; } + public Visibility ShowReturnHandle { get; } + public Visibility ShowCustomHandle { get; } + public Visibility ShowHeader { get; } + public Visibility ShowFooter { get; } + public Visibility ShowInfoHandle { get; } + public Visibility ShowDeleteHandle { get; } + public Visibility ShowLeftExitline { get; } + public Visibility ShowRightExitline { get; } + public uint ElementCount { get; } + public bool IsCanExpand { get; } + public bool IsExpanded { get; } + public bool IsSelectable { get; } + public bool IsSelected { get; } + [AllowNull] + public LogInfo InstantInfo { get; } + [AllowNull] + public LogInfoCollection LogInfos { get; } + public ViewerState ViewerState { get; } + public WorkMode WorkMode { get; } + public Brush FillBrush { get; } + public Brush StrokeBrush { get; } + public double StrokeThickness { get; } + public Thickness MarginCorrection_Top { get; } + public Thickness MarginCorrection_Bottom { get; } + public Thickness MarginCorrection_TopBottom { get; } } }