Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / System / Windows / Documents / TextTreePropertyUndoUnit.cs / 1 / TextTreePropertyUndoUnit.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Undo unit for TextContainer.SetValue, etc. calls. // // History: // 03/03/2004 : benwest - Created // //--------------------------------------------------------------------------- using System; using MS.Internal; namespace System.Windows.Documents { // Undo unit for TextContainer.SetValue, etc. calls. internal class TextTreePropertyUndoUnit : TextTreeUndoUnit { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors // Create a new undo unit instance. // symbolOffset is where property values will be set. internal TextTreePropertyUndoUnit(TextContainer tree, int symbolOffset, PropertyRecord propertyRecord) : base(tree, symbolOffset) { _propertyRecord = propertyRecord; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods // Called by the undo manager. Restores tree state to its condition // when the unit was created. Assumes the tree state matches conditions // just after the unit was created. public override void DoCore() { TextPointer position; VerifyTreeContentHashCode(); position = new TextPointer(this.TextContainer, this.SymbolOffset, LogicalDirection.Forward); Invariant.Assert(position.GetPointerContext(LogicalDirection.Backward) == TextPointerContext.ElementStart, "TextTree undo unit out of [....] with TextTree."); if (_propertyRecord.Value != DependencyProperty.UnsetValue) { this.TextContainer.SetValue(position, _propertyRecord.Property, _propertyRecord.Value); } else { position.Parent.ClearValue(_propertyRecord.Property); } } #endregion Public Methods //------------------------------------------------------ // // Private Fields // //------------------------------------------------------ #region Private Fields // Property/value pair to restore. private readonly PropertyRecord _propertyRecord; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Undo unit for TextContainer.SetValue, etc. calls. // // History: // 03/03/2004 : benwest - Created // //--------------------------------------------------------------------------- using System; using MS.Internal; namespace System.Windows.Documents { // Undo unit for TextContainer.SetValue, etc. calls. internal class TextTreePropertyUndoUnit : TextTreeUndoUnit { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors // Create a new undo unit instance. // symbolOffset is where property values will be set. internal TextTreePropertyUndoUnit(TextContainer tree, int symbolOffset, PropertyRecord propertyRecord) : base(tree, symbolOffset) { _propertyRecord = propertyRecord; } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods // Called by the undo manager. Restores tree state to its condition // when the unit was created. Assumes the tree state matches conditions // just after the unit was created. public override void DoCore() { TextPointer position; VerifyTreeContentHashCode(); position = new TextPointer(this.TextContainer, this.SymbolOffset, LogicalDirection.Forward); Invariant.Assert(position.GetPointerContext(LogicalDirection.Backward) == TextPointerContext.ElementStart, "TextTree undo unit out of [....] with TextTree."); if (_propertyRecord.Value != DependencyProperty.UnsetValue) { this.TextContainer.SetValue(position, _propertyRecord.Property, _propertyRecord.Value); } else { position.Parent.ClearValue(_propertyRecord.Property); } } #endregion Public Methods //------------------------------------------------------ // // Private Fields // //------------------------------------------------------ #region Private Fields // Property/value pair to restore. private readonly PropertyRecord _propertyRecord; #endregion Private Fields } } // 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
- Rules.cs
- CharacterMetricsDictionary.cs
- SystemIcmpV4Statistics.cs
- TemplateXamlTreeBuilder.cs
- OdbcEnvironmentHandle.cs
- ToolStripDropDownButton.cs
- TakeOrSkipWhileQueryOperator.cs
- RadioButtonDesigner.cs
- DataServiceQueryException.cs
- SizeConverter.cs
- WindowsIPAddress.cs
- DispatcherTimer.cs
- OverflowException.cs
- ListViewContainer.cs
- TimeEnumHelper.cs
- Queue.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- ADMembershipProvider.cs
- TemplatedAdorner.cs
- WindowHelperService.cs
- HScrollProperties.cs
- SqlProvider.cs
- PropertyEmitter.cs
- ContentFilePart.cs
- HttpCacheParams.cs
- SqlCommandSet.cs
- CodeSubDirectoriesCollection.cs
- LabelInfo.cs
- SoapAttributes.cs
- HtmlUtf8RawTextWriter.cs
- XmlSchemaComplexContentExtension.cs
- ResourcesGenerator.cs
- OleDbConnectionInternal.cs
- safelink.cs
- mediaeventargs.cs
- DefaultAssemblyResolver.cs
- TraceProvider.cs
- QueueAccessMode.cs
- SecurityTokenSpecification.cs
- GetUserPreferenceRequest.cs
- CodeBinaryOperatorExpression.cs
- TextMessageEncodingElement.cs
- DefaultPrintController.cs
- HitTestWithGeometryDrawingContextWalker.cs
- _ListenerResponseStream.cs
- XPathNodeHelper.cs
- XPathArrayIterator.cs
- ProtectedProviderSettings.cs
- ActivityIdHeader.cs
- DynamicEntity.cs
- TextRangeBase.cs
- DirectionalLight.cs
- MeasureData.cs
- QueryConverter.cs
- WindowInteropHelper.cs
- AppliedDeviceFiltersDialog.cs
- Convert.cs
- ListControl.cs
- EncodingInfo.cs
- Section.cs
- SwitchLevelAttribute.cs
- LoginView.cs
- SqlServices.cs
- MenuItemStyle.cs
- ICspAsymmetricAlgorithm.cs
- UnionExpr.cs
- DbProviderServices.cs
- Pair.cs
- FontStretches.cs
- RegexCompilationInfo.cs
- InvalidOleVariantTypeException.cs
- FtpCachePolicyElement.cs
- HttpWebRequestElement.cs
- BitmapMetadataBlob.cs
- OdbcInfoMessageEvent.cs
- StartFileNameEditor.cs
- ModelItemCollectionImpl.cs
- DataGrid.cs
- DelegatingTypeDescriptionProvider.cs
- DetectEofStream.cs
- SchemaNamespaceManager.cs
- WebPartEventArgs.cs
- TextWriter.cs
- InkSerializer.cs
- Calendar.cs
- EditorBrowsableAttribute.cs
- EventLogInternal.cs
- HGlobalSafeHandle.cs
- EventLog.cs
- DataGridRowClipboardEventArgs.cs
- Material.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- Utility.cs
- TextDecorationCollection.cs
- XomlSerializationHelpers.cs
- CodeAssignStatement.cs
- RichListBox.cs
- OleCmdHelper.cs
- EdmConstants.cs
- RootAction.cs