序列化继续整理

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

@@ -69,7 +69,7 @@ namespace AIStudio.Wpf.Flowchart
/// <param name="json"></param>
/// <param name="id"></param>
/// <returns></returns>
public static void InitData(List<FlowNode> oASteps, List<ConnectorViewModel> connectors, IDiagramViewModel viewModel)
public static void InitData(List<FlowNode> oASteps, List<ConnectionViewModel> connectors, IDiagramViewModel viewModel)
{
foreach (var edge in connectors)
{

View File

@@ -16,7 +16,7 @@ namespace AIStudio.Wpf.Flowchart.Models
{
var json = JsonConvert.SerializeObject(new {
Nodes = diagram.Items.OfType<DesignerItemViewModelBase>().Select(p => p.ToDiagramNode()).Where(p => p != null),
Links = diagram.Items.OfType<ConnectorViewModel>().Select(p => p.ToDiagramLink()).Where(p => p != null)
Links = diagram.Items.OfType<ConnectionViewModel>().Select(p => p.ToDiagramLink()).Where(p => p != null)
}, new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
@@ -65,7 +65,7 @@ namespace AIStudio.Wpf.Flowchart.Models
return diagramNode;
}
public static DiagramLink ToDiagramLink(this ConnectorViewModel linkModel)
public static DiagramLink ToDiagramLink(this ConnectionViewModel linkModel)
{
DiagramLink diagramLink = new DiagramLink();
@@ -221,11 +221,11 @@ namespace AIStudio.Wpf.Flowchart.Models
return nodeModel;
}
public static ConnectorViewModel ToLinkModel(this DiagramLink diagramLink, IDiagramViewModel diagram, DesignerItemViewModelBase sourceNode, DesignerItemViewModelBase targetNode)
public static ConnectionViewModel ToLinkModel(this DiagramLink diagramLink, IDiagramViewModel diagram, DesignerItemViewModelBase sourceNode, DesignerItemViewModelBase targetNode)
{
FullyCreatedConnectorInfo sourceConnectorInfo = sourceNode.Connectors.FirstOrDefault(p => p.Orientation.ToString() == diagramLink.SourcePortAlignment);
FullyCreatedConnectorInfo sinkConnectorInfo = targetNode.Connectors.FirstOrDefault(p => p.Orientation.ToString() == diagramLink.TargetPortAlignment);
ConnectorViewModel linkModel = new ConnectorViewModel(diagram, sourceConnectorInfo, sinkConnectorInfo, diagram.DrawModeViewModel?.LineDrawMode ?? DrawMode.ConnectingLineSmooth, diagram.DrawModeViewModel?.LineRouterMode ?? RouterMode.RouterNormal);
ConnectionViewModel linkModel = new ConnectionViewModel(diagram, sourceConnectorInfo, sinkConnectorInfo, diagram.DrawModeViewModel?.LineDrawMode ?? DrawMode.ConnectingLineSmooth, diagram.DrawModeViewModel?.LineRouterMode ?? RouterMode.RouterNormal);
linkModel.Id = new Guid(diagramLink.Id);
linkModel.ColorViewModel.LineColor.Color = SerializeHelper.DeserializeColor(diagramLink.Color);
linkModel.ColorViewModel.LineWidth = diagramLink.Width;

View File

@@ -17,7 +17,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
Text = Kind.GetDescription();
}
public FlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
public FlowNode(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -52,16 +52,18 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
{
base.LoadDesignerItemViewModel(root, designerbase);
FlowNodeDesignerItem designer = designerbase as FlowNodeDesignerItem;
this.Color = designer.Color;
this.Kind = designer.Kind;
this.StateImage = designer.StateImage;
if (this is MiddleFlowNode middle)
if (designerbase is FlowNodeDesignerItem designer)
{
middle.UserIds = designer.UserIds;
middle.RoleIds = designer.RoleIds;
middle.ActType = designer.ActType;
this.Color = designer.Color;
this.Kind = designer.Kind;
this.StateImage = designer.StateImage;
if (this is MiddleFlowNode middle)
{
middle.UserIds = designer.UserIds;
middle.RoleIds = designer.RoleIds;
middle.ActType = designer.ActType;
}
}
}
@@ -132,7 +134,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
}
public StartFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
public StartFlowNode(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -150,7 +152,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
}
public EndFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
public EndFlowNode(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -168,7 +170,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
}
public DecideFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
public DecideFlowNode(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -186,7 +188,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
}
public COBeginFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
public COBeginFlowNode(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -204,7 +206,7 @@ namespace AIStudio.Wpf.Flowchart.ViewModels
}
public COEndFlowNode(IDiagramViewModel root, DesignerItemBase designer) : base(root, designer)
public COEndFlowNode(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}