Code:
/ 4.0 / 4.0 / 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.
//----------------------------------------------------------------------------
//
// 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
- ResourceManager.cs
- TextServicesContext.cs
- X509Certificate.cs
- WebPartConnectionsCancelEventArgs.cs
- NetworkAddressChange.cs
- RepeaterItemEventArgs.cs
- SimpleHandlerFactory.cs
- MetafileHeaderEmf.cs
- HotSpot.cs
- Int32Rect.cs
- SQLDecimal.cs
- WebPartTracker.cs
- SerializationUtilities.cs
- OrderByExpression.cs
- XmlSchemaSimpleContentRestriction.cs
- NativeConfigurationLoader.cs
- PropertyOrder.cs
- ArcSegment.cs
- GestureRecognizer.cs
- SwitchElementsCollection.cs
- ByteStorage.cs
- ToolStripScrollButton.cs
- SocketElement.cs
- DataServiceQueryException.cs
- EntityDataSourceWrapper.cs
- IEnumerable.cs
- PrintingPermission.cs
- NavigatorInput.cs
- PolyLineSegment.cs
- ViewBase.cs
- Menu.cs
- MimeTypeAttribute.cs
- Line.cs
- SymbolMethod.cs
- pingexception.cs
- DynamicUpdateCommand.cs
- CustomAttributeBuilder.cs
- PersistStreamTypeWrapper.cs
- ReadOnlyActivityGlyph.cs
- ClientSettingsSection.cs
- TextRangeSerialization.cs
- EncodingStreamWrapper.cs
- HttpException.cs
- RecognizedAudio.cs
- ProxyHwnd.cs
- DataGridTableCollection.cs
- PanningMessageFilter.cs
- XPathBinder.cs
- PingOptions.cs
- SqlConnectionString.cs
- LinqMaximalSubtreeNominator.cs
- FormViewInsertedEventArgs.cs
- TextUtf8RawTextWriter.cs
- DecoratedNameAttribute.cs
- PasswordPropertyTextAttribute.cs
- _Win32.cs
- FileDialogPermission.cs
- ErrorWebPart.cs
- DateTimeParse.cs
- XXXOnTypeBuilderInstantiation.cs
- BindValidator.cs
- QueryOutputWriterV1.cs
- XmlSignatureManifest.cs
- HtmlAnchor.cs
- _LazyAsyncResult.cs
- InstanceCreationEditor.cs
- UnionQueryOperator.cs
- HelpEvent.cs
- EventWaitHandleSecurity.cs
- SchemaTypeEmitter.cs
- _CookieModule.cs
- CustomBindingElement.cs
- FileDialogCustomPlacesCollection.cs
- Document.cs
- NegotiationTokenAuthenticator.cs
- FamilyMapCollection.cs
- Axis.cs
- CompatibleIComparer.cs
- BordersPage.cs
- MarshalByRefObject.cs
- WrappedReader.cs
- EventLog.cs
- XmlEncodedRawTextWriter.cs
- ModelPropertyCollectionImpl.cs
- FixedSOMTableRow.cs
- SplineKeyFrames.cs
- PolyQuadraticBezierSegment.cs
- RootBuilder.cs
- Span.cs
- Component.cs
- _SSPIWrapper.cs
- ToolBar.cs
- DefaultProxySection.cs
- TimeIntervalCollection.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- SaveFileDialogDesigner.cs
- ControlBuilderAttribute.cs
- SessionEndedEventArgs.cs
- WebHttpSecurityElement.cs
- BuildProvidersCompiler.cs