序列化继续整理

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

@@ -15,7 +15,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
ColorViewModel.FillColor.Color = Colors.Orange;
}
public LogicalGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public LogicalGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -36,8 +36,10 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
base.LoadDesignerItemViewModel(root, designerbase);
LogicalGateDesignerItemBase designer = designerbase as LogicalGateDesignerItemBase;
this.Value = designer.Value;
if (designerbase is LogicalGateDesignerItemBase designer)
{
this.Value = designer.Value;
}
}
@@ -84,7 +86,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
}
public SubtractGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public SubtractGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -100,7 +102,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
}
public MultiplyGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public MultiplyGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -117,7 +119,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
}
public DivideGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public DivideGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -134,7 +136,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public AverageGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public AverageGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -152,7 +154,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public MODGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public MODGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -170,7 +172,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ANDGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public ANDGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -188,7 +190,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ORGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public ORGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -206,7 +208,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public XORGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public XORGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -224,7 +226,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public NOTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public NOTGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -242,7 +244,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SHLGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public SHLGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -260,7 +262,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SHRGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public SHRGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -278,7 +280,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ROLGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public ROLGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -296,7 +298,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public RORGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public RORGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -311,10 +313,10 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
public SELGateItemViewModel() : base(LogicalType.SEL)
{
}
public SELGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public SELGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -332,7 +334,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public MAXGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public MAXGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -350,7 +352,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public MINGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public MINGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -368,7 +370,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LIMITGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public LIMITGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -386,7 +388,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public GTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public GTGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -404,7 +406,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public LTGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -422,7 +424,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public GEGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public GEGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -440,7 +442,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LEGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public LEGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -458,7 +460,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public EQGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public EQGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -476,7 +478,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public NEGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public NEGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -494,7 +496,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ABSGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public ABSGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -512,7 +514,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SQRTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public SQRTGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -530,7 +532,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LNGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public LNGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -548,7 +550,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public LOGGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public LOGGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -566,7 +568,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public EXPGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public EXPGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -584,7 +586,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public SINGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public SINGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -602,7 +604,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public COSGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public COSGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -620,7 +622,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public TANGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public TANGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -638,7 +640,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ASINGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public ASINGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -656,7 +658,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ACOSGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public ACOSGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -674,7 +676,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public ATANGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public ATANGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -692,7 +694,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
public EXPTGateItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public EXPTGateItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -710,7 +712,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
ItemHeight = 28;
}
public ConstantDesignerItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public ConstantDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -728,7 +730,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
ItemHeight = 28;
}
public InputItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public InputItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -742,19 +744,24 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
base.LoadDesignerItemViewModel(root, designerbase);
LogicalGateDesignerItemBase designer = designerbase as LogicalGateDesignerItemBase;
this.Value = designer.Value;
LinkPoint = LogicalService.LinkPoint.FirstOrDefault(p => p.Id.ToString() == designer.Icon); //不想新增字段了就用这个Icon保存自定义测点的Id吧。
if (LinkPoint != null)
if (designerbase is LogicalGateDesignerItemBase designer)
{
LinkPoint.Value = designer.Value;
this.Value = designer.Value;
LinkPoint = LogicalService.LinkPoint.FirstOrDefault(p => p.Id.ToString() == designer.Icon); //不想新增字段了就用这个Icon保存自定义测点的Id吧。
if (LinkPoint != null)
{
LinkPoint.Value = designer.Value;
}
}
}
private LinkPoint _linkPoint;
public LinkPoint LinkPoint
{
get { return _linkPoint; }
get
{
return _linkPoint;
}
set
{
if (SetProperty(ref _linkPoint, value))
@@ -782,7 +789,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
ItemHeight = 28;
}
public OutputItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public OutputItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
}
@@ -796,19 +803,25 @@ namespace AIStudio.Wpf.Logical.ViewModels
{
base.LoadDesignerItemViewModel(root, designerbase);
LogicalGateDesignerItemBase designer = designerbase as LogicalGateDesignerItemBase;
this.Value = designer.Value;
LinkPoint = LogicalService.LinkPoint.FirstOrDefault(p => p.Id.ToString() == designer.Icon); //不想新增字段了就用这个Icon保存自定义测点的Id吧。
if (LinkPoint != null)
if (designerbase is LogicalGateDesignerItemBase designer)
{
LinkPoint.Value = designer.Value;
this.Value = designer.Value;
LinkPoint = LogicalService.LinkPoint.FirstOrDefault(p => p.Id.ToString() == designer.Icon); //不想新增字段了就用这个Icon保存自定义测点的Id吧。
if (LinkPoint != null)
{
LinkPoint.Value = designer.Value;
}
}
}
private LinkPoint _linkPoint;
public LinkPoint LinkPoint
{
get { return _linkPoint; }
get
{
return _linkPoint;
}
set
{
if (SetProperty(ref _linkPoint, value))
@@ -843,7 +856,7 @@ namespace AIStudio.Wpf.Logical.ViewModels
BuildMenuOptions();
}
public TimerDesignerItemViewModel(IDiagramViewModel root, LogicalGateDesignerItemBase designer) : base(root, designer)
public TimerDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designer) : base(root, designer)
{
BuildMenuOptions();
}
@@ -902,7 +915,10 @@ namespace AIStudio.Wpf.Logical.ViewModels
}
}
public SimpleCommand MenuItemCommand { get; private set; }
public SimpleCommand MenuItemCommand
{
get; private set;
}
private void BuildMenuOptions()
{
menuOptions = new ObservableCollection<CinchMenuItem>();