namespace System.Workflow.ComponentModel.Serialization { using System; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.ComponentModel.Design.Serialization; using System.Collections; using System.Resources; using System.Workflow.ComponentModel.Design; using System.Collections.Generic; using Microsoft.CSharp; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Compiler; using System.CodeDom.Compiler; using System.IO; using System.Reflection; using System.Diagnostics; #region ModifyActivitiesPropertyDescriptor internal class ModifyActivitiesPropertyDescriptor : PropertyDescriptor { private PropertyInfo propInfo = null; public ModifyActivitiesPropertyDescriptor(PropertyInfo propInfo) : base("CanModifyActivities", new Attribute[0]) { this.propInfo = propInfo; } public override bool CanResetValue(object component) { throw new NotImplementedException(); } public override Type ComponentType { get { return typeof(CompositeActivity); } } public override object GetValue(object component) { return this.propInfo.GetValue(component, null); } public override bool IsReadOnly { get { return false; } } public override Type PropertyType { get { return typeof(bool); } } public override void ResetValue(object component) { throw new NotImplementedException(); } public override void SetValue(object component, object value) { this.propInfo.SetValue(component, true, null); // Design time, allow changes if (component is CompositeActivity) (component as CompositeActivity).SetValue(CompositeActivity.CustomActivityProperty, false); } public override bool ShouldSerializeValue(object component) { return false; } } #endregion }