|
namespace System.Workflow.Activities
{
using System;
using System.Xml.Serialization;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Design;
using System.Reflection;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Workflow.ComponentModel.Compiler;
[SRDescription(SR.StateMachineWorkflowActivityDescription)]
[Designer(typeof(StateMachineWorkflowDesigner), typeof(IRootDesigner))]
[Designer(typeof(StateMachineWorkflowDesigner), typeof(IDesigner))]
[ToolboxItem(false)]
[ToolboxBitmap(typeof(StateMachineWorkflowActivity), "Resources.StateMachineWorkflowActivity.png")]
[ActivityValidator(typeof(StateActivityValidator))]
[SRCategory(SR.Standard)]
[SRDisplayName(SR.StateMachineWorkflow)]
[System.Runtime.InteropServices.ComVisible(false)]
[Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public class StateMachineWorkflowActivity : StateActivity
{
internal const string InitialStateNamePropertyName = "InitialStateName";
internal const string CompletedStateNamePropertyName = "CompletedStateName";
public const string SetStateQueueName = "SetStateQueue";
//metadata properties
public static readonly DependencyProperty InitialStateNameProperty = DependencyProperty.Register(StateMachineWorkflowActivity.InitialStateNamePropertyName, typeof(string), typeof(StateMachineWorkflowActivity), new PropertyMetadata(DependencyPropertyOptions.Metadata));
public static readonly DependencyProperty CompletedStateNameProperty = DependencyProperty.Register(StateMachineWorkflowActivity.CompletedStateNamePropertyName, typeof(string), typeof(StateMachineWorkflowActivity), new PropertyMetadata(DependencyPropertyOptions.Metadata));
public StateMachineWorkflowActivity()
{
}
public StateMachineWorkflowActivity(string name)
: base(name)
{
}
[SRDescription(SR.DynamicUpdateConditionDescr)]
[SRCategory(SR.Conditions)]
public ActivityCondition DynamicUpdateCondition
{
get
{
return WorkflowChanges.GetCondition(this) as ActivityCondition;
}
set
{
WorkflowChanges.SetCondition(this, value);
}
}
[ValidationOption(ValidationOption.Optional)]
[SRDescription(SR.InitialStateDescription)]
[Editor(typeof(StateDropDownEditor), typeof(UITypeEditor))]
[DefaultValue("")]
public string InitialStateName
{
get
{
return (string)base.GetValue(InitialStateNameProperty);
}
set
{
base.SetValue(InitialStateNameProperty, value);
}
}
[SRDescription(SR.CompletedStateDescription)]
[Editor(typeof(StateDropDownEditor), typeof(UITypeEditor))]
[DefaultValue("")]
public string CompletedStateName
{
get
{
return (string)base.GetValue(CompletedStateNameProperty);
}
set
{
base.SetValue(CompletedStateNameProperty, value);
}
}
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string CurrentStateName
{
get
{
StateMachineExecutionState executionState = this.ExecutionState;
if (executionState == null)
return null;
return executionState.CurrentStateName;
}
}
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public string PreviousStateName
{
get
{
StateMachineExecutionState executionState = this.ExecutionState;
if (executionState == null)
return null;
return executionState.PreviousStateName;
}
}
internal StateMachineExecutionState ExecutionState
{
get
{
return (StateMachineExecutionState)base.GetValue(StateMachineExecutionStateProperty);
}
}
}
}
|