Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / Model / DictionaryEditChange.cs / 1305376 / DictionaryEditChange.cs
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.Activities.Presentation.Model
{
using System;
using System.Collections.Generic;
using System.Text;
class DictionaryEditChange : ModelChange
{
public ModelItemDictionary Dictionary { get; set; }
public ModelItem Key { get; set; }
public ModelItem OldValue { get; set; }
public ModelItem NewValue { get; set; }
public ModelTreeManager ModelTreeManager { get; set; }
public override string Description
{
get
{
return SR.DictionaryEditEditingScopeDescription;
}
}
public override bool Apply()
{
ModelItem oldValue = this.Dictionary[this.Key];
if ((oldValue == null && this.NewValue == null) ||
(oldValue != null && this.NewValue != null && oldValue.GetCurrentValue().Equals(this.NewValue.GetCurrentValue())))
{
return false;
}
this.ModelTreeManager.ReAddModelItemToModelTree(this.NewValue);
((ModelItemDictionaryImpl)this.Dictionary).EditCore(this.Key, this.NewValue);
if (null != this.OldValue)
{
this.ModelTreeManager.modelService.OnModelItemRemoved(this.OldValue);
((IModelTreeItem)OldValue).RemoveParent(this.Dictionary);
this.ModelTreeManager.ReleaseModelItem(this.OldValue, this.Dictionary);
}
if (null != this.NewValue)
{
this.ModelTreeManager.modelService.OnModelItemAdded(this.NewValue);
}
return true;
}
public override Change GetInverse()
{
return new DictionaryEditChange()
{
Dictionary = this.Dictionary,
Key = this.Key,
OldValue = this.NewValue,
NewValue = this.OldValue,
ModelTreeManager = this.ModelTreeManager,
};
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
//----------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//---------------------------------------------------------------
namespace System.Activities.Presentation.Model
{
using System;
using System.Collections.Generic;
using System.Text;
class DictionaryEditChange : ModelChange
{
public ModelItemDictionary Dictionary { get; set; }
public ModelItem Key { get; set; }
public ModelItem OldValue { get; set; }
public ModelItem NewValue { get; set; }
public ModelTreeManager ModelTreeManager { get; set; }
public override string Description
{
get
{
return SR.DictionaryEditEditingScopeDescription;
}
}
public override bool Apply()
{
ModelItem oldValue = this.Dictionary[this.Key];
if ((oldValue == null && this.NewValue == null) ||
(oldValue != null && this.NewValue != null && oldValue.GetCurrentValue().Equals(this.NewValue.GetCurrentValue())))
{
return false;
}
this.ModelTreeManager.ReAddModelItemToModelTree(this.NewValue);
((ModelItemDictionaryImpl)this.Dictionary).EditCore(this.Key, this.NewValue);
if (null != this.OldValue)
{
this.ModelTreeManager.modelService.OnModelItemRemoved(this.OldValue);
((IModelTreeItem)OldValue).RemoveParent(this.Dictionary);
this.ModelTreeManager.ReleaseModelItem(this.OldValue, this.Dictionary);
}
if (null != this.NewValue)
{
this.ModelTreeManager.modelService.OnModelItemAdded(this.NewValue);
}
return true;
}
public override Change GetInverse()
{
return new DictionaryEditChange()
{
Dictionary = this.Dictionary,
Key = this.Key,
OldValue = this.NewValue,
NewValue = this.OldValue,
ModelTreeManager = this.ModelTreeManager,
};
}
}
}
// 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
- RandomNumberGenerator.cs
- Frame.cs
- ObjectKeyFrameCollection.cs
- CompilationUnit.cs
- SqlStatistics.cs
- DrawingContextDrawingContextWalker.cs
- OperationPerformanceCounters.cs
- QuaternionKeyFrameCollection.cs
- DbConnectionPoolCounters.cs
- EncryptedType.cs
- FontSizeConverter.cs
- XmlQueryContext.cs
- SafeHandles.cs
- datacache.cs
- ExpressionPrefixAttribute.cs
- AnnotationComponentChooser.cs
- XmlSignificantWhitespace.cs
- AvTraceDetails.cs
- Console.cs
- EntityClientCacheKey.cs
- XmlSchemaAny.cs
- SQLInt64Storage.cs
- TemplateBindingExtensionConverter.cs
- DSASignatureDeformatter.cs
- AddInServer.cs
- IteratorFilter.cs
- RemoveFromCollection.cs
- Sorting.cs
- PlatformNotSupportedException.cs
- SafeViewOfFileHandle.cs
- FunctionUpdateCommand.cs
- WebServiceErrorEvent.cs
- SendingRequestEventArgs.cs
- CurrentTimeZone.cs
- TemplateField.cs
- ToolbarAUtomationPeer.cs
- TcpPortSharing.cs
- SolidBrush.cs
- WmlValidatorAdapter.cs
- QueryExpr.cs
- DocumentOutline.cs
- ArrayTypeMismatchException.cs
- NullToBooleanConverter.cs
- XhtmlBasicImageAdapter.cs
- _SecureChannel.cs
- MachineSettingsSection.cs
- ZipIOCentralDirectoryFileHeader.cs
- DrawingVisual.cs
- NativeCompoundFileAPIs.cs
- Padding.cs
- ComboBoxDesigner.cs
- PtsCache.cs
- GraphicsContainer.cs
- EntityDataSourceDesignerHelper.cs
- GeometryModel3D.cs
- RayHitTestParameters.cs
- SafeWaitHandle.cs
- WebServiceEnumData.cs
- EditingContext.cs
- OdbcInfoMessageEvent.cs
- TimeSpanStorage.cs
- ModuleBuilder.cs
- Int32CAMarshaler.cs
- NamespaceListProperty.cs
- PagedDataSource.cs
- DesignerDataTable.cs
- TypeNameConverter.cs
- ConfigLoader.cs
- StackSpiller.Temps.cs
- SingleConverter.cs
- RegularExpressionValidator.cs
- BuildProvider.cs
- WebPartCancelEventArgs.cs
- ColumnCollectionEditor.cs
- SecurityKeyType.cs
- CollectionExtensions.cs
- BamlResourceSerializer.cs
- OdbcConnectionHandle.cs
- ResourceReferenceExpressionConverter.cs
- SerializableReadOnlyDictionary.cs
- DataMemberConverter.cs
- XmlQueryTypeFactory.cs
- ConstructorNeedsTagAttribute.cs
- WebZone.cs
- DynamicValidatorEventArgs.cs
- CollectionViewSource.cs
- WindowsPrincipal.cs
- SqlTypeSystemProvider.cs
- ContainerFilterService.cs
- SelectingProviderEventArgs.cs
- ToolStripSplitStackLayout.cs
- DataViewManager.cs
- validationstate.cs
- DataRowExtensions.cs
- EncryptedData.cs
- Style.cs
- BatchWriter.cs
- FreezableCollection.cs
- LineInfo.cs
- TakeQueryOptionExpression.cs