Files
aistudio-wpf-diagram/AIStudio.Wpf.SFC/ViewModels/SFCCOEndNode.cs

57 lines
1.7 KiB
C#
Raw Normal View History

2021-07-30 18:26:35 +08:00
using System;
using System.Collections.Generic;
using System.Text;
2022-10-28 22:45:39 +08:00
using AIStudio.Wpf.DiagramDesigner;
2023-01-25 11:11:27 +08:00
using AIStudio.Wpf.DiagramDesigner.Models;
2021-07-30 18:26:35 +08:00
namespace AIStudio.Wpf.SFC.ViewModels
{
public class SFCCOEndNode : SFCNode
{
2023-01-27 14:54:03 +08:00
public SFCCOEndNode() : this(null)
{
}
public SFCCOEndNode(IDiagramViewModel root) : base(root, SFCNodeKinds.COEnd)
2021-07-30 18:26:35 +08:00
{
ItemWidth = 280;
ItemHeight = 10;
ExecuteAddBottomOutput(null);
ExecuteAddTopInput(null);
ExecuteAddTopInput(null);
2021-07-30 18:26:35 +08:00
}
2023-01-24 17:53:04 +08:00
public SFCCOEndNode(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
2021-07-30 18:26:35 +08:00
{
}
2023-01-25 11:11:27 +08:00
public SFCCOEndNode(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
public override void ExecuteAddTopInput(object parameter)
{
FullyCreatedConnectorInfo connector = new FullyCreatedConnectorInfo(this, ConnectorOrientation.Top, true);
connector.YRatio = 0;
connector.XRatio = (40 + Input.Count * 200) / ItemWidth;
Input.Add(Input.Count, connector);
AddConnector(connector);
}
public override void ExecuteAddBottomOutput(object parameter)
{
FullyCreatedConnectorInfo connector = new FullyCreatedConnectorInfo(this, ConnectorOrientation.Bottom, true);
connector.YRatio = 1;
connector.XRatio = (40 + Output.Count * 200) / ItemWidth;
Output.Add(Output.Count, connector);
AddConnector(connector);
}
2021-07-30 18:26:35 +08:00
}
}