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