Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / IO / Packaging / contentDescriptor.cs / 1305600 / contentDescriptor.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// Types of keys and data in the element table that is used
// by XamlFilter and initialized by the generated function
// InitElementDictionary.
//
// History:
// 02/26/2004: JohnLarc: Initial implementation
//---------------------------------------------------------------------------
using System;
namespace MS.Internal.IO.Packaging
{
///
/// Representation of a fully-qualified XML name for a XAML element.
///
internal class ElementTableKey
{
///
/// Constructor.
///
internal ElementTableKey(string xmlNamespace, string baseName)
{
if (xmlNamespace == null)
{
throw new ArgumentNullException("xmlNamespace");
}
if (baseName == null)
{
throw new ArgumentNullException("baseName");
}
_xmlNamespace = xmlNamespace;
_baseName = baseName;
}
///
/// Equality test.
///
public override bool Equals( object other )
{
if (other == null)
return false; // Standard behavior.
if (other.GetType() != GetType())
return false;
// Note that because of the GetType() checking above, the casting must be valid.
ElementTableKey otherElement = (ElementTableKey)other;
return ( String.CompareOrdinal(BaseName,otherElement.BaseName) == 0
&& String.CompareOrdinal(XmlNamespace,otherElement.XmlNamespace) == 0 );
}
///
/// Hash on all name components.
///
public override int GetHashCode()
{
return XmlNamespace.GetHashCode() ^ BaseName.GetHashCode();
}
///
/// XML namespace.
///
internal string XmlNamespace
{
get
{
return _xmlNamespace;
}
}
///
/// Local name.
///
internal string BaseName
{
get
{
return _baseName;
}
}
private string _baseName;
private string _xmlNamespace;
public static readonly string XamlNamespace = "http://schemas.microsoft.com/winfx/2006/xaml/presentation";
public static readonly string FixedMarkupNamespace = "http://schemas.microsoft.com/xps/2005/06";
}
///Content-location information for an element.
internal class ContentDescriptor
{
///
/// The name of the key to the value of _xamlElementContentDescriptorDictionary in the resource file.
///
internal const string ResourceKeyName = "Dictionary";
///
/// The name of the resource containing the definition of XamlFilter._xamlElementContentDescriptorDictionary.
///
internal const string ResourceName = "ElementTable";
///
/// Standard constructor.
///
internal ContentDescriptor(
bool hasIndexableContent,
bool isInline,
string contentProp,
string titleProp)
{
HasIndexableContent = hasIndexableContent;
IsInline = isInline;
ContentProp = contentProp;
TitleProp = titleProp;
}
///
/// Constructor with default settings for all but HasIndexableContent.
///
///
/// Currently, this constructor is always passed false, since in this case the other values are "don't care".
/// It would make sense to use it with HasIndexableContent=true, however.
///
internal ContentDescriptor(
bool hasIndexableContent)
{
HasIndexableContent = hasIndexableContent;
IsInline = false;
ContentProp = null;
TitleProp = null;
}
///
/// Whether indexable at all.
///
///
/// ContentDescriptor properties are read-write because at table creation time these properties
/// are discovered and stored incrementally.
///
internal bool HasIndexableContent
{
get
{
return _hasIndexableContent;
}
set
{
_hasIndexableContent = value;
}
}
///
/// Block or inline.
///
internal bool IsInline
{
get
{
return _isInline;
}
set
{
_isInline = value;
}
}
///
/// Attribute in which to find content or null.
///
internal string ContentProp
{
get
{
return _contentProp;
}
set
{
_contentProp = value;
}
}
///
/// Attribute in which to find a title rather than the real content.
///
internal string TitleProp
{
get
{
return _titleProp;
}
set
{
_titleProp = value;
}
}
private bool _hasIndexableContent;
private bool _isInline;
private string _contentProp;
private string _titleProp;
}
} // namespace MS.Internal.IO.Packaging
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// Types of keys and data in the element table that is used
// by XamlFilter and initialized by the generated function
// InitElementDictionary.
//
// History:
// 02/26/2004: JohnLarc: Initial implementation
//---------------------------------------------------------------------------
using System;
namespace MS.Internal.IO.Packaging
{
///
/// Representation of a fully-qualified XML name for a XAML element.
///
internal class ElementTableKey
{
///
/// Constructor.
///
internal ElementTableKey(string xmlNamespace, string baseName)
{
if (xmlNamespace == null)
{
throw new ArgumentNullException("xmlNamespace");
}
if (baseName == null)
{
throw new ArgumentNullException("baseName");
}
_xmlNamespace = xmlNamespace;
_baseName = baseName;
}
///
/// Equality test.
///
public override bool Equals( object other )
{
if (other == null)
return false; // Standard behavior.
if (other.GetType() != GetType())
return false;
// Note that because of the GetType() checking above, the casting must be valid.
ElementTableKey otherElement = (ElementTableKey)other;
return ( String.CompareOrdinal(BaseName,otherElement.BaseName) == 0
&& String.CompareOrdinal(XmlNamespace,otherElement.XmlNamespace) == 0 );
}
///
/// Hash on all name components.
///
public override int GetHashCode()
{
return XmlNamespace.GetHashCode() ^ BaseName.GetHashCode();
}
///
/// XML namespace.
///
internal string XmlNamespace
{
get
{
return _xmlNamespace;
}
}
///
/// Local name.
///
internal string BaseName
{
get
{
return _baseName;
}
}
private string _baseName;
private string _xmlNamespace;
public static readonly string XamlNamespace = "http://schemas.microsoft.com/winfx/2006/xaml/presentation";
public static readonly string FixedMarkupNamespace = "http://schemas.microsoft.com/xps/2005/06";
}
///Content-location information for an element.
internal class ContentDescriptor
{
///
/// The name of the key to the value of _xamlElementContentDescriptorDictionary in the resource file.
///
internal const string ResourceKeyName = "Dictionary";
///
/// The name of the resource containing the definition of XamlFilter._xamlElementContentDescriptorDictionary.
///
internal const string ResourceName = "ElementTable";
///
/// Standard constructor.
///
internal ContentDescriptor(
bool hasIndexableContent,
bool isInline,
string contentProp,
string titleProp)
{
HasIndexableContent = hasIndexableContent;
IsInline = isInline;
ContentProp = contentProp;
TitleProp = titleProp;
}
///
/// Constructor with default settings for all but HasIndexableContent.
///
///
/// Currently, this constructor is always passed false, since in this case the other values are "don't care".
/// It would make sense to use it with HasIndexableContent=true, however.
///
internal ContentDescriptor(
bool hasIndexableContent)
{
HasIndexableContent = hasIndexableContent;
IsInline = false;
ContentProp = null;
TitleProp = null;
}
///
/// Whether indexable at all.
///
///
/// ContentDescriptor properties are read-write because at table creation time these properties
/// are discovered and stored incrementally.
///
internal bool HasIndexableContent
{
get
{
return _hasIndexableContent;
}
set
{
_hasIndexableContent = value;
}
}
///
/// Block or inline.
///
internal bool IsInline
{
get
{
return _isInline;
}
set
{
_isInline = value;
}
}
///
/// Attribute in which to find content or null.
///
internal string ContentProp
{
get
{
return _contentProp;
}
set
{
_contentProp = value;
}
}
///
/// Attribute in which to find a title rather than the real content.
///
internal string TitleProp
{
get
{
return _titleProp;
}
set
{
_titleProp = value;
}
}
private bool _hasIndexableContent;
private bool _isInline;
private string _contentProp;
private string _titleProp;
}
} // namespace MS.Internal.IO.Packaging
// 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
- ChangeBlockUndoRecord.cs
- XmlHierarchicalDataSourceView.cs
- FormatException.cs
- DebugViewWriter.cs
- HtmlAnchor.cs
- XmlSchemaAppInfo.cs
- _SslStream.cs
- ImportContext.cs
- BitmapEffectDrawingContent.cs
- XmlSchemaExternal.cs
- Message.cs
- KeyTime.cs
- WebHttpBinding.cs
- EntityDataSourceConfigureObjectContext.cs
- DocumentGridPage.cs
- DbProviderFactory.cs
- ServiceDescriptionContext.cs
- _emptywebproxy.cs
- ChildChangedEventArgs.cs
- BitmapFrameDecode.cs
- RelationshipConverter.cs
- UserInitiatedNavigationPermission.cs
- CompilationRelaxations.cs
- MarkupObject.cs
- SQLBinaryStorage.cs
- MatchAllMessageFilter.cs
- Model3DGroup.cs
- EmptyEnumerable.cs
- DbParameterCollection.cs
- XmlDataDocument.cs
- WeakReferenceEnumerator.cs
- FilterableAttribute.cs
- PropertyToken.cs
- ListSortDescription.cs
- ImmComposition.cs
- CharacterBufferReference.cs
- diagnosticsswitches.cs
- ISO2022Encoding.cs
- SynchronizationContext.cs
- ApplicationException.cs
- SpellerHighlightLayer.cs
- CursorConverter.cs
- SafeSerializationManager.cs
- ProfileEventArgs.cs
- ConnectionPoint.cs
- DigitShape.cs
- EventEntry.cs
- DrawingState.cs
- NamedPermissionSet.cs
- SqlIdentifier.cs
- BaseCodeDomTreeGenerator.cs
- BindingOperations.cs
- SoapAttributes.cs
- NullableConverter.cs
- TextReader.cs
- FixedSOMTableRow.cs
- Identity.cs
- InheritanceContextHelper.cs
- CustomValidator.cs
- CaseInsensitiveComparer.cs
- ISAPIWorkerRequest.cs
- JoinGraph.cs
- PenContexts.cs
- Point.cs
- XPathNodePointer.cs
- HuffmanTree.cs
- MailBnfHelper.cs
- RuleRef.cs
- IdentitySection.cs
- Popup.cs
- QueryOperationResponseOfT.cs
- StylusPointPropertyInfo.cs
- RegexBoyerMoore.cs
- XPathExpr.cs
- XmlSchemaComplexContentExtension.cs
- MessageFormatterConverter.cs
- DataGridViewColumn.cs
- TreeViewHitTestInfo.cs
- InfoCardConstants.cs
- VirtualDirectoryMappingCollection.cs
- DebugController.cs
- HttpsTransportBindingElement.cs
- NextPreviousPagerField.cs
- XmlSchemaComplexContent.cs
- IdleTimeoutMonitor.cs
- OleDbParameter.cs
- TreeNodeMouseHoverEvent.cs
- CompositeControl.cs
- PrintDocument.cs
- JsonObjectDataContract.cs
- Point4D.cs
- DataTableExtensions.cs
- XPathDocument.cs
- PropertyDescriptorCollection.cs
- MemberInfoSerializationHolder.cs
- ValueTable.cs
- safex509handles.cs
- X509Certificate2Collection.cs
- ExitEventArgs.cs
- GeneralTransform3DGroup.cs