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
- autovalidator.cs
- Transactions.cs
- ScrollPatternIdentifiers.cs
- serverconfig.cs
- InternalPolicyElement.cs
- SortDescriptionCollection.cs
- Graphics.cs
- DBAsyncResult.cs
- MissingManifestResourceException.cs
- ItemsControl.cs
- SafeTokenHandle.cs
- BlurEffect.cs
- CodeLinePragma.cs
- DataSourceCache.cs
- LinkedResource.cs
- NullableIntMinMaxAggregationOperator.cs
- QilFunction.cs
- EpmTargetPathSegment.cs
- DataAdapter.cs
- LabelAutomationPeer.cs
- AssignDesigner.xaml.cs
- ContentDefinition.cs
- SpeechSeg.cs
- FileAuthorizationModule.cs
- JapaneseLunisolarCalendar.cs
- AsymmetricAlgorithm.cs
- UpDownBaseDesigner.cs
- OperationPickerDialog.cs
- KeyManager.cs
- LineGeometry.cs
- DefaultDiscoveryServiceExtension.cs
- WebRequest.cs
- SmiEventStream.cs
- BitmapEffectCollection.cs
- ExpressionVisitor.cs
- UnsafeNativeMethods.cs
- AuthenticationModuleElement.cs
- AttachedPropertyInfo.cs
- Form.cs
- SessionPageStateSection.cs
- COM2PropertyDescriptor.cs
- Rectangle.cs
- EventManager.cs
- MediaContextNotificationWindow.cs
- SigningCredentials.cs
- XmlWrappingReader.cs
- panel.cs
- StrokeCollectionConverter.cs
- TriggerCollection.cs
- ComponentCollection.cs
- MultiPageTextView.cs
- KnownTypes.cs
- TextRenderer.cs
- DataKeyCollection.cs
- AdapterSwitches.cs
- CodeTypeOfExpression.cs
- TdsParser.cs
- SpeechRecognizer.cs
- UniqueEventHelper.cs
- OlePropertyStructs.cs
- BlockCollection.cs
- TcpAppDomainProtocolHandler.cs
- State.cs
- DbDataAdapter.cs
- ExceptionHelpers.cs
- UpdateExpressionVisitor.cs
- EntityContainer.cs
- WebEventTraceProvider.cs
- DataGridViewDataErrorEventArgs.cs
- KnowledgeBase.cs
- AnnotationResourceChangedEventArgs.cs
- ProjectionPlan.cs
- ArrayTypeMismatchException.cs
- SettingsProviderCollection.cs
- DecoderReplacementFallback.cs
- BrowserDefinition.cs
- HostingEnvironmentException.cs
- FileSystemInfo.cs
- Compiler.cs
- WindowsMenu.cs
- EntityDataSourceQueryBuilder.cs
- MergeEnumerator.cs
- ListDependantCardsRequest.cs
- PersonalizationStateInfoCollection.cs
- DriveInfo.cs
- RectangleGeometry.cs
- BaseDataList.cs
- GridViewRow.cs
- DataServiceHostFactory.cs
- __FastResourceComparer.cs
- VerticalAlignConverter.cs
- OperationAbortedException.cs
- HtmlDocument.cs
- ToolTip.cs
- HttpCachePolicy.cs
- LongValidator.cs
- WebEvents.cs
- DataDocumentXPathNavigator.cs
- RowType.cs
- XpsPackagingPolicy.cs