动画demo完成

This commit is contained in:
艾竹
2023-01-27 14:54:03 +08:00
parent 64ea56f01e
commit 72e3efb052
81 changed files with 1211 additions and 503 deletions

View File

@@ -8,7 +8,12 @@ namespace AIStudio.Wpf.SFC.ViewModels
{
public class SFCCOBeginNode : SFCNode
{
public SFCCOBeginNode() : base(SFCNodeKinds.COBegin)
public SFCCOBeginNode() : this(null)
{
}
public SFCCOBeginNode(IDiagramViewModel root) : base(root, SFCNodeKinds.COBegin)
{
ItemWidth = 280;
ItemHeight = 10;

View File

@@ -8,7 +8,12 @@ namespace AIStudio.Wpf.SFC.ViewModels
{
public class SFCCOEndNode : SFCNode
{
public SFCCOEndNode() : base(SFCNodeKinds.COEnd)
public SFCCOEndNode() : this(null)
{
}
public SFCCOEndNode(IDiagramViewModel root) : base(root, SFCNodeKinds.COEnd)
{
ItemWidth = 280;
ItemHeight = 10;

View File

@@ -11,11 +11,16 @@ namespace AIStudio.Wpf.SFC.ViewModels
{
public class SFCConditionNode : SFCNode
{
public SFCConditionNode() : base(SFCNodeKinds.Condition)
public SFCConditionNode() : this(null)
{
}
public SFCConditionNode(IDiagramViewModel root) : base(root, SFCNodeKinds.Condition)
{
ColorViewModel.LineColor.Color = Colors.Black;
ItemWidth = 30;
ItemHeight = 30;
ItemHeight = 30;
ExecuteAddTopInput(null);
ExecuteAddBottomOutput(null);
@@ -30,9 +35,9 @@ namespace AIStudio.Wpf.SFC.ViewModels
}
protected override void Init()
protected override void Init(IDiagramViewModel root)
{
base.Init();
base.Init(root);
}
private bool _showText;

View File

@@ -14,7 +14,12 @@ namespace AIStudio.Wpf.SFC.ViewModels
{
protected IUIVisualizerService visualiserService;
public SFCNode(SFCNodeKinds kind) : base()
public SFCNode(SFCNodeKinds kind) : this(null, kind)
{
}
public SFCNode(IDiagramViewModel root, SFCNodeKinds kind) : base(root)
{
ColorViewModel.FillColor.Color = Colors.Blue;
Kind = kind;
@@ -37,7 +42,7 @@ namespace AIStudio.Wpf.SFC.ViewModels
return new SFCNodeDesignerItem(this);
}
protected override void Init()
protected override void Init(IDiagramViewModel root)
{
IsInnerConnector = true;
ShowRotate = false;
@@ -45,14 +50,14 @@ namespace AIStudio.Wpf.SFC.ViewModels
ShowText = true;
IsReadOnlyText = true;
base.Init();
base.Init(root);
visualiserService = ApplicationServicesProvider.Instance.Provider.VisualizerService;
}
protected override void LoadDesignerItemViewModel(IDiagramViewModel root, SelectableItemBase designerbase)
protected override void LoadDesignerItemViewModel(SelectableItemBase designerbase)
{
base.LoadDesignerItemViewModel(root, designerbase);
base.LoadDesignerItemViewModel(designerbase);
if (designerbase is SFCNodeDesignerItem designer)
{

View File

@@ -8,7 +8,12 @@ namespace AIStudio.Wpf.SFC.ViewModels
{
public class SFCStartNode : SFCNode
{
public SFCStartNode() : base(SFCNodeKinds.Start)
public SFCStartNode() : this(null)
{
}
public SFCStartNode(IDiagramViewModel root) : base(root, SFCNodeKinds.Start)
{
ExecuteAddTopInput(null);
ExecuteAddBottomOutput(null);

View File

@@ -11,7 +11,12 @@ namespace AIStudio.Wpf.SFC.ViewModels
public class Simulate_SolenoidViewModel : SFCNode
{
private IDisposable diChangedSubscription;
public Simulate_SolenoidViewModel() : base(SFCNodeKinds.Simulate_Solenoid)
public Simulate_SolenoidViewModel() : this(null)
{
}
public Simulate_SolenoidViewModel(IDiagramViewModel root) : base(root, SFCNodeKinds.Simulate_Solenoid)
{
ItemWidth = 32;
ItemHeight = 32;
@@ -29,9 +34,9 @@ namespace AIStudio.Wpf.SFC.ViewModels
}
protected override void Init()
protected override void Init(IDiagramViewModel root)
{
base.Init();
base.Init(root);
if (diChangedSubscription != null)
{
diChangedSubscription.Dispose();

View File

@@ -8,7 +8,12 @@ namespace AIStudio.Wpf.SFC.ViewModels
{
public class Simulate_StartViewModel : SFCNode
{
public Simulate_StartViewModel() : base(SFCNodeKinds.Simulate_Start)
public Simulate_StartViewModel() : this(null)
{
}
public Simulate_StartViewModel(IDiagramViewModel root) : base(root, SFCNodeKinds.Simulate_Start)
{
ItemWidth = 32;
ItemHeight = 32;

View File

@@ -9,7 +9,12 @@ namespace AIStudio.Wpf.SFC.ViewModels
{
public class Simulate_TankViewModel : SFCNode
{
public Simulate_TankViewModel() : base(SFCNodeKinds.Simulate_Tank)
public Simulate_TankViewModel() : this(null)
{
}
public Simulate_TankViewModel(IDiagramViewModel root) : base(root, SFCNodeKinds.Simulate_Tank)
{
ItemWidth = 50;
ItemHeight = 120;