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
- OutKeywords.cs
- SelectionEditor.cs
- Cursor.cs
- FlowDocumentFormatter.cs
- RecommendedAsConfigurableAttribute.cs
- AnimatedTypeHelpers.cs
- Latin1Encoding.cs
- SecurityTokenAuthenticator.cs
- ServiceInstanceProvider.cs
- LinkClickEvent.cs
- XmlRootAttribute.cs
- Helper.cs
- LinqDataSourceDisposeEventArgs.cs
- PropertyPathConverter.cs
- PropertiesTab.cs
- LinkConverter.cs
- MissingMemberException.cs
- DetailsViewCommandEventArgs.cs
- coordinator.cs
- SweepDirectionValidation.cs
- TableLayout.cs
- DataFormats.cs
- WorkflowMarkupElementEventArgs.cs
- Color.cs
- FunctionNode.cs
- Win32Exception.cs
- MissingFieldException.cs
- MatrixTransform3D.cs
- DocumentApplicationDocumentViewer.cs
- BulletedListEventArgs.cs
- DataFormats.cs
- SupportingTokenBindingElement.cs
- RIPEMD160.cs
- input.cs
- DispatcherFrame.cs
- RangeEnumerable.cs
- AudioException.cs
- HuffmanTree.cs
- cryptoapiTransform.cs
- DependencyObject.cs
- Journaling.cs
- NumericUpDownAcceleration.cs
- OperatorExpressions.cs
- CopyOnWriteList.cs
- X509RecipientCertificateClientElement.cs
- SelectionProcessor.cs
- XPathSingletonIterator.cs
- BaseTreeIterator.cs
- oledbconnectionstring.cs
- WebEvents.cs
- HttpModulesSection.cs
- GridViewRow.cs
- Panel.cs
- HelloMessageApril2005.cs
- StylusShape.cs
- DBPropSet.cs
- SafeHandles.cs
- WeakEventManager.cs
- DataKey.cs
- TextTreeTextElementNode.cs
- LogicalExpressionTypeConverter.cs
- DialogWindow.cs
- TextLine.cs
- CompositionAdorner.cs
- UndoManager.cs
- PrivateFontCollection.cs
- ButtonBase.cs
- HttpModuleActionCollection.cs
- Separator.cs
- TdsParser.cs
- Vars.cs
- IdentityNotMappedException.cs
- Oid.cs
- UniqueConstraint.cs
- TCEAdapterGenerator.cs
- DBSchemaTable.cs
- ParameterSubsegment.cs
- QilTypeChecker.cs
- CommandConverter.cs
- Globals.cs
- GenerateHelper.cs
- Style.cs
- StylusPointPropertyInfo.cs
- MatrixAnimationBase.cs
- TextEditorTyping.cs
- TableLayoutCellPaintEventArgs.cs
- TextServicesDisplayAttribute.cs
- CrossContextChannel.cs
- BlockUIContainer.cs
- ObjectSecurity.cs
- ConfigurationErrorsException.cs
- diagnosticsswitches.cs
- DeleteHelper.cs
- BulletChrome.cs
- FormatException.cs
- IdentitySection.cs
- ConversionValidationRule.cs
- Method.cs
- DataTableReaderListener.cs
- StringResourceManager.cs