序列化继续整理

This commit is contained in:
艾竹
2023-01-24 17:53:04 +08:00
parent 8dbe05636d
commit 1a291411e6
72 changed files with 653 additions and 462 deletions

View File

@@ -1,29 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AIStudio.Wpf.DiagramDesigner.Geometrys;
namespace AIStudio.Wpf.DiagramDesigner
{
public struct ConnectorInfo
{
public double DesignerItemLeft { get; set; }
public double DesignerItemTop { get; set; }
public SizeBase DesignerItemSize { get; set; }
public PointBase Position { get; set; }
public ConnectorOrientation Orientation { get; set; }
public static ConnectorInfo GetConnectorInfo(ConnectorOrientation orientation, double left, double top, double width, double height, PointBase position)
{
return new ConnectorInfo()
{
Orientation = orientation,
DesignerItemSize = new SizeBase(width, height),
DesignerItemLeft = left,
DesignerItemTop = top,
Position = position
};
}
}
}

View File

@@ -23,7 +23,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
public ConnectionItem(ConnectorViewModel viewmodel) : base(viewmodel)
public ConnectionItem(ConnectionViewModel viewmodel) : base(viewmodel)
{
this.SourceId = viewmodel.SourceConnectorInfo.DataItem.Id;
this.SourceOrientation = viewmodel.SourceConnectorInfo.Orientation;

View File

@@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;
namespace AIStudio.Wpf.DiagramDesigner
{
/// <summary>
/// 连接点
/// </summary>
[Serializable]
[XmlInclude(typeof(ConnectorInfoItemBase))]
public class ConnectorInfoItemBase : SelectableItemBase
{
public ConnectorInfoItemBase()
{
}
public ConnectorInfoItemBase(ConnectorInfoBase viewmodel) : base(viewmodel)
{
ConnectorWidth = viewmodel.ConnectorWidth;
ConnectorHeight = viewmodel.ConnectorHeight;
Orientation = viewmodel.Orientation;
ConnectorValue = viewmodel.ConnectorValue;
}
[XmlAttribute]
public double ConnectorWidth
{
get; set;
}
[XmlAttribute]
public double ConnectorHeight
{
get; set;
}
[XmlAttribute]
public ConnectorOrientation Orientation
{
get; set;
}
[XmlAttribute]
public double ConnectorValue
{
get; set;
}
}
}

View File

@@ -9,27 +9,23 @@ using System.Xml.Serialization;
namespace AIStudio.Wpf.DiagramDesigner
{
/// <summary>
/// 连接点
/// 完整连接点
/// </summary>
[Serializable]
[XmlInclude(typeof(ConnectorItem))]
public class ConnectorItem : SelectableItemBase
[XmlInclude(typeof(FullyCreatedConnectorInfoItem))]
public class FullyCreatedConnectorInfoItem : ConnectorInfoItemBase
{
public ConnectorItem()
public FullyCreatedConnectorInfoItem()
{
}
public ConnectorItem(FullyCreatedConnectorInfo viewmodel) : base(viewmodel)
public FullyCreatedConnectorInfoItem(FullyCreatedConnectorInfo viewmodel) : base(viewmodel)
{
XRatio = viewmodel.XRatio;
YRatio = viewmodel.YRatio;
ConnectorWidth = viewmodel.ConnectorWidth;
ConnectorHeight = viewmodel.ConnectorHeight;
Orientation = viewmodel.Orientation;
IsInnerPoint = viewmodel.IsInnerPoint;
ValueTypePoint = viewmodel.ValueTypePoint;
ConnectorValue = viewmodel.ConnectorValue;
}
@@ -39,22 +35,11 @@ namespace AIStudio.Wpf.DiagramDesigner
[XmlAttribute]
public double YRatio { get; set; }
[XmlAttribute]
public double ConnectorWidth { get; set; }
[XmlAttribute]
public double ConnectorHeight { get; set; }
[XmlAttribute]
public ConnectorOrientation Orientation { get; set; }
[XmlAttribute]
public bool IsInnerPoint { get; set; }
[XmlAttribute]
public ValueTypePoint ValueTypePoint { get; set; }
[XmlAttribute]
public double ConnectorValue { get; set; }
}
}

View File

@@ -12,16 +12,16 @@ namespace AIStudio.Wpf.DiagramDesigner
public ImageDesignerItem(ImageItemViewModel item) : base(item)
{
Icon = item.Icon;
Connectors = new List<ConnectorItem>();
Connectors = new List<FullyCreatedConnectorInfoItem>();
foreach (var fullyCreatedConnectorInfo in item.Connectors)
{
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
FullyCreatedConnectorInfoItem connector = new FullyCreatedConnectorInfoItem(fullyCreatedConnectorInfo);
Connectors.Add(connector);
}
}
[XmlArray]
public List<ConnectorItem> Connectors { get; set; }
public List<FullyCreatedConnectorInfoItem> Connectors { get; set; }
}
}

View File

@@ -15,10 +15,10 @@ namespace AIStudio.Wpf.DiagramDesigner
}
public LogicalGateDesignerItemBase(LogicalGateItemViewModelBase item) : base(item)
{
this.Connectors = new List<ConnectorItem>();
this.Connectors = new List<FullyCreatedConnectorInfoItem>();
foreach (var fullyCreatedConnectorInfo in item.Connectors)
{
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
FullyCreatedConnectorInfoItem connector = new FullyCreatedConnectorInfoItem(fullyCreatedConnectorInfo);
this.Connectors.Add(connector);
}
this.OrderNumber = item.OrderNumber;
@@ -28,7 +28,7 @@ namespace AIStudio.Wpf.DiagramDesigner
}
[XmlArray]
public List<ConnectorItem> Connectors { get; set; }
public List<FullyCreatedConnectorInfoItem> Connectors { get; set; }
[XmlAttribute]
public int OrderNumber { get; set; }

View File

@@ -12,26 +12,26 @@ namespace AIStudio.Wpf.DiagramDesigner
public MediaDesignerItem(GifImageItemViewModel item) : base(item)
{
Connectors = new List<ConnectorItem>();
Connectors = new List<FullyCreatedConnectorInfoItem>();
foreach (var fullyCreatedConnectorInfo in item.Connectors)
{
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
FullyCreatedConnectorInfoItem connector = new FullyCreatedConnectorInfoItem(fullyCreatedConnectorInfo);
Connectors.Add(connector);
}
}
public MediaDesignerItem(MediaItemViewModel item) : base(item)
{
Connectors = new List<ConnectorItem>();
Connectors = new List<FullyCreatedConnectorInfoItem>();
foreach (var fullyCreatedConnectorInfo in item.Connectors)
{
ConnectorItem connector = new ConnectorItem(fullyCreatedConnectorInfo);
FullyCreatedConnectorInfoItem connector = new FullyCreatedConnectorInfoItem(fullyCreatedConnectorInfo);
Connectors.Add(connector);
}
}
[XmlArray]
public List<ConnectorItem> Connectors { get; set; }
public List<FullyCreatedConnectorInfoItem> Connectors { get; set; }
}
}