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
- ConfigurationSectionGroupCollection.cs
- CellPartitioner.cs
- BrowserInteropHelper.cs
- DocumentReferenceCollection.cs
- TextDecorations.cs
- PageContentCollection.cs
- AspNetHostingPermission.cs
- BreakSafeBase.cs
- Effect.cs
- CommandPlan.cs
- Propagator.ExtentPlaceholderCreator.cs
- XPathScanner.cs
- RtfNavigator.cs
- x509utils.cs
- __Filters.cs
- DefinitionUpdate.cs
- CurrencyWrapper.cs
- ClientSession.cs
- OLEDB_Enum.cs
- Options.cs
- MetaColumn.cs
- TemplateField.cs
- HwndSourceKeyboardInputSite.cs
- SoapObjectWriter.cs
- NameNode.cs
- PropertyGridDesigner.cs
- SamlAuthenticationStatement.cs
- DataGridViewTextBoxEditingControl.cs
- MeasurementDCInfo.cs
- AdapterUtil.cs
- RelationshipManager.cs
- WorkflowRuntimeServicesBehavior.cs
- Debugger.cs
- MediaTimeline.cs
- GraphicsPath.cs
- ConnectionManagementSection.cs
- ProfileEventArgs.cs
- PointAnimationUsingKeyFrames.cs
- XmlUtilWriter.cs
- SqlConnectionFactory.cs
- Options.cs
- KnowledgeBase.cs
- CodeTypeMemberCollection.cs
- FixedSOMContainer.cs
- DynamicArgumentDesigner.xaml.cs
- HtmlInputReset.cs
- PersonalizationState.cs
- WsdlInspector.cs
- ReceiveDesigner.xaml.cs
- OperandQuery.cs
- ipaddressinformationcollection.cs
- TagNameToTypeMapper.cs
- RawStylusActions.cs
- TextDecorationCollection.cs
- InputLanguageManager.cs
- CategoryNameCollection.cs
- Path.cs
- BitSet.cs
- StylusPointPropertyId.cs
- __TransparentProxy.cs
- ItemsPanelTemplate.cs
- QilTypeChecker.cs
- IntersectQueryOperator.cs
- XdrBuilder.cs
- columnmapkeybuilder.cs
- SafeLocalMemHandle.cs
- AlignmentYValidation.cs
- LookupBindingPropertiesAttribute.cs
- ExpandSegment.cs
- ControlBuilder.cs
- mil_sdk_version.cs
- CacheChildrenQuery.cs
- Enum.cs
- Math.cs
- localization.cs
- DataBoundControlAdapter.cs
- QualifiedCellIdBoolean.cs
- Group.cs
- securitymgrsite.cs
- DataBindingHandlerAttribute.cs
- NullableDecimalMinMaxAggregationOperator.cs
- AmbientLight.cs
- VisemeEventArgs.cs
- WindowsScroll.cs
- OptimizerPatterns.cs
- PeerIPHelper.cs
- CompressedStack.cs
- InvalidCastException.cs
- GetLastErrorDetailsRequest.cs
- hresults.cs
- ScrollViewer.cs
- AsyncResult.cs
- Literal.cs
- wgx_render.cs
- DatagridviewDisplayedBandsData.cs
- SmtpClient.cs
- XmlC14NWriter.cs
- WebEventCodes.cs
- StatusBar.cs
- CustomErrorCollection.cs