block的序列化与反序列化

This commit is contained in:
艾竹
2023-07-15 10:20:50 +08:00
parent 954aeee87e
commit 515ce1944b
6 changed files with 233 additions and 49 deletions

View File

@@ -28,15 +28,56 @@ namespace AIStudio.Wpf.DiagramDesigner
{
}
public override SelectableItemBase GetSerializableObject()
{
return new BlockDesignerItem(this);
}
protected override void InitNew()
{
ItemWidth = double.NaN;
ItemHeight = double.NaN;
AddConnector(new BlockConnectorInfo(this.Root, this, ConnectorOrientation.Top));
AddConnector(new BlockConnectorInfo(this.Root, this, ConnectorOrientation.Bottom));
}
protected override void Init(IDiagramViewModel root, bool initNew)
{
base.Init(root, initNew);
IsReadOnlyText = true;
}
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
base.LoadDesignerItemViewModel(designerbase);
if (designerbase is BlockDesignerItem designer)
{
if (designer.Connectors != null)
{
ClearConnectors();
foreach (var connector in designer.Connectors)
{
BlockConnectorInfo fullyCreatedConnectorInfo = new BlockConnectorInfo(this.Root, this, connector);
AddConnector(fullyCreatedConnectorInfo);
}
}
if (designer.Containers != null)
{
ClearContainers();
foreach (var container in designer.Containers)
{
BlockItemsContainerInfo blockitemsContainerInfo = new BlockItemsContainerInfo(this.Root, this, container);
AddContainer(blockitemsContainerInfo);
}
}
}
}
public void AddNext(BlockDesignerItemViewModel next, bool first = true)
{
if (this.Next == next)