mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-06 09:40:50 +08:00
序列化继续整理
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
using System;
|
||||
using AIStudio.Wpf.DiagramDesigner.Geometrys;
|
||||
|
||||
namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
public class ConnectorVertexModel : ConnectorPointModel
|
||||
{
|
||||
public ConnectorVertexModel(ConnectionViewModel connector, PointBase? position = null)
|
||||
{
|
||||
Parent = connector;
|
||||
X = position?.X ?? 0;
|
||||
Y = position?.Y ?? 0;
|
||||
}
|
||||
|
||||
public ConnectorVertexModel(IDiagramViewModel root, ConnectionViewModel connector, SelectableItemBase designer) : base(root, designer)
|
||||
{
|
||||
Parent = connector;
|
||||
}
|
||||
|
||||
public ConnectorVertexModel(IDiagramViewModel root, ConnectionViewModel connector, string json) : base(root, json)
|
||||
{
|
||||
Parent = connector;
|
||||
}
|
||||
|
||||
protected override void Init()
|
||||
{
|
||||
base.Init();
|
||||
|
||||
DeleteVertexCommand = new SimpleCommand(DeleteVertex);
|
||||
}
|
||||
|
||||
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
|
||||
{
|
||||
base.LoadDesignerItemViewModel(root, designerbase);
|
||||
|
||||
if (designerbase is ConnectorVertexItem designer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public override SelectableItemBase ToXmlObject()
|
||||
{
|
||||
return new ConnectorVertexItem(this);
|
||||
}
|
||||
|
||||
public override Type ToXmlType()
|
||||
{
|
||||
return typeof(ConnectorVertexModel);
|
||||
}
|
||||
|
||||
public ConnectionViewModel Connector
|
||||
{
|
||||
get
|
||||
{
|
||||
return Parent as ConnectionViewModel;
|
||||
}
|
||||
}
|
||||
|
||||
public override PointBase Position
|
||||
{
|
||||
get
|
||||
{
|
||||
return new PointBase(Connector.Area.Left + Left, Connector.Area.Top + Top);
|
||||
}
|
||||
}
|
||||
|
||||
public override PointBase MiddlePosition => new PointBase(Connector.Area.Left + Left + ConnectorWidth / 2, Connector.Area.Top + Top + ConnectorHeight / 2);
|
||||
|
||||
public SimpleCommand DeleteVertexCommand
|
||||
{
|
||||
get; set;
|
||||
}
|
||||
|
||||
private void DeleteVertex(object parameter)
|
||||
{
|
||||
if (parameter is ConnectorVertexModel vertice)
|
||||
{
|
||||
Connector.Vertices.Remove(vertice);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user