This commit is contained in:
艾竹
2023-08-13 23:05:06 +08:00
parent 872526f575
commit a696312936
2 changed files with 18 additions and 13 deletions

View File

@@ -68,5 +68,10 @@ namespace AIStudio.Wpf.DiagramDesigner
return var1; return var1;
} }
public override string ToString()
{
return $"{Text}:{Value}";
}
} }
} }

View File

@@ -244,7 +244,7 @@ namespace AIStudio.Wpf.DiagramDesigner
IsSelected = selected; IsSelected = selected;
} }
public virtual void InsertChild(BlockDesignerItemViewModel child, BlockItemsContainerInfo container, int index) public virtual void InsertChild(BlockDesignerItemViewModel child, BlockItemsContainerInfo container, int index = -1)
{ {
if (container == null) if (container == null)
{ {
@@ -285,7 +285,7 @@ namespace AIStudio.Wpf.DiagramDesigner
items.ForEach(p => { items.ForEach(p => {
Root.Items.Remove(p); Root.Items.Remove(p);
container.InsertChild(p, index); container.InsertChild(p, index++);
}); });
} }
@@ -317,8 +317,8 @@ namespace AIStudio.Wpf.DiagramDesigner
})); }));
} }
private bool _isExecuting; private int _isExecuting;
public bool IsExecuting public int ExecutStatus
{ {
get get
{ {
@@ -457,19 +457,19 @@ namespace AIStudio.Wpf.DiagramDesigner
{ {
var items = this.LinkNode.List.ToList(); var items = this.LinkNode.List.ToList();
items.ForEach(p => p.IsExecuting = true); items.ForEach(p => p.ExecutStatus = 1);
} }
public override void ExitPreviewExecuteEdit() public override void ExitPreviewExecuteEdit()
{ {
var items = this.LinkNode.List.ToList(); var items = this.LinkNode.List.ToList();
items.ForEach(p => p.IsExecuting = false); items.ForEach(p => p.ExecutStatus = 0);
} }
public async Task Execute() public async Task Execute()
{ {
await StopExecution(); await StopExecution(0);
await BeforeExecution(); await BeforeExecution();
if (await Executing()) if (await Executing())
{ {
@@ -477,13 +477,13 @@ namespace AIStudio.Wpf.DiagramDesigner
} }
else else
{ {
IsExecuting = false; ExecutStatus = 0;
} }
} }
public virtual Task BeforeExecution() public virtual Task BeforeExecution()
{ {
IsExecuting = true; ExecutStatus = 1;
return Task.CompletedTask; return Task.CompletedTask;
} }
@@ -492,16 +492,16 @@ namespace AIStudio.Wpf.DiagramDesigner
return Task.FromResult(true); return Task.FromResult(true);
} }
public virtual Task StopExecution() public virtual Task StopExecution(int status)
{ {
return Task.CompletedTask; return Task.CompletedTask;
} }
public virtual async Task AfterExecution() public virtual async Task AfterExecution()
{ {
if (IsExecuting) if (ExecutStatus == 1)
{ {
IsExecuting = false; ExecutStatus = 0;
if (LinkNode.Next != null) if (LinkNode.Next != null)
await LinkNode.Next.Value.Execute(); await LinkNode.Next.Value.Execute();
} }