Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / Tools / System.Activities.Presentation / System / Activities / Presentation / EditingScopeUndoUnit.cs / 1305376 / EditingScopeUndoUnit.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System; using System.Collections.Generic; using System.Text; using System.Activities.Presentation.View; using System.Activities.Presentation.Model; class EditingScopeUndoUnit : UndoUnit { ModelTreeManager modelTreeManager; EditingScope editingScope; WorkflowDesigner workflowDesigner; public EditingScopeUndoUnit(WorkflowDesigner workflowDesigner, ModelTreeManager modelTreeManager, EditingScope editingScope) : base(workflowDesigner.Context) { this.workflowDesigner = workflowDesigner; this.modelTreeManager = modelTreeManager; this.editingScope = editingScope; this.Description = this.editingScope.Description; SaveGlobalState(); } public override void Redo() { this.modelTreeManager.StopTracking(); EditingScope redoEditingScope = this.modelTreeManager.CreateEditingScope(this.editingScope.Description); redoEditingScope.Changes.AddRange(editingScope.Changes); redoEditingScope.Complete(); this.modelTreeManager.StartTracking(); ApplyGlobalState(); } public override void Undo() { this.modelTreeManager.StopTracking(); EditingScope undoEditingScope = this.modelTreeManager.CreateEditingScope(this.editingScope.Description); foreach (Change change in editingScope.Changes) { Change inverseChange = change.GetInverse(); if (inverseChange != null) { undoEditingScope.Changes.Add(inverseChange); } } undoEditingScope.Changes.Reverse(); undoEditingScope.Complete(); this.modelTreeManager.StartTracking(); ApplyGlobalState(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Activities.Presentation { using System; using System.Collections.Generic; using System.Text; using System.Activities.Presentation.View; using System.Activities.Presentation.Model; class EditingScopeUndoUnit : UndoUnit { ModelTreeManager modelTreeManager; EditingScope editingScope; WorkflowDesigner workflowDesigner; public EditingScopeUndoUnit(WorkflowDesigner workflowDesigner, ModelTreeManager modelTreeManager, EditingScope editingScope) : base(workflowDesigner.Context) { this.workflowDesigner = workflowDesigner; this.modelTreeManager = modelTreeManager; this.editingScope = editingScope; this.Description = this.editingScope.Description; SaveGlobalState(); } public override void Redo() { this.modelTreeManager.StopTracking(); EditingScope redoEditingScope = this.modelTreeManager.CreateEditingScope(this.editingScope.Description); redoEditingScope.Changes.AddRange(editingScope.Changes); redoEditingScope.Complete(); this.modelTreeManager.StartTracking(); ApplyGlobalState(); } public override void Undo() { this.modelTreeManager.StopTracking(); EditingScope undoEditingScope = this.modelTreeManager.CreateEditingScope(this.editingScope.Description); foreach (Change change in editingScope.Changes) { Change inverseChange = change.GetInverse(); if (inverseChange != null) { undoEditingScope.Changes.Add(inverseChange); } } undoEditingScope.Changes.Reverse(); undoEditingScope.Complete(); this.modelTreeManager.StartTracking(); ApplyGlobalState(); } } } // 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
- ConstructorNeedsTagAttribute.cs
- Identifier.cs
- MD5HashHelper.cs
- NativeCompoundFileAPIs.cs
- CommandHelpers.cs
- HyperlinkAutomationPeer.cs
- EditCommandColumn.cs
- JsonEncodingStreamWrapper.cs
- GeneralTransform2DTo3D.cs
- XsltFunctions.cs
- ConfigurationFileMap.cs
- DeleteMemberBinder.cs
- ObjectPropertyMapping.cs
- Queue.cs
- SchemaAttDef.cs
- ZipIOExtraFieldZip64Element.cs
- FloaterParagraph.cs
- AutomationPeer.cs
- RNGCryptoServiceProvider.cs
- NumericUpDown.cs
- FrameSecurityDescriptor.cs
- DoubleAnimation.cs
- DateTimeConverter2.cs
- ChangesetResponse.cs
- ProxyAssemblyNotLoadedException.cs
- DoubleLinkList.cs
- Odbc32.cs
- ConfigXmlText.cs
- Size3D.cs
- RequiredAttributeAttribute.cs
- SecurityRuntime.cs
- ObjectAssociationEndMapping.cs
- ThicknessConverter.cs
- Label.cs
- CodeDomSerializer.cs
- recordstatescratchpad.cs
- ExceptionHelpers.cs
- DecimalAnimationBase.cs
- PackWebResponse.cs
- ChangeConflicts.cs
- PlatformNotSupportedException.cs
- Pointer.cs
- AssemblyCache.cs
- RegistryExceptionHelper.cs
- Size3D.cs
- CustomValidator.cs
- TextRunTypographyProperties.cs
- QueryPageSettingsEventArgs.cs
- ConnectionManagementElement.cs
- SchemaElementLookUpTable.cs
- BaseProcessor.cs
- HuffCodec.cs
- EraserBehavior.cs
- DateTimeOffset.cs
- ImageMetadata.cs
- AuthorizationRuleCollection.cs
- DesignerAdRotatorAdapter.cs
- CheckoutException.cs
- AttachmentCollection.cs
- PathParser.cs
- DesignTimeType.cs
- RequestStatusBarUpdateEventArgs.cs
- HtmlTableRowCollection.cs
- BaseParser.cs
- XmlHierarchicalDataSourceView.cs
- ZipPackagePart.cs
- CacheForPrimitiveTypes.cs
- BmpBitmapDecoder.cs
- XPathNode.cs
- CollectionBuilder.cs
- LockRecursionException.cs
- TaskFormBase.cs
- srgsitem.cs
- Panel.cs
- AuthenticationModulesSection.cs
- X509AsymmetricSecurityKey.cs
- figurelengthconverter.cs
- MatchAttribute.cs
- SessionStateModule.cs
- OrthographicCamera.cs
- ExpressionPrinter.cs
- QueueProcessor.cs
- ContentFileHelper.cs
- ToolStripPanelRow.cs
- BookmarkEventArgs.cs
- PropertyInfo.cs
- TransformGroup.cs
- TraceSection.cs
- HostingEnvironmentException.cs
- ObjectHelper.cs
- DispatcherTimer.cs
- EntityClientCacheKey.cs
- DataGridBeginningEditEventArgs.cs
- SqlDataSourceParameterParser.cs
- EventProviderBase.cs
- DifferencingCollection.cs
- ProjectionNode.cs
- ListViewGroup.cs
- SmiEventSink_Default.cs
- ZoomComboBox.cs