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
- BrowserInteropHelper.cs
- DataGridColumnEventArgs.cs
- Int32Rect.cs
- WorkflowFileItem.cs
- Vector3DCollectionConverter.cs
- ParameterCollection.cs
- ManualResetEvent.cs
- MouseActionValueSerializer.cs
- XmlAttribute.cs
- LightweightEntityWrapper.cs
- ObjectQuery_EntitySqlExtensions.cs
- SignatureDescription.cs
- StringCollection.cs
- Int64AnimationBase.cs
- Command.cs
- TableLayoutCellPaintEventArgs.cs
- XomlCompilerError.cs
- ControlCachePolicy.cs
- ExpanderAutomationPeer.cs
- RestrictedTransactionalPackage.cs
- SqlCacheDependencySection.cs
- MSAANativeProvider.cs
- OrthographicCamera.cs
- TokenBasedSet.cs
- DummyDataSource.cs
- Int64.cs
- ThreadExceptionEvent.cs
- SingleSelectRootGridEntry.cs
- TableAdapterManagerHelper.cs
- TreeBuilderBamlTranslator.cs
- AppDomainProtocolHandler.cs
- DocumentApplicationJournalEntry.cs
- MatrixValueSerializer.cs
- Comparer.cs
- OutOfMemoryException.cs
- TargetConverter.cs
- DetailsViewRow.cs
- WeakHashtable.cs
- GridView.cs
- HtmlSelect.cs
- SiteMap.cs
- SymmetricAlgorithm.cs
- ComponentCollection.cs
- SpellerError.cs
- Bitmap.cs
- GeneratedCodeAttribute.cs
- DataGridTable.cs
- PrintPreviewControl.cs
- AdCreatedEventArgs.cs
- PropertyDescriptorGridEntry.cs
- TypeBrowser.xaml.cs
- SqlDataRecord.cs
- TraceShell.cs
- AspNetSynchronizationContext.cs
- SQlBooleanStorage.cs
- PropVariant.cs
- CodeDirectoryCompiler.cs
- InteropAutomationProvider.cs
- KeyPullup.cs
- ValidationEventArgs.cs
- StreamHelper.cs
- ReadOnlyState.cs
- SortKey.cs
- HostedElements.cs
- GroupLabel.cs
- PaperSource.cs
- _ContextAwareResult.cs
- M3DUtil.cs
- WebPartEditVerb.cs
- dataSvcMapFileLoader.cs
- DefaultHttpHandler.cs
- ValueType.cs
- ReadOnlyPropertyMetadata.cs
- ToolStripDropDownMenu.cs
- TextCompositionEventArgs.cs
- CrossContextChannel.cs
- DataGridViewHitTestInfo.cs
- ApplicationCommands.cs
- CustomPopupPlacement.cs
- SqlDataRecord.cs
- COAUTHINFO.cs
- ScriptIgnoreAttribute.cs
- ContextQuery.cs
- SqlParameterizer.cs
- ExceptionUtil.cs
- BatchStream.cs
- CatalogZone.cs
- WSDualHttpBindingElement.cs
- DataGridViewComboBoxCell.cs
- OleDbSchemaGuid.cs
- InstalledVoice.cs
- PropertyGrid.cs
- FileLogRecordStream.cs
- AbsoluteQuery.cs
- XmlSerializerVersionAttribute.cs
- Byte.cs
- TypedTableBaseExtensions.cs
- GridViewHeaderRowPresenter.cs
- DataRelationCollection.cs
- WebResourceAttribute.cs