Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- __FastResourceComparer.cs
- XmlTypeMapping.cs
- VisualStyleElement.cs
- FixedBufferAttribute.cs
- DataQuery.cs
- StaticContext.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- FunctionImportElement.cs
- serverconfig.cs
- ToolStripDropDownClosedEventArgs.cs
- SessionState.cs
- SHA256.cs
- CustomError.cs
- Page.cs
- RowToFieldTransformer.cs
- CollectionConverter.cs
- GenericsInstances.cs
- XmlArrayAttribute.cs
- DataBindingExpressionBuilder.cs
- ModuleElement.cs
- TextEditorDragDrop.cs
- DecryptedHeader.cs
- CodeActivityContext.cs
- Attributes.cs
- CellCreator.cs
- CrossSiteScriptingValidation.cs
- UIElement3D.cs
- CodeFieldReferenceExpression.cs
- HashRepartitionStream.cs
- OracleConnectionStringBuilder.cs
- DateTimePicker.cs
- XPathNavigator.cs
- DbConnectionInternal.cs
- BinaryObjectWriter.cs
- RangeValidator.cs
- XmlSchemaSimpleTypeRestriction.cs
- ErrorLog.cs
- TextEffect.cs
- BinaryObjectReader.cs
- CallSiteHelpers.cs
- PropertyItemInternal.cs
- SafeSerializationManager.cs
- XPathBinder.cs
- TouchFrameEventArgs.cs
- cookiecollection.cs
- XPathDocument.cs
- ProfileEventArgs.cs
- WindowsToolbarAsMenu.cs
- CodeAssignStatement.cs
- PanelStyle.cs
- DbInsertCommandTree.cs
- WinInet.cs
- ListViewSortEventArgs.cs
- MetafileHeaderWmf.cs
- ArrayConverter.cs
- Point3DValueSerializer.cs
- Boolean.cs
- VariableModifiersHelper.cs
- DataObjectMethodAttribute.cs
- figurelength.cs
- Base64Decoder.cs
- SpotLight.cs
- PageContentCollection.cs
- XPathAxisIterator.cs
- CaseStatement.cs
- DataMemberAttribute.cs
- ListSourceHelper.cs
- XpsManager.cs
- ClassImporter.cs
- RoleService.cs
- precedingsibling.cs
- WizardPanel.cs
- SubMenuStyle.cs
- localization.cs
- FileClassifier.cs
- XmlWriterTraceListener.cs
- DefaultObjectMappingItemCollection.cs
- ErrorActivity.cs
- AtomContentProperty.cs
- EncoderReplacementFallback.cs
- Atom10FormatterFactory.cs
- FolderLevelBuildProviderAppliesToAttribute.cs
- CellLabel.cs
- PropertyCondition.cs
- BaseTreeIterator.cs
- WindowsUpDown.cs
- SiteMapHierarchicalDataSourceView.cs
- UnsafeNativeMethods.cs
- PenThread.cs
- FloaterBaseParaClient.cs
- OperationPickerDialog.cs
- ProxyElement.cs
- EntityDataSourceViewSchema.cs
- ExpandableObjectConverter.cs
- DelegateBodyWriter.cs
- AuthenticationManager.cs
- SoapInteropTypes.cs
- ZipIOCentralDirectoryBlock.cs
- IntranetCredentialPolicy.cs
- DelegateBodyWriter.cs