e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
74 lines
1.8 KiB
C#
74 lines
1.8 KiB
C#
//-----------------------------------------------------------------------------
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//-----------------------------------------------------------------------------
|
|
|
|
namespace System.Activities.Statements
|
|
{
|
|
using System.Collections.Generic;
|
|
using System.Activities;
|
|
using System.ComponentModel;
|
|
using System.Windows.Markup;
|
|
|
|
[ContentProperty("Action")]
|
|
public sealed class FlowStep : FlowNode
|
|
{
|
|
public FlowStep()
|
|
{
|
|
}
|
|
|
|
[DefaultValue(null)]
|
|
public Activity Action
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
[DefaultValue(null)]
|
|
[DependsOn("Action")]
|
|
public FlowNode Next
|
|
{
|
|
get;
|
|
set;
|
|
}
|
|
|
|
internal override void OnOpen(Flowchart owner, NativeActivityMetadata metadata)
|
|
{
|
|
}
|
|
|
|
internal override void GetConnectedNodes(IList<FlowNode> connections)
|
|
{
|
|
if (Next != null)
|
|
{
|
|
connections.Add(Next);
|
|
}
|
|
}
|
|
|
|
internal override Activity ChildActivity
|
|
{
|
|
get { return Action; }
|
|
}
|
|
|
|
internal bool Execute(NativeActivityContext context, CompletionCallback onCompleted, out FlowNode nextNode)
|
|
{
|
|
if (Next == null)
|
|
{
|
|
if (TD.FlowchartNextNullIsEnabled())
|
|
{
|
|
TD.FlowchartNextNull(this.Owner.DisplayName);
|
|
}
|
|
}
|
|
if (Action == null)
|
|
{
|
|
nextNode = Next;
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
context.ScheduleActivity(Action, onCompleted);
|
|
nextNode = null;
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
}
|