完善IActionViewer接口的属性声明(暂时未实现具体定义与逻辑)

This commit is contained in:
zengwenjie
2025-09-16 11:55:03 +08:00
parent da4a17be40
commit 5935564927
7 changed files with 134 additions and 10 deletions

View File

@@ -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();
/// <summary>
/// 动作节点
/// </summary>
[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
/// </summary>
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();

View File

@@ -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<LogInfo>
{
}
}

View File

@@ -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<Output>
{
}
}

View File

@@ -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() { }
}
}

View File

@@ -6,7 +6,7 @@ using System.Threading.Tasks;
namespace Deedy.Activity
{
public enum ViewState : int
public enum ViewerState : int
{
/// <summary>
/// 正常状态

View File

@@ -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); }
}
}

View File

@@ -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; }
}
}