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
- DataSourceCache.cs
- ManagementEventArgs.cs
- PersonalizablePropertyEntry.cs
- XmlUtilWriter.cs
- SessionPageStateSection.cs
- ValidateNames.cs
- PcmConverter.cs
- DocumentViewerBaseAutomationPeer.cs
- HighlightComponent.cs
- KeySpline.cs
- ReachDocumentReferenceSerializerAsync.cs
- ExtensionSimplifierMarkupObject.cs
- ServiceDocumentFormatter.cs
- TablePattern.cs
- MetadataCacheItem.cs
- SqlResolver.cs
- InstanceNormalEvent.cs
- TextBoxAutomationPeer.cs
- X509CertificateStore.cs
- DebugView.cs
- FirstQueryOperator.cs
- Int16AnimationBase.cs
- DispatcherProcessingDisabled.cs
- ChannelEndpointElementCollection.cs
- QilTypeChecker.cs
- ApplicationId.cs
- PointHitTestResult.cs
- elementinformation.cs
- SerializationEventsCache.cs
- SchemaNamespaceManager.cs
- SecurityResources.cs
- SpecialFolderEnumConverter.cs
- ListBindableAttribute.cs
- DoubleStorage.cs
- AutomationPeer.cs
- TableStyle.cs
- COM2Enum.cs
- StylusPointCollection.cs
- ComponentRenameEvent.cs
- ColorConvertedBitmap.cs
- Group.cs
- ConditionalBranch.cs
- TextSelection.cs
- LocatorPart.cs
- NamespaceDisplayAutomationPeer.cs
- SerializationEventsCache.cs
- TextAdaptor.cs
- VerticalAlignConverter.cs
- InvalidDocumentContentsException.cs
- Cursor.cs
- OleDbConnectionFactory.cs
- ElementAction.cs
- MessageBox.cs
- DataControlLinkButton.cs
- RenderDataDrawingContext.cs
- SHA1Cng.cs
- InternalBufferOverflowException.cs
- XmlWhitespace.cs
- ContourSegment.cs
- DeviceContext2.cs
- TypedReference.cs
- WebServiceResponse.cs
- XmlSchemaIdentityConstraint.cs
- ConstructorExpr.cs
- TempEnvironment.cs
- DispatcherHooks.cs
- WebEvents.cs
- StateDesigner.TransitionInfo.cs
- InstallerTypeAttribute.cs
- ClientCultureInfo.cs
- ListBindingConverter.cs
- HostSecurityManager.cs
- StringReader.cs
- HttpDebugHandler.cs
- NegatedCellConstant.cs
- ErrorItem.cs
- NavigateEvent.cs
- FixedFindEngine.cs
- Query.cs
- ProcessMessagesAsyncResult.cs
- MetadataSerializer.cs
- IconBitmapDecoder.cs
- DebugHandleTracker.cs
- InternalTypeHelper.cs
- GB18030Encoding.cs
- WeakHashtable.cs
- RemotingHelper.cs
- ImageMetadata.cs
- MonthCalendarDesigner.cs
- ExceptionAggregator.cs
- ViewRendering.cs
- CompressedStack.cs
- CheckBoxField.cs
- RayHitTestParameters.cs
- Base64WriteStateInfo.cs
- FormatterConverter.cs
- AddInPipelineAttributes.cs
- Rule.cs
- OleDbErrorCollection.cs
- EntityContainerEmitter.cs