Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Documents / TextTreeRootTextBlock.cs / 1 / TextTreeRootTextBlock.cs
//---------------------------------------------------------------------------- // // File: TextTreeRootTextBlock.cs // // Description: The root node of a TextBlock splay tree. // //--------------------------------------------------------------------------- using System; using MS.Internal; using System.Collections; namespace System.Windows.Documents { // The root node of a TextBlock splay tree. internal class TextTreeRootTextBlock : SplayTreeNode { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors // Creates a TextTreeRootTextBlock instance. internal TextTreeRootTextBlock() { TextTreeTextBlock block; // Allocate an initial block with just two characters -- one for // each edge of the root node. The block will grow when/if // additional content is added. block = new TextTreeTextBlock(2); block.InsertAtNode(this, ElementEdge.AfterStart); } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods #if DEBUG // Debug-only ToString override. public override string ToString() { return ("RootTextBlock Id=" + this.DebugId); } #endif // DEBUG #endregion Public Methods //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties // The root node never has a parent node. internal override SplayTreeNode ParentNode { get { return null; } set { Invariant.Assert(false, "Can't set ParentNode on TextBlock root!"); } } // Root node of a contained tree, if any. internal override SplayTreeNode ContainedNode { get { return _containedNode; } set { _containedNode = (TextTreeTextBlock)value; } } // The root node never has sibling nodes, so the LeftSymbolCount is a // constant zero. internal override int LeftSymbolCount { get { return 0; } set { Invariant.Assert(false, "TextContainer root is never a sibling!"); } } // Count of unicode chars of all siblings preceding this node. // This property is only used by TextTreeNodes. internal override int LeftCharCount { get { return 0; } set { Invariant.Assert(value == 0); } } // The root node never has siblings, so it never has child nodes. internal override SplayTreeNode LeftChildNode { get { return null; } set { Invariant.Assert(false, "TextBlock root never has sibling nodes!"); } } // The root node never has siblings, so it never has child nodes. internal override SplayTreeNode RightChildNode { get { return null; } set { Invariant.Assert(false, "TextBlock root never has sibling nodes!"); } } // The tree generation. Not used for TextTreeRootTextBlock. internal override uint Generation { get { return 0; } set { Invariant.Assert(false, "TextTreeRootTextBlock does not track Generation!"); } } // Cached symbol offset. The root node is always at offset zero. internal override int SymbolOffsetCache { get { return 0; } set { Invariant.Assert(false, "TextTreeRootTextBlock does not track SymbolOffsetCache!"); } } // Not used for TextTreeRootTextBlock. internal override int SymbolCount { get { return -1; } set { Invariant.Assert(false, "TextTreeRootTextBlock does not track symbol count!"); } } // Count of unicode chars covered by this node and any contained nodes. // This property is only used by TextTreeNodes. internal override int IMECharCount { get { return 0; } set { Invariant.Assert(value == 0); } } #endregion Internal Properties //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields // Root node of a contained tree, if any. private TextTreeTextBlock _containedNode; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // File: TextTreeRootTextBlock.cs // // Description: The root node of a TextBlock splay tree. // //--------------------------------------------------------------------------- using System; using MS.Internal; using System.Collections; namespace System.Windows.Documents { // The root node of a TextBlock splay tree. internal class TextTreeRootTextBlock : SplayTreeNode { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors // Creates a TextTreeRootTextBlock instance. internal TextTreeRootTextBlock() { TextTreeTextBlock block; // Allocate an initial block with just two characters -- one for // each edge of the root node. The block will grow when/if // additional content is added. block = new TextTreeTextBlock(2); block.InsertAtNode(this, ElementEdge.AfterStart); } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods #if DEBUG // Debug-only ToString override. public override string ToString() { return ("RootTextBlock Id=" + this.DebugId); } #endif // DEBUG #endregion Public Methods //------------------------------------------------------ // // Internal Properties // //------------------------------------------------------ #region Internal Properties // The root node never has a parent node. internal override SplayTreeNode ParentNode { get { return null; } set { Invariant.Assert(false, "Can't set ParentNode on TextBlock root!"); } } // Root node of a contained tree, if any. internal override SplayTreeNode ContainedNode { get { return _containedNode; } set { _containedNode = (TextTreeTextBlock)value; } } // The root node never has sibling nodes, so the LeftSymbolCount is a // constant zero. internal override int LeftSymbolCount { get { return 0; } set { Invariant.Assert(false, "TextContainer root is never a sibling!"); } } // Count of unicode chars of all siblings preceding this node. // This property is only used by TextTreeNodes. internal override int LeftCharCount { get { return 0; } set { Invariant.Assert(value == 0); } } // The root node never has siblings, so it never has child nodes. internal override SplayTreeNode LeftChildNode { get { return null; } set { Invariant.Assert(false, "TextBlock root never has sibling nodes!"); } } // The root node never has siblings, so it never has child nodes. internal override SplayTreeNode RightChildNode { get { return null; } set { Invariant.Assert(false, "TextBlock root never has sibling nodes!"); } } // The tree generation. Not used for TextTreeRootTextBlock. internal override uint Generation { get { return 0; } set { Invariant.Assert(false, "TextTreeRootTextBlock does not track Generation!"); } } // Cached symbol offset. The root node is always at offset zero. internal override int SymbolOffsetCache { get { return 0; } set { Invariant.Assert(false, "TextTreeRootTextBlock does not track SymbolOffsetCache!"); } } // Not used for TextTreeRootTextBlock. internal override int SymbolCount { get { return -1; } set { Invariant.Assert(false, "TextTreeRootTextBlock does not track symbol count!"); } } // Count of unicode chars covered by this node and any contained nodes. // This property is only used by TextTreeNodes. internal override int IMECharCount { get { return 0; } set { Invariant.Assert(value == 0); } } #endregion Internal Properties //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields // Root node of a contained tree, if any. private TextTreeTextBlock _containedNode; #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
- ExecutionEngineException.cs
- RoleService.cs
- SynchronizedChannelCollection.cs
- EmptyImpersonationContext.cs
- StreamReader.cs
- NameValueConfigurationElement.cs
- EasingKeyFrames.cs
- EventMappingSettings.cs
- SectionInput.cs
- TextShapeableCharacters.cs
- SubpageParagraph.cs
- HtmlImage.cs
- HtmlHistory.cs
- DropTarget.cs
- UriSectionData.cs
- ConfigXmlCDataSection.cs
- TypeConverterHelper.cs
- TextEditorLists.cs
- IdentityHolder.cs
- ReadOnlyNameValueCollection.cs
- GridViewAutomationPeer.cs
- Pen.cs
- TextHidden.cs
- InternalConfigSettingsFactory.cs
- XmlReaderSettings.cs
- COM2ComponentEditor.cs
- ZoneButton.cs
- ExtractedStateEntry.cs
- CodeDOMUtility.cs
- LogicalTreeHelper.cs
- BuildManager.cs
- Comparer.cs
- PairComparer.cs
- SecurityTokenAuthenticator.cs
- ValidationSummary.cs
- ProfileGroupSettingsCollection.cs
- ObservableDictionary.cs
- DeviceContexts.cs
- StringComparer.cs
- MenuItem.cs
- XmlWriterTraceListener.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- HTTPNotFoundHandler.cs
- ValidationException.cs
- SqlClientFactory.cs
- XmlSignatureManifest.cs
- NamedPermissionSet.cs
- XmlWrappingReader.cs
- TagElement.cs
- DataIdProcessor.cs
- Utils.cs
- _UncName.cs
- VersionedStream.cs
- ValidatorUtils.cs
- BufferAllocator.cs
- MultipartContentParser.cs
- WmlLiteralTextAdapter.cs
- CodeTypeDelegate.cs
- SyndicationSerializer.cs
- DataControlFieldCollection.cs
- DynamicMetaObject.cs
- M3DUtil.cs
- EntityRecordInfo.cs
- DiscoveryDefaults.cs
- CollectionViewGroupRoot.cs
- DynamicResourceExtensionConverter.cs
- InvalidWMPVersionException.cs
- COM2PropertyDescriptor.cs
- GridEntryCollection.cs
- DataServiceEntityAttribute.cs
- XmlText.cs
- OlePropertyStructs.cs
- XPathSelectionIterator.cs
- LinqDataSource.cs
- DataPagerCommandEventArgs.cs
- Sorting.cs
- Aes.cs
- HttpConfigurationSystem.cs
- FontInfo.cs
- ConstNode.cs
- SecureConversationServiceCredential.cs
- OrderByBuilder.cs
- GroupDescription.cs
- securitycriticaldataClass.cs
- LogicalTreeHelper.cs
- Parameter.cs
- EntityContainerEmitter.cs
- SrgsToken.cs
- BitmapSource.cs
- TimeSpanParse.cs
- DataGridViewComboBoxEditingControl.cs
- SafeFindHandle.cs
- SymLanguageVendor.cs
- XPathScanner.cs
- ViewBase.cs
- CroppedBitmap.cs
- LoadedOrUnloadedOperation.cs
- MimeFormImporter.cs
- RequestSecurityTokenResponseCollection.cs
- PerformanceCounters.cs