Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Activities / Designers / PolicyDesigner.cs / 1305376 / PolicyDesigner.cs
using System; using System.Text; using System.Reflection; using System.Collections; using System.CodeDom; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; using System.Drawing.Drawing2D; using System.Workflow.ComponentModel; using System.Workflow.ComponentModel.Design; using System.Workflow.ComponentModel.Compiler; using System.Workflow.Activities.Rules; using System.Globalization; using System.Windows.Forms.Design; using System.Workflow.Activities.Rules.Design; using System.Windows.Forms; using System.Workflow.Activities.Common; namespace System.Workflow.Activities { [ActivityDesignerTheme(typeof(PolicyDesignerTheme))] internal sealed class PolicyDesigner: ActivityDesigner, IServiceProvider { new public object GetService(Type type) { return base.GetService(type); } protected override void DoDefaultAction() { base.DoDefaultAction(); // Do not allow editing if in debug mode. WorkflowDesignerLoader workflowDesignerLoader = this.GetService(typeof(WorkflowDesignerLoader)) as WorkflowDesignerLoader; if (workflowDesignerLoader != null && workflowDesignerLoader.InDebugMode) throw new InvalidOperationException(Messages.DebugModeEditsDisallowed); // Do not allow editing if locked PolicyActivity activity = (PolicyActivity)this.Activity; if (Helpers.IsActivityLocked(activity)) return; RuleDefinitions rules = ConditionHelper.Load_Rules_DT(this, Helpers.GetRootActivity(activity)); if (rules != null) { RuleSetCollection ruleSetCollection = rules.RuleSets; RuleSetReference ruleSetReference = activity.RuleSetReference; RuleSet ruleSet = null; string ruleSetName = null; if (ruleSetReference != null && !string.IsNullOrEmpty(ruleSetReference.RuleSetName)) { ruleSetName = ruleSetReference.RuleSetName; if (ruleSetCollection.Contains(ruleSetName)) { ruleSet = ruleSetCollection[ruleSetName]; } } else { ruleSetName = ruleSetCollection.GenerateRuleSetName(); } using (RuleSetDialog dlg = new RuleSetDialog(activity, ruleSet)) { if (DialogResult.OK == dlg.ShowDialog()) { if (ruleSet != null) // modifying { ruleSetCollection.Remove(ruleSetName); } else // creating { dlg.RuleSet.Name = ruleSetName; activity.RuleSetReference = new RuleSetReference(ruleSetName); } ruleSetCollection.Add(dlg.RuleSet); ConditionHelper.Flush_Rules_DT(this, Helpers.GetRootActivity(activity)); } } } // force revalidation by setting a property TypeDescriptor.GetProperties(activity)["RuleSetReference"].SetValue(activity, activity.RuleSetReference); } } internal sealed class PolicyDesignerTheme : ActivityDesignerTheme { public PolicyDesignerTheme(WorkflowTheme theme) : base(theme) { this.ForeColor = Color.FromArgb(0xFF, 0x00, 0x00, 0x00); this.BorderColor = Color.FromArgb(0xFF, 0x80, 0x80, 0x80); this.BorderStyle = DashStyle.Solid; this.BackColorStart = Color.FromArgb(0xFF, 0xF4, 0xF4, 0xF4); this.BackColorEnd = Color.FromArgb(0xFF, 0xC0, 0xC0, 0xC0); this.BackgroundStyle = LinearGradientMode.Horizontal; } } } // 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
- XmlDigitalSignatureProcessor.cs
- ListViewGroupConverter.cs
- RewritingSimplifier.cs
- DependencyPropertyConverter.cs
- DoubleLink.cs
- PolicyLevel.cs
- AffineTransform3D.cs
- Subset.cs
- WebPartAddingEventArgs.cs
- TypeCollectionDesigner.xaml.cs
- DbParameterCollectionHelper.cs
- MailMessageEventArgs.cs
- COM2EnumConverter.cs
- TypeReference.cs
- ListControlDataBindingHandler.cs
- ClientTargetCollection.cs
- SynchronousChannelMergeEnumerator.cs
- XmlSerializerVersionAttribute.cs
- PhysicalOps.cs
- ListViewPagedDataSource.cs
- PingOptions.cs
- PartialCachingControl.cs
- NumericExpr.cs
- MiniAssembly.cs
- NetworkInterface.cs
- ScrollBarRenderer.cs
- coordinator.cs
- DataServiceResponse.cs
- SolidColorBrush.cs
- GetTokenRequest.cs
- TextUtf8RawTextWriter.cs
- ClientRoleProvider.cs
- BamlWriter.cs
- DbSourceParameterCollection.cs
- SafeHandles.cs
- ControlPaint.cs
- EUCJPEncoding.cs
- DataGridTable.cs
- InvokeSchedule.cs
- NavigationService.cs
- RuleValidation.cs
- CodeTypeReferenceExpression.cs
- Attachment.cs
- Margins.cs
- SmtpFailedRecipientsException.cs
- ProxyWebPart.cs
- SearchForVirtualItemEventArgs.cs
- SafeCoTaskMem.cs
- SystemIPv4InterfaceProperties.cs
- DataTableCollection.cs
- DependencyPropertyConverter.cs
- HostTimeoutsElement.cs
- NativeActivityTransactionContext.cs
- DocumentPageViewAutomationPeer.cs
- SqlDataAdapter.cs
- FullTrustAssembliesSection.cs
- UnmanagedHandle.cs
- WindowsIPAddress.cs
- MultiAsyncResult.cs
- LineServices.cs
- XmlQualifiedName.cs
- ErasingStroke.cs
- Stopwatch.cs
- SimpleWebHandlerParser.cs
- PointIndependentAnimationStorage.cs
- GradientStop.cs
- TableLayoutStyleCollection.cs
- OdbcFactory.cs
- InitialServerConnectionReader.cs
- HandlerBase.cs
- LOSFormatter.cs
- QueryResult.cs
- OAVariantLib.cs
- odbcmetadatacolumnnames.cs
- LiteralLink.cs
- XmlAttributeHolder.cs
- DesignerDataView.cs
- Variant.cs
- FormattedText.cs
- WebBrowser.cs
- IsolationInterop.cs
- PathData.cs
- BindingOperations.cs
- infer.cs
- DbProviderManifest.cs
- _NegoState.cs
- TabPage.cs
- AsyncOperation.cs
- EncryptedKeyIdentifierClause.cs
- RNGCryptoServiceProvider.cs
- HWStack.cs
- XmlNamedNodeMap.cs
- PickBranch.cs
- WebPartsSection.cs
- PhysicalAddress.cs
- InProcStateClientManager.cs
- TextRunTypographyProperties.cs
- NativeMethodsOther.cs
- CuspData.cs
- BindMarkupExtensionSerializer.cs