mirror of
https://gitee.com/akwkevin/aistudio.-wpf.-diagram
synced 2026-05-03 14:31:28 +08:00
block
This commit is contained in:
@@ -68,5 +68,10 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
return var1;
|
return var1;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override string ToString()
|
||||||
|
{
|
||||||
|
return $"{Text}:{Value}";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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++);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -296,7 +296,7 @@ namespace AIStudio.Wpf.DiagramDesigner
|
|||||||
System.Windows.Application.Current?.Dispatcher.BeginInvoke(new Action(async () => {
|
System.Windows.Application.Current?.Dispatcher.BeginInvoke(new Action(async () => {
|
||||||
await Task.Delay(10);
|
await Task.Delay(10);
|
||||||
AlignNext(LinkNode?.Next);
|
AlignNext(LinkNode?.Next);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual void RemoveChild(BlockDesignerItemViewModel child, BlockItemsContainerInfo container)
|
public virtual void RemoveChild(BlockDesignerItemViewModel child, BlockItemsContainerInfo container)
|
||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user