Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Designers / CAGDesigner.cs / 1305376 / CAGDesigner.cs
namespace System.Workflow.Activities
{
using System;
using System.Drawing;
using System.Diagnostics;
using System.Collections;
using System.Windows.Forms;
using System.Windows.Forms.Design;
using System.ComponentModel;
using System.Drawing.Drawing2D;
using System.Xml;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
[ActivityDesignerTheme(typeof(ConditionedActivityGroupDesignerTheme))]
internal sealed class ConditionedActivityGroupDesigner: ActivityPreviewDesigner
{
#region Members, Constructor and Destructor
protected override void Initialize(Activity activity)
{
base.Initialize(activity);
IExtenderListService extenderListService = (IExtenderListService)GetService(typeof(IExtenderListService));
if (extenderListService != null)
{
bool foundCAGExtender = false;
foreach (IExtenderProvider extenderProvider in extenderListService.GetExtenderProviders())
{
if (extenderProvider.GetType() == typeof(ConditionPropertyProviderExtender))
foundCAGExtender = true;
}
if (!foundCAGExtender)
{
IExtenderProviderService extenderProviderService = (IExtenderProviderService)GetService(typeof(IExtenderProviderService));
if (extenderProviderService != null)
{
extenderProviderService.AddExtenderProvider(new ConditionPropertyProviderExtender());
}
}
}
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
}
#region ConditionedActivityGroupDesignerTheme
internal sealed class ConditionedActivityGroupDesignerTheme : ActivityPreviewDesignerTheme
{
public ConditionedActivityGroupDesignerTheme(WorkflowTheme theme)
: base(theme)
{
this.ShowDropShadow = false;
this.ConnectorStartCap = LineAnchor.None;
this.ConnectorEndCap = LineAnchor.None;
this.ForeColor = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);
this.BorderColor = Color.FromArgb(0xFF, 0x6B, 0x6D, 0x6B);
this.BorderStyle = DashStyle.Solid;
this.BackColorStart = Color.FromArgb(0xFF, 0xEF, 0xEF, 0xEF);
this.BackColorEnd = Color.FromArgb(0xFF, 0xEF, 0xEF, 0xEF);
this.PreviewForeColor = Color.FromArgb(0xFF, 0xF0, 0xF0, 0xF0);
this.PreviewBorderColor = Color.FromArgb(0xFF, 0x6B, 0x6D, 0x6B);
this.PreviewBackColor = Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF);
}
}
#endregion
#region Class ConditionPropertyProviderExtender
[ProvideProperty("WhenCondition", typeof(Activity))]
[ProvideProperty("UnlessCondition", typeof(Activity))]
internal sealed class ConditionPropertyProviderExtender : IExtenderProvider
{
internal ConditionPropertyProviderExtender()
{
}
[SRCategory(SR.ConditionedActivityConditions)]
[SRDescription(SR.WhenConditionDescr)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public ActivityCondition GetWhenCondition(Activity activity)
{
if (activity.Parent is ConditionedActivityGroup)
return activity.GetValue(ConditionedActivityGroup.WhenConditionProperty) as ActivityCondition;
else
return null;
}
[SRCategory(SR.ConditionedActivityConditions)]
[SRDescription(SR.WhenConditionDescr)]
public void SetWhenCondition(Activity activity, ActivityCondition handler)
{
if (activity.Parent is ConditionedActivityGroup)
activity.SetValue(ConditionedActivityGroup.WhenConditionProperty, handler);
}
#region IExtenderProvider Members
public bool CanExtend(object extendee)
{
return ((extendee != this) && (extendee is Activity) && (((Activity)extendee).Parent is ConditionedActivityGroup));
}
#endregion
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
namespace System.Workflow.Activities
{
using System;
using System.Drawing;
using System.Diagnostics;
using System.Collections;
using System.Windows.Forms;
using System.Windows.Forms.Design;
using System.ComponentModel;
using System.Drawing.Drawing2D;
using System.Xml;
using System.Collections.Generic;
using System.ComponentModel.Design;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
[ActivityDesignerTheme(typeof(ConditionedActivityGroupDesignerTheme))]
internal sealed class ConditionedActivityGroupDesigner: ActivityPreviewDesigner
{
#region Members, Constructor and Destructor
protected override void Initialize(Activity activity)
{
base.Initialize(activity);
IExtenderListService extenderListService = (IExtenderListService)GetService(typeof(IExtenderListService));
if (extenderListService != null)
{
bool foundCAGExtender = false;
foreach (IExtenderProvider extenderProvider in extenderListService.GetExtenderProviders())
{
if (extenderProvider.GetType() == typeof(ConditionPropertyProviderExtender))
foundCAGExtender = true;
}
if (!foundCAGExtender)
{
IExtenderProviderService extenderProviderService = (IExtenderProviderService)GetService(typeof(IExtenderProviderService));
if (extenderProviderService != null)
{
extenderProviderService.AddExtenderProvider(new ConditionPropertyProviderExtender());
}
}
}
}
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
}
#region ConditionedActivityGroupDesignerTheme
internal sealed class ConditionedActivityGroupDesignerTheme : ActivityPreviewDesignerTheme
{
public ConditionedActivityGroupDesignerTheme(WorkflowTheme theme)
: base(theme)
{
this.ShowDropShadow = false;
this.ConnectorStartCap = LineAnchor.None;
this.ConnectorEndCap = LineAnchor.None;
this.ForeColor = Color.FromArgb(0xFF, 0x00, 0x00, 0x00);
this.BorderColor = Color.FromArgb(0xFF, 0x6B, 0x6D, 0x6B);
this.BorderStyle = DashStyle.Solid;
this.BackColorStart = Color.FromArgb(0xFF, 0xEF, 0xEF, 0xEF);
this.BackColorEnd = Color.FromArgb(0xFF, 0xEF, 0xEF, 0xEF);
this.PreviewForeColor = Color.FromArgb(0xFF, 0xF0, 0xF0, 0xF0);
this.PreviewBorderColor = Color.FromArgb(0xFF, 0x6B, 0x6D, 0x6B);
this.PreviewBackColor = Color.FromArgb(0xFF, 0xFF, 0xFF, 0xFF);
}
}
#endregion
#region Class ConditionPropertyProviderExtender
[ProvideProperty("WhenCondition", typeof(Activity))]
[ProvideProperty("UnlessCondition", typeof(Activity))]
internal sealed class ConditionPropertyProviderExtender : IExtenderProvider
{
internal ConditionPropertyProviderExtender()
{
}
[SRCategory(SR.ConditionedActivityConditions)]
[SRDescription(SR.WhenConditionDescr)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public ActivityCondition GetWhenCondition(Activity activity)
{
if (activity.Parent is ConditionedActivityGroup)
return activity.GetValue(ConditionedActivityGroup.WhenConditionProperty) as ActivityCondition;
else
return null;
}
[SRCategory(SR.ConditionedActivityConditions)]
[SRDescription(SR.WhenConditionDescr)]
public void SetWhenCondition(Activity activity, ActivityCondition handler)
{
if (activity.Parent is ConditionedActivityGroup)
activity.SetValue(ConditionedActivityGroup.WhenConditionProperty, handler);
}
#region IExtenderProvider Members
public bool CanExtend(object extendee)
{
return ((extendee != this) && (extendee is Activity) && (((Activity)extendee).Parent is ConditionedActivityGroup));
}
#endregion
}
#endregion
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextElementEnumerator.cs
- DesignerSerializationOptionsAttribute.cs
- CriticalExceptions.cs
- OleDbParameter.cs
- DesignerCategoryAttribute.cs
- ChangeNode.cs
- InputLangChangeEvent.cs
- SignedPkcs7.cs
- UnicodeEncoding.cs
- WebPartUtil.cs
- InvalidCommandTreeException.cs
- TextElementCollectionHelper.cs
- ConfigXmlSignificantWhitespace.cs
- SecureStringHasher.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- RefreshPropertiesAttribute.cs
- StyleModeStack.cs
- NonClientArea.cs
- FloatUtil.cs
- ScrollPattern.cs
- ResourcePart.cs
- ImageAnimator.cs
- RequiredAttributeAttribute.cs
- CapacityStreamGeometryContext.cs
- CharStorage.cs
- MsmqTransportSecurityElement.cs
- GenericEnumerator.cs
- SmtpNetworkElement.cs
- DiscoveryClientReferences.cs
- DbProviderSpecificTypePropertyAttribute.cs
- PropertyGridView.cs
- MsdtcClusterUtils.cs
- XmlIncludeAttribute.cs
- Matrix3D.cs
- TextServicesHost.cs
- ParserOptions.cs
- KeyBinding.cs
- DbMetaDataColumnNames.cs
- ClientCredentialsSecurityTokenManager.cs
- EntityConnectionStringBuilder.cs
- ResourceWriter.cs
- FormParameter.cs
- LoadedOrUnloadedOperation.cs
- ClassDataContract.cs
- SHA384.cs
- DeadCharTextComposition.cs
- UrlMappingsSection.cs
- NativeBuffer.cs
- VoiceSynthesis.cs
- GridView.cs
- RegexStringValidatorAttribute.cs
- AppDomainInstanceProvider.cs
- StrokeCollectionDefaultValueFactory.cs
- DescendantOverDescendantQuery.cs
- UInt32Converter.cs
- storepermissionattribute.cs
- ContextToken.cs
- SizeAnimation.cs
- ToolStripRenderEventArgs.cs
- WindowPatternIdentifiers.cs
- Size.cs
- ICspAsymmetricAlgorithm.cs
- elementinformation.cs
- ExpressionBuilder.cs
- ConcurrencyBehavior.cs
- DrawingImage.cs
- PublisherIdentityPermission.cs
- AttributeCollection.cs
- RelatedEnd.cs
- StorageAssociationSetMapping.cs
- ToolStripItemGlyph.cs
- EnumUnknown.cs
- ChannelManager.cs
- VisualStyleTypesAndProperties.cs
- Dynamic.cs
- CompoundFileDeflateTransform.cs
- EditorServiceContext.cs
- WeakReferenceList.cs
- DrawingVisualDrawingContext.cs
- LogConverter.cs
- WorkflowServiceOperationListItem.cs
- MaskedTextBoxTextEditor.cs
- BookmarkWorkItem.cs
- EntityConnectionStringBuilder.cs
- RequestSecurityTokenResponse.cs
- AlternateView.cs
- ProcessManager.cs
- IntellisenseTextBox.designer.cs
- SmiContext.cs
- NativeMethods.cs
- LabelAutomationPeer.cs
- MatrixStack.cs
- DBSchemaRow.cs
- MetadataArtifactLoaderCompositeFile.cs
- Misc.cs
- PathSegment.cs
- WebPartMenuStyle.cs
- XslAst.cs
- COSERVERINFO.cs
- StorageEndPropertyMapping.cs