序列化继续改进

This commit is contained in:
艾竹
2023-01-25 11:11:27 +08:00
parent a5005ac083
commit a01eb8825a
44 changed files with 319 additions and 398 deletions

View File

@@ -3,6 +3,7 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Windows.Media;
using AIStudio.Wpf.DiagramDesigner;
using AIStudio.Wpf.DiagramDesigner.Models;
using AIStudio.Wpf.DiagramDesigner.Services;
namespace AIStudio.Wpf.Logical.ViewModels
@@ -20,11 +21,16 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LogicalGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public LogicalGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
public override SelectableItemBase GetSerializableObject()
{
return new LogicalGateDesignerItemBase(this);
}
protected override void Init()
{
base.Init();
@@ -74,7 +80,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
}
public AddGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public AddGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -90,7 +96,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
}
public SubtractGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public SubtractGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -106,7 +112,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
}
public MultiplyGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public MultiplyGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -123,7 +129,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
}
public DivideGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public DivideGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -141,7 +147,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public AverageGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public AverageGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -159,7 +165,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public MODGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public MODGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -177,7 +183,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ANDGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public ANDGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -195,7 +201,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public ORGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -213,7 +219,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public XORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public XORGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -231,7 +237,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public NOTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public NOTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -249,7 +255,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SHLGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public SHLGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -267,7 +273,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SHRGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public SHRGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -285,7 +291,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ROLGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public ROLGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -303,7 +309,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public RORGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public RORGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -321,7 +327,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SELGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public SELGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -339,7 +345,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public MAXGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public MAXGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -357,7 +363,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public MINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public MINGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -375,7 +381,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LIMITGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public LIMITGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -393,7 +399,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public GTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public GTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -411,7 +417,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public LTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -429,7 +435,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public GEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public GEGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -447,7 +453,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public LEGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -465,7 +471,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public EQGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public EQGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -483,7 +489,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public NEGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public NEGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -501,7 +507,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ABSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public ABSGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -519,7 +525,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SQRTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public SQRTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -537,7 +543,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LNGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public LNGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -555,7 +561,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LOGGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public LOGGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -573,7 +579,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public EXPGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public EXPGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -591,7 +597,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public SINGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -609,7 +615,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public COSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public COSGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -627,7 +633,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public TANGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public TANGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -645,7 +651,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ASINGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public ASINGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -663,7 +669,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ACOSGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public ACOSGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -681,7 +687,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ATANGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public ATANGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -699,7 +705,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public EXPTGateItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public EXPTGateItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -717,7 +723,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ConstantDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public ConstantDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -735,7 +741,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public InputItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public InputItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -794,7 +800,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public OutputItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public OutputItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
}
@@ -861,7 +867,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
BuildMenuOptions();
}
public TimerDesignerItemViewModel(IDiagramViewModel root, string serializableString, string serializableType) : base(root, serializableString, serializableType)
public TimerDesignerItemViewModel(IDiagramViewModel root, SerializableItem serializableItem, string serializableType) : base(root, serializableItem, serializableType)
{
BuildMenuOptions();
}