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
- UserControlAutomationPeer.cs
- SiteMapNode.cs
- DbFunctionCommandTree.cs
- AvtEvent.cs
- CLSCompliantAttribute.cs
- InteropExecutor.cs
- StringResourceManager.cs
- DurableEnlistmentState.cs
- PerformanceCounterPermission.cs
- ImmutableObjectAttribute.cs
- Brush.cs
- IFlowDocumentViewer.cs
- ResourceDescriptionAttribute.cs
- FixedFindEngine.cs
- RemotingService.cs
- HMACSHA1.cs
- WebPartCatalogAddVerb.cs
- HintTextConverter.cs
- XamlSerializerUtil.cs
- VerticalAlignConverter.cs
- Pens.cs
- ComponentEditorForm.cs
- HtmlEncodedRawTextWriter.cs
- ResXFileRef.cs
- UIHelper.cs
- TextFormattingConverter.cs
- SmiRecordBuffer.cs
- SeverityFilter.cs
- Visual3DCollection.cs
- FontConverter.cs
- DataServiceConfiguration.cs
- KnownTypesHelper.cs
- localization.cs
- AuthenticationManager.cs
- PersonalizationStateQuery.cs
- NumberFormatInfo.cs
- SequenceDesignerAccessibleObject.cs
- _SslSessionsCache.cs
- FrameworkPropertyMetadata.cs
- EventRouteFactory.cs
- HttpHandlerAction.cs
- BaseValidatorDesigner.cs
- Permission.cs
- ApplicationCommands.cs
- CustomWebEventKey.cs
- SmtpReplyReader.cs
- RawStylusActions.cs
- ProxyWebPartManager.cs
- XPathConvert.cs
- StackBuilderSink.cs
- ToolStripContentPanel.cs
- Rectangle.cs
- X509ThumbprintKeyIdentifierClause.cs
- MinimizableAttributeTypeConverter.cs
- AssociatedControlConverter.cs
- TCPClient.cs
- OneWayChannelListener.cs
- FileAuthorizationModule.cs
- Durable.cs
- GlobalEventManager.cs
- IISMapPath.cs
- AssemblyHash.cs
- Compensate.cs
- PtsHost.cs
- regiisutil.cs
- WindowsGraphics.cs
- SessionStateUtil.cs
- SettingsPropertyWrongTypeException.cs
- TextTreeInsertElementUndoUnit.cs
- Ref.cs
- UnsafeNativeMethods.cs
- GenericsInstances.cs
- XmlElementElement.cs
- TargetControlTypeCache.cs
- XmlILStorageConverter.cs
- ValueProviderWrapper.cs
- FormClosingEvent.cs
- PrintDialog.cs
- DefaultMemberAttribute.cs
- ProfileService.cs
- GridViewUpdateEventArgs.cs
- WaitHandle.cs
- CurrentChangingEventManager.cs
- DecoderExceptionFallback.cs
- XmlQueryTypeFactory.cs
- HMACSHA384.cs
- NavigationPropertyEmitter.cs
- EntityContainerAssociationSetEnd.cs
- BindToObject.cs
- UnaryNode.cs
- UIElementCollection.cs
- AttributeConverter.cs
- MemoryMappedFileSecurity.cs
- ScrollBarRenderer.cs
- PageCatalogPart.cs
- DefaultWorkflowLoaderService.cs
- TextMarkerSource.cs
- PersonalizationStateInfo.cs
- InstanceNameConverter.cs
- ArgIterator.cs