Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / TextTreeRootTextBlock.cs / 1305600 / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompensationDesigner.cs
- SecurityTokenProvider.cs
- Quaternion.cs
- DNS.cs
- BaseParaClient.cs
- TableColumn.cs
- WebPermission.cs
- TextBoxView.cs
- WebPartCollection.cs
- NativeActivityTransactionContext.cs
- SQLChars.cs
- XmlSecureResolver.cs
- WindowsStatusBar.cs
- RuntimeConfig.cs
- CapiHashAlgorithm.cs
- MergeFilterQuery.cs
- Predicate.cs
- CodeTypeMemberCollection.cs
- XmlAtomicValue.cs
- DataGridColumnCollection.cs
- PolyLineSegment.cs
- DataGridViewColumnTypeEditor.cs
- PhysicalFontFamily.cs
- CodeConditionStatement.cs
- ConfigurationValue.cs
- TextRangeProviderWrapper.cs
- XmlDictionaryReader.cs
- IteratorFilter.cs
- SectionXmlInfo.cs
- Vector3D.cs
- SplineQuaternionKeyFrame.cs
- AnnotationStore.cs
- DocumentationServerProtocol.cs
- Relationship.cs
- ExtenderControl.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- coordinator.cs
- RemoveStoryboard.cs
- ErrorFormatterPage.cs
- SplayTreeNode.cs
- SymbolMethod.cs
- altserialization.cs
- RevocationPoint.cs
- Atom10FeedFormatter.cs
- PropertyMap.cs
- ServiceBehaviorAttribute.cs
- ClientScriptManagerWrapper.cs
- Keywords.cs
- TranslateTransform3D.cs
- EntityDataSourceChangingEventArgs.cs
- Rotation3DKeyFrameCollection.cs
- FocusManager.cs
- Int32CAMarshaler.cs
- ServiceModelTimeSpanValidator.cs
- SqlProfileProvider.cs
- BaseTemplateBuildProvider.cs
- CodeCompileUnit.cs
- Matrix.cs
- ConfigurationPropertyCollection.cs
- ConnectionStringsExpressionBuilder.cs
- AutoGeneratedField.cs
- PolyLineSegmentFigureLogic.cs
- IdnElement.cs
- BoundField.cs
- _LocalDataStore.cs
- EntityDescriptor.cs
- ProfilePropertySettingsCollection.cs
- OdbcConnectionFactory.cs
- WebPartActionVerb.cs
- SafeRegistryHandle.cs
- MimeMapping.cs
- InputScopeConverter.cs
- RegexCharClass.cs
- TripleDESCryptoServiceProvider.cs
- PropertyKey.cs
- GPPOINT.cs
- ConfigXmlReader.cs
- MarkupCompilePass1.cs
- DataAdapter.cs
- Walker.cs
- MetadataArtifactLoaderFile.cs
- Figure.cs
- DbDeleteCommandTree.cs
- XmlSchemaElement.cs
- LocatorGroup.cs
- StringUtil.cs
- BamlStream.cs
- SqlProviderServices.cs
- HttpWrapper.cs
- ExpressionWriter.cs
- CatalogPart.cs
- UIElementPropertyUndoUnit.cs
- TextElementEnumerator.cs
- _HeaderInfoTable.cs
- Evaluator.cs
- __TransparentProxy.cs
- ClrPerspective.cs
- ItemDragEvent.cs
- TransferRequestHandler.cs
- SqlFacetAttribute.cs