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
- SqlParameterizer.cs
- ConnectionPoolRegistry.cs
- AssemblyLoader.cs
- TypefaceMetricsCache.cs
- PassportIdentity.cs
- SecurityIdentifierConverter.cs
- LambdaCompiler.Lambda.cs
- SqlCacheDependency.cs
- Section.cs
- DescendantBaseQuery.cs
- TabControlToolboxItem.cs
- ObjectTokenCategory.cs
- XmlSchemaImporter.cs
- DetailsViewPagerRow.cs
- ImageSource.cs
- AutomationElementIdentifiers.cs
- CssTextWriter.cs
- UIElement3D.cs
- SettingsBase.cs
- ConstNode.cs
- LogPolicy.cs
- InvalidProgramException.cs
- EditableRegion.cs
- InboundActivityHelper.cs
- StringComparer.cs
- TabControlCancelEvent.cs
- CqlQuery.cs
- MissingMethodException.cs
- MonikerSyntaxException.cs
- ContextMarshalException.cs
- HttpRequestTraceRecord.cs
- WebResponse.cs
- LineBreakRecord.cs
- LicenseException.cs
- CheckBoxFlatAdapter.cs
- BasePattern.cs
- ApplicationGesture.cs
- __Error.cs
- NotFiniteNumberException.cs
- UnmanagedMemoryStreamWrapper.cs
- OptimalBreakSession.cs
- DoubleLinkListEnumerator.cs
- BatchStream.cs
- EntityParameterCollection.cs
- ProgressBarRenderer.cs
- LayoutTable.cs
- SafeFileMapViewHandle.cs
- ConvertersCollection.cs
- VirtualDirectoryMapping.cs
- ContainerControl.cs
- HtmlWindowCollection.cs
- DefaultWorkflowTransactionService.cs
- AssemblyName.cs
- QueryHandler.cs
- RunClient.cs
- PropertyNames.cs
- ActivityExecutorOperation.cs
- FontInfo.cs
- ComponentChangingEvent.cs
- ListViewItemMouseHoverEvent.cs
- SinglePageViewer.cs
- UniqueCodeIdentifierScope.cs
- GZipStream.cs
- AutomationIdentifier.cs
- WmpBitmapDecoder.cs
- MaskedTextBox.cs
- odbcmetadatacolumnnames.cs
- TextCompositionManager.cs
- PrePrepareMethodAttribute.cs
- TCPListener.cs
- EnumerableValidator.cs
- GroupByExpressionRewriter.cs
- MultiBindingExpression.cs
- MarkerProperties.cs
- HtmlLabelAdapter.cs
- RelOps.cs
- PolyLineSegment.cs
- columnmapfactory.cs
- LicenseContext.cs
- CodeVariableDeclarationStatement.cs
- ValidationErrorCollection.cs
- ComponentRenameEvent.cs
- SystemNetworkInterface.cs
- DeviceContext.cs
- FormViewRow.cs
- ValidationPropertyAttribute.cs
- WmpBitmapDecoder.cs
- CacheChildrenQuery.cs
- ConfigurationProviderException.cs
- HttpWriter.cs
- LoginUtil.cs
- User.cs
- InternalPermissions.cs
- ByteStack.cs
- MenuItemBindingCollection.cs
- PackagePartCollection.cs
- DateTimeSerializationSection.cs
- NameValuePair.cs
- webbrowsersite.cs
- DecoratedNameAttribute.cs