mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-03-03 00:00:57 +08:00
block
This commit is contained in:
@@ -244,7 +244,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
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)
|
||||
{
|
||||
@@ -285,7 +285,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
|
||||
items.ForEach(p => {
|
||||
Root.Items.Remove(p);
|
||||
container.InsertChild(p, index);
|
||||
container.InsertChild(p, index++);
|
||||
});
|
||||
|
||||
}
|
||||
@@ -296,7 +296,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
System.Windows.Application.Current?.Dispatcher.BeginInvoke(new Action(async () => {
|
||||
await Task.Delay(10);
|
||||
AlignNext(LinkNode?.Next);
|
||||
}));
|
||||
}));
|
||||
}
|
||||
|
||||
public virtual void RemoveChild(BlockDesignerItemViewModel child, BlockItemsContainerInfo container)
|
||||
@@ -317,8 +317,8 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}));
|
||||
}
|
||||
|
||||
private bool _isExecuting;
|
||||
public bool IsExecuting
|
||||
private int _isExecuting;
|
||||
public int ExecutStatus
|
||||
{
|
||||
get
|
||||
{
|
||||
@@ -457,19 +457,19 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
{
|
||||
var items = this.LinkNode.List.ToList();
|
||||
|
||||
items.ForEach(p => p.IsExecuting = true);
|
||||
items.ForEach(p => p.ExecutStatus = 1);
|
||||
}
|
||||
|
||||
public override void ExitPreviewExecuteEdit()
|
||||
{
|
||||
var items = this.LinkNode.List.ToList();
|
||||
|
||||
items.ForEach(p => p.IsExecuting = false);
|
||||
items.ForEach(p => p.ExecutStatus = 0);
|
||||
}
|
||||
|
||||
public async Task Execute()
|
||||
{
|
||||
await StopExecution();
|
||||
await StopExecution(0);
|
||||
await BeforeExecution();
|
||||
if (await Executing())
|
||||
{
|
||||
@@ -477,13 +477,13 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
}
|
||||
else
|
||||
{
|
||||
IsExecuting = false;
|
||||
ExecutStatus = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public virtual Task BeforeExecution()
|
||||
{
|
||||
IsExecuting = true;
|
||||
ExecutStatus = 1;
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
@@ -492,16 +492,16 @@ namespace AIStudio.Wpf.DiagramDesigner
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
public virtual Task StopExecution()
|
||||
public virtual Task StopExecution(int status)
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
public virtual async Task AfterExecution()
|
||||
{
|
||||
if (IsExecuting)
|
||||
if (ExecutStatus == 1)
|
||||
{
|
||||
IsExecuting = false;
|
||||
ExecutStatus = 0;
|
||||
if (LinkNode.Next != null)
|
||||
await LinkNode.Next.Value.Execute();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user