Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / TextTreePropertyUndoUnit.cs / 1305600 / TextTreePropertyUndoUnit.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Undo unit for TextContainer.SetValue, etc. calls. // // History: // 03/03/2004 : [....] - 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 : [....] - 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
- Attributes.cs
- ListenDesigner.cs
- VerificationException.cs
- X509CertificateStore.cs
- InvalidDataContractException.cs
- PointHitTestResult.cs
- WizardForm.cs
- GradientBrush.cs
- TimeSpanStorage.cs
- TypeUsageBuilder.cs
- TracedNativeMethods.cs
- MetadataItemEmitter.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- SweepDirectionValidation.cs
- TableSectionStyle.cs
- ComplexPropertyEntry.cs
- WizardPanelChangingEventArgs.cs
- FileFormatException.cs
- GenericRootAutomationPeer.cs
- Attributes.cs
- WebControlsSection.cs
- DownloadProgressEventArgs.cs
- RenderingEventArgs.cs
- TreeNodeCollection.cs
- Binding.cs
- IncomingWebResponseContext.cs
- PartialTrustVisibleAssembliesSection.cs
- AuthorizationContext.cs
- NumberSubstitution.cs
- _ConnectStream.cs
- IssuanceTokenProviderBase.cs
- NumericUpDownAccelerationCollection.cs
- QuerySettings.cs
- FilteredReadOnlyMetadataCollection.cs
- HelpProvider.cs
- XamlSerializerUtil.cs
- TextEndOfParagraph.cs
- MobileComponentEditorPage.cs
- SoapDocumentMethodAttribute.cs
- PersonalizationProviderHelper.cs
- SigningProgress.cs
- PanelDesigner.cs
- SqlConnection.cs
- TokenBasedSetEnumerator.cs
- DiagnosticEventProvider.cs
- ListViewGroup.cs
- OracleInfoMessageEventArgs.cs
- UIPermission.cs
- XmlDataLoader.cs
- BitmapFrameDecode.cs
- NegotiateStream.cs
- XPathParser.cs
- XpsS0ValidatingLoader.cs
- DescriptionAttribute.cs
- RecordManager.cs
- TypeConverterHelper.cs
- ConnectorDragDropGlyph.cs
- PackageFilter.cs
- DatagridviewDisplayedBandsData.cs
- PersonalizationState.cs
- SqlDeflator.cs
- SymbolPair.cs
- WeakEventManager.cs
- UpdateCommandGenerator.cs
- IsolatedStoragePermission.cs
- TrustLevel.cs
- MergePropertyDescriptor.cs
- SignerInfo.cs
- GuidConverter.cs
- SafeBitVector32.cs
- XmlCDATASection.cs
- PagedDataSource.cs
- XamlSerializationHelper.cs
- ToolStripContentPanel.cs
- TextBoxRenderer.cs
- SecurityUniqueId.cs
- NativeMethods.cs
- UserControlBuildProvider.cs
- TypeBuilderInstantiation.cs
- PropertyDescriptorGridEntry.cs
- OutOfProcStateClientManager.cs
- ActivityDefaults.cs
- WarningException.cs
- InputDevice.cs
- RestrictedTransactionalPackage.cs
- AccessKeyManager.cs
- XamlInterfaces.cs
- SmuggledIUnknown.cs
- ActivationServices.cs
- BitArray.cs
- MetabaseServerConfig.cs
- CacheChildrenQuery.cs
- CopyOfAction.cs
- WindowsRebar.cs
- ConnectivityStatus.cs
- DataControlCommands.cs
- TextPattern.cs
- ContentElementCollection.cs
- Atom10FeedFormatter.cs
- TextEffectCollection.cs