Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

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;
}
}
}
}