File: Designers\WebServiceResponseDesigner.cs
Project: ndp\cdf\src\WF\Activities\System.Workflow.Activities.csproj (System.Workflow.Activities)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using System.Runtime.Serialization;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.Workflow.ComponentModel.Compiler;
using System.Windows.Forms.Design;
using System.Security.Permissions;
using System.Drawing;
using System.Drawing.Design;
using System.Drawing.Drawing2D;
using System.Windows.Forms;
 
namespace System.Workflow.Activities
{
    [ActivityDesignerTheme(typeof(WebServiceResponseDesignerTheme))]
    internal sealed class WebServiceResponseDesigner : ActivityDesigner
    {
        #region Properties and Methods
        protected override void PreFilterProperties(IDictionary properties)
        {
            base.PreFilterProperties(properties);
 
            ITypeProvider typeProvider = (ITypeProvider)GetService(typeof(ITypeProvider));
            if (typeProvider == null)
                throw new InvalidOperationException(SR.GetString(SR.General_MissingService, typeof(ITypeProvider).FullName));
 
            WebServiceOutputActivity webServiceResponse = this.Activity as WebServiceOutputActivity;
            webServiceResponse.GetParameterPropertyDescriptors(properties);
        }
 
        protected override void OnActivityChanged(ActivityChangedEventArgs e)
        {
            base.OnActivityChanged(e);
 
            if (e.Member != null)
            {
                // If the receive activity id changed, clear out parameters.
                if (e.Member.Name == "InputActivityName")
                {
                    (e.Activity as WebServiceOutputActivity).ParameterBindings.Clear();
                    TypeDescriptor.Refresh(e.Activity);
                }
            }
        }
        #endregion
    }
    #region WebServiceResponseDesignerTheme
    internal sealed class WebServiceResponseDesignerTheme : ActivityDesignerTheme
    {
        public WebServiceResponseDesignerTheme(WorkflowTheme theme)
            : base(theme)
        {
            this.ForeColor = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);
            this.BorderColor = Color.FromArgb(0xFF, 0x94, 0xB6, 0xF7);
            this.BorderStyle = DashStyle.Solid;
            this.BackColorStart = Color.FromArgb(0xFF, 0xFF, 0xFF, 0xDF);
            this.BackColorEnd = Color.FromArgb(0xFF, 0xA5, 0xC3, 0xF7);
            this.BackgroundStyle = LinearGradientMode.Horizontal;
        }
    }
    #endregion
}