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
- XPathItem.cs
- CompatibleComparer.cs
- TextMarkerSource.cs
- PrePrepareMethodAttribute.cs
- AffineTransform3D.cs
- ImportCatalogPart.cs
- StateItem.cs
- TypeBuilderInstantiation.cs
- XPathNavigatorException.cs
- DetailsView.cs
- Helpers.cs
- PersistenceIOParticipant.cs
- XmlNodeChangedEventArgs.cs
- WinCategoryAttribute.cs
- ErrorHandler.cs
- TimeZone.cs
- Focus.cs
- ShaderEffect.cs
- ListBase.cs
- ItemsPanelTemplate.cs
- COM2TypeInfoProcessor.cs
- OleDbFactory.cs
- References.cs
- InstancePersistenceException.cs
- XPathNodePointer.cs
- SHA256CryptoServiceProvider.cs
- InfoCardUIAgent.cs
- LocatorGroup.cs
- LinearGradientBrush.cs
- HtmlInputHidden.cs
- FormViewModeEventArgs.cs
- FileDialogCustomPlace.cs
- ClientSession.cs
- RangeValidator.cs
- TemplateColumn.cs
- _HeaderInfo.cs
- Form.cs
- AddInIpcChannel.cs
- Activity.cs
- UserNameSecurityTokenAuthenticator.cs
- DrawingVisualDrawingContext.cs
- IriParsingElement.cs
- HwndHost.cs
- ThumbAutomationPeer.cs
- BitmapScalingModeValidation.cs
- EmissiveMaterial.cs
- versioninfo.cs
- MruCache.cs
- WeakReference.cs
- HwndSubclass.cs
- XmlAttributeCache.cs
- ConstructorBuilder.cs
- DataContractSet.cs
- infer.cs
- BooleanSwitch.cs
- _Win32.cs
- SystemWebSectionGroup.cs
- SoapFormatterSinks.cs
- HMACSHA512.cs
- RelationshipManager.cs
- HtmlGenericControl.cs
- XmlSchemaSet.cs
- WindowsIdentity.cs
- DataTableClearEvent.cs
- SQLDouble.cs
- Effect.cs
- HostUtils.cs
- FrameworkElement.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- Renderer.cs
- HtmlTableCell.cs
- PropertyPathWorker.cs
- SchemaNames.cs
- EdmMember.cs
- ResourceAssociationSetEnd.cs
- BatchServiceHost.cs
- DataQuery.cs
- UpDownEvent.cs
- ScaleTransform3D.cs
- newinstructionaction.cs
- EntityClassGenerator.cs
- ViewStateException.cs
- MultiPageTextView.cs
- TakeQueryOptionExpression.cs
- StructuredTypeInfo.cs
- TraceListener.cs
- DnsPermission.cs
- DefaultConfirmation.cs
- DesignerView.cs
- StdValidatorsAndConverters.cs
- CfgArc.cs
- ImpersonateTokenRef.cs
- ActivityTypeDesigner.xaml.cs
- DelegateArgument.cs
- ActivityInterfaces.cs
- TypeListConverter.cs
- RSAPKCS1KeyExchangeFormatter.cs
- HelpFileFileNameEditor.cs
- FilteredReadOnlyMetadataCollection.cs
- PeerNodeTraceRecord.cs