Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Model / DictionaryChange.cs / 1305376 / DictionaryChange.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation.Model { using System; using System.Collections.Generic; using System.Text; using System.Runtime; class DictionaryChange : ModelChange { public ModelItemDictionary Dictionary { get; set; } public OperationType Operation { get; set; } public ModelItem Key { get; set; } public ModelItem Value { get; set; } public ModelTreeManager ModelTreeManager { get; set; } public override string Description { get { return this.Operation == OperationType.Insert ? SR.DictionaryAddEditingScopeDescription : SR.DictionaryRemoveEditingScopeDescription; } } public override bool Apply() { switch (this.Operation) { case OperationType.Insert: ApplyInsert(); break; case OperationType.Delete: ApplyDelete(); break; default: Fx.Assert("Operation should be Insert or Delete"); break; } return true; } private void ApplyDelete() { ((ModelItemDictionaryImpl)this.Dictionary).RemoveCore(this.Key); ((IModelTreeItem)this.Key).RemoveParent(this.Dictionary); this.ModelTreeManager.ReleaseModelItem(this.Key, this.Dictionary); if (null != this.Value) { ((IModelTreeItem)this.Value).RemoveParent(this.Dictionary); } this.ModelTreeManager.ReleaseModelItem(this.Key, this.Dictionary); this.ModelTreeManager.modelService.OnModelItemRemoved(this.Key); if (null != this.Value) { this.ModelTreeManager.modelService.OnModelItemRemoved(this.Value); } } private void ApplyInsert() { this.ModelTreeManager.ReAddModelItemToModelTree(this.Key); this.ModelTreeManager.ReAddModelItemToModelTree(this.Value); ((ModelItemDictionaryImpl)this.Dictionary).AddCore(this.Key, this.Value); this.ModelTreeManager.modelService.OnModelItemAdded(this.Key); if (null != this.Value) { this.ModelTreeManager.modelService.OnModelItemAdded(this.Value); } } public override Change GetInverse() { OperationType reverseOperation = this.Operation == OperationType.Insert ? OperationType.Delete : OperationType.Insert; return new DictionaryChange() { Dictionary = this.Dictionary, Operation = reverseOperation, Key = this.Key, Value = this.Value, ModelTreeManager = this.ModelTreeManager, }; } public enum OperationType { Insert, Delete } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WriteStateInfoBase.cs
- DataControlFieldCollection.cs
- Scene3D.cs
- CodeMethodReturnStatement.cs
- DataRecord.cs
- CommentAction.cs
- LogEntryDeserializer.cs
- COM2EnumConverter.cs
- StringTraceRecord.cs
- PerfService.cs
- HtmlMeta.cs
- XamlStackWriter.cs
- FixedSOMSemanticBox.cs
- EditingCommands.cs
- CollectionsUtil.cs
- XsdCachingReader.cs
- RadioButtonList.cs
- SqlRetyper.cs
- ZipFileInfoCollection.cs
- NestPullup.cs
- PropertyItemInternal.cs
- FormsAuthenticationModule.cs
- AnimationStorage.cs
- WeakHashtable.cs
- TraceUtility.cs
- LogicalCallContext.cs
- ApplicationTrust.cs
- PhoneCallDesigner.cs
- DocumentReferenceCollection.cs
- PageSetupDialog.cs
- TCEAdapterGenerator.cs
- ApplicationServiceManager.cs
- TransformDescriptor.cs
- TraceProvider.cs
- InkPresenterAutomationPeer.cs
- HttpWebRequest.cs
- RadioButtonRenderer.cs
- FixedTextView.cs
- SqlStatistics.cs
- EnumerableRowCollection.cs
- XmlSchemaFacet.cs
- DataRowExtensions.cs
- PrintPreviewGraphics.cs
- CardSpaceShim.cs
- TemplateBindingExtensionConverter.cs
- ValueConversionAttribute.cs
- RequestCacheValidator.cs
- SqlStatistics.cs
- SourceFilter.cs
- BuildProvider.cs
- MembershipUser.cs
- ToolStripItemImageRenderEventArgs.cs
- SmiEventStream.cs
- SrgsElementFactoryCompiler.cs
- DbConnectionHelper.cs
- COM2ColorConverter.cs
- TraversalRequest.cs
- BuiltInPermissionSets.cs
- ActivityStatusChangeEventArgs.cs
- CodeDelegateInvokeExpression.cs
- RequestCacheValidator.cs
- StyleModeStack.cs
- NativeWindow.cs
- Rect3D.cs
- SafeBitVector32.cs
- HttpResponse.cs
- safex509handles.cs
- DataListCommandEventArgs.cs
- PathNode.cs
- RenderOptions.cs
- BinaryKeyIdentifierClause.cs
- IPipelineRuntime.cs
- HtmlFormAdapter.cs
- DeclaredTypeValidator.cs
- MatrixKeyFrameCollection.cs
- SqlComparer.cs
- IPPacketInformation.cs
- DataGridTable.cs
- HttpResponse.cs
- DrawingVisual.cs
- XmlUnspecifiedAttribute.cs
- MdiWindowListStrip.cs
- DataGridCommandEventArgs.cs
- SchemaElement.cs
- ObjectCloneHelper.cs
- TogglePatternIdentifiers.cs
- MissingManifestResourceException.cs
- AttributeCollection.cs
- DependencySource.cs
- Latin1Encoding.cs
- CodeTypeReferenceCollection.cs
- XmlSchemaSimpleContent.cs
- WithParamAction.cs
- XmlObjectSerializer.cs
- TextSelection.cs
- ObjectSpanRewriter.cs
- DelegatingTypeDescriptionProvider.cs
- GridViewRowPresenterBase.cs
- ResourceExpressionEditorSheet.cs
- ErrorFormatterPage.cs