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
- ObjectListItem.cs
- ProfileService.cs
- MemoryStream.cs
- GeneralTransform3D.cs
- ContextMenuService.cs
- ExeContext.cs
- InputManager.cs
- webproxy.cs
- DetailsViewPagerRow.cs
- EncoderReplacementFallback.cs
- XmlAggregates.cs
- WindowsFormsSectionHandler.cs
- SoapSchemaMember.cs
- InstallerTypeAttribute.cs
- TemplateKeyConverter.cs
- GlyphShapingProperties.cs
- HostingPreferredMapPath.cs
- ValidatedControlConverter.cs
- NativeObjectSecurity.cs
- ReadOnlyCollectionBase.cs
- SqlUDTStorage.cs
- JoinElimination.cs
- counter.cs
- DesignerLinkAdapter.cs
- ContentControl.cs
- BuildResult.cs
- ByteStream.cs
- LongTypeConverter.cs
- CodeBlockBuilder.cs
- MetadataProperty.cs
- ApplicationHost.cs
- QilTargetType.cs
- RegexBoyerMoore.cs
- TypeSystem.cs
- EntityClassGenerator.cs
- AutomationPeer.cs
- FlowLayout.cs
- URI.cs
- HandlerBase.cs
- GradientBrush.cs
- QueryTask.cs
- COM2TypeInfoProcessor.cs
- DataGridViewCellLinkedList.cs
- VideoDrawing.cs
- Type.cs
- ThreadStaticAttribute.cs
- ItemsPresenter.cs
- QilNode.cs
- RowToFieldTransformer.cs
- GlyphsSerializer.cs
- CallbackCorrelationInitializer.cs
- TagMapInfo.cs
- DeclarationUpdate.cs
- AccessViolationException.cs
- RoutedPropertyChangedEventArgs.cs
- OleDbEnumerator.cs
- PlanCompilerUtil.cs
- DesigntimeLicenseContext.cs
- MasterPageParser.cs
- InvokeGenerator.cs
- ByeOperationCD1AsyncResult.cs
- Funcletizer.cs
- EdmToObjectNamespaceMap.cs
- _SslStream.cs
- UnsafeNativeMethods.cs
- OLEDB_Util.cs
- FlowPosition.cs
- DataGridViewHitTestInfo.cs
- SerializationFieldInfo.cs
- QuotaExceededException.cs
- CaseInsensitiveComparer.cs
- MsmqAppDomainProtocolHandler.cs
- PeerCollaborationPermission.cs
- DbParameterCollectionHelper.cs
- PropertyTab.cs
- DataSourceHelper.cs
- InvalidFilterCriteriaException.cs
- MonitoringDescriptionAttribute.cs
- ToolStripMenuItem.cs
- MethodExpr.cs
- ScriptDescriptor.cs
- Utils.cs
- CodeEntryPointMethod.cs
- HttpModuleCollection.cs
- ClosableStream.cs
- WebScriptMetadataMessageEncoderFactory.cs
- Clock.cs
- KnownTypes.cs
- SQLInt16Storage.cs
- HMACSHA512.cs
- ScriptReferenceBase.cs
- InternalTypeHelper.cs
- ProfessionalColors.cs
- ImageKeyConverter.cs
- OrderPreservingPipeliningMergeHelper.cs
- TextTreeExtractElementUndoUnit.cs
- PrimitiveOperationFormatter.cs
- HttpHostedTransportConfiguration.cs
- OutputCache.cs
- LinqDataSourceDisposeEventArgs.cs