Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Framework / MS / Internal / Annotations / Anchoring / SelectionProcessor.cs / 1 / SelectionProcessor.cs
//------------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// SelectionProcessor is an abstract class defining the API for
// creating and processing selections in the annotation framework.
// SelectionProcessors are responsible for creating locator parts representing
// a selection and for creating selections based on a locator part.
// Spec: http://team/sites/ag/Specifications/Anchoring%20Namespace%20Spec.doc
//
// History:
// 12/01/2002: magedz: Created - based on architectural discussions and design
// by axelk, rruiz, magedz
// 04/01/2003: rruiz: Updated file as part of integrating into working system
// 07/21/2003: rruiz: Ported to WCP tree.
// 08/18/2003: rruiz: Updated to Anchoring Namespace spec.
// 05/07/2004: ssimova: Removed Xpath expressions
// 01/07/2004: rruiz: Removed LocatorManager property.
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Annotations;
using System.Windows.Media;
using MS.Utility;
using System.Xml;
namespace MS.Internal.Annotations.Anchoring
{
///
/// SelectionProcessor is an abstract class defining the API for
/// creating and processing selections in the annotation framework.
/// SelectionProcessors are responsible for creating locator parts representing
/// a selection and for creating selections based on a locator part.
///
internal abstract class SelectionProcessor
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// Creates an instance of SelectionProcessor.
///
protected SelectionProcessor()
{
}
#endregion Constructors
//------------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// Merges the two selections into one, if possible.
///
/// selection to merge
/// other selection to merge
/// new selection that contains the data from both
/// selection1 and selection2
/// true if the selections were merged, false otherwise
///
/// selection1 or selection2 are
/// null
public abstract bool MergeSelections(Object selection1, Object selection2, out Object newSelection);
///
/// Gets the tree elements spanned by the selection.
///
/// the selection to examine
/// a list of elements spanned by the selection; never returns
/// null
/// selection is null
/// selection is of wrong type
public abstract IList GetSelectedNodes(Object selection);
///
/// Gets the parent element of this selection.
///
/// the selection to examine
/// the parent element of the selection; can be null
/// selection is null
/// selection is of wrong type
public abstract UIElement GetParent(Object selection);
///
/// Gets the anchor point for the selection
///
/// the selection to examine
/// the anchor point of the selection; can be null
/// selection is null
/// selection is of wrong type
public abstract Point GetAnchorPoint(Object selection);
///
/// Creates one or more locator parts representing the portion
/// of 'startNode' spanned by 'selection'.
///
/// the selection that is being processed
/// the node the locator parts should be in the
/// context of
/// one or more locator parts representing the portion of 'startNode' spanned
/// by 'selection'
/// startNode or selection is null
/// startNode is not a DependencyObject or
/// selection is of the wrong type
public abstract IList GenerateLocatorParts(Object selection, DependencyObject startNode);
///
/// Creates a selection object spanning the portion of 'startNode'
/// specified by 'locatorPart'.
///
/// locator part specifying data to be spanned
/// the node to be spanned by the created
/// selection
/// describes the level of resolution reached when resolving the locator part
/// a selection spanning the portion of 'startNode' specified by
/// 'locatorPart'
/// locatorPart or startNode are
/// null
/// locatorPart is of the incorrect type
public abstract Object ResolveLocatorPart(ContentLocatorPart locatorPart, DependencyObject startNode, out AttachmentLevel attachmentLevel);
///
/// Returns a list of XmlQualifiedNames representing the
/// the locator parts this processor can resolve/generate.
///
public abstract XmlQualifiedName[] GetLocatorPartTypes();
#endregion Public Methods
//------------------------------------------------------
//
// Public Operators
//
//------------------------------------------------------
//-----------------------------------------------------
//
// Public Properties
//
//------------------------------------------------------
//-----------------------------------------------------
//
// Public Events
//
//-----------------------------------------------------
}
}
// 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:
// SelectionProcessor is an abstract class defining the API for
// creating and processing selections in the annotation framework.
// SelectionProcessors are responsible for creating locator parts representing
// a selection and for creating selections based on a locator part.
// Spec: http://team/sites/ag/Specifications/Anchoring%20Namespace%20Spec.doc
//
// History:
// 12/01/2002: magedz: Created - based on architectural discussions and design
// by axelk, rruiz, magedz
// 04/01/2003: rruiz: Updated file as part of integrating into working system
// 07/21/2003: rruiz: Ported to WCP tree.
// 08/18/2003: rruiz: Updated to Anchoring Namespace spec.
// 05/07/2004: ssimova: Removed Xpath expressions
// 01/07/2004: rruiz: Removed LocatorManager property.
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Annotations;
using System.Windows.Media;
using MS.Utility;
using System.Xml;
namespace MS.Internal.Annotations.Anchoring
{
///
/// SelectionProcessor is an abstract class defining the API for
/// creating and processing selections in the annotation framework.
/// SelectionProcessors are responsible for creating locator parts representing
/// a selection and for creating selections based on a locator part.
///
internal abstract class SelectionProcessor
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
///
/// Creates an instance of SelectionProcessor.
///
protected SelectionProcessor()
{
}
#endregion Constructors
//------------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// Merges the two selections into one, if possible.
///
/// selection to merge
/// other selection to merge
/// new selection that contains the data from both
/// selection1 and selection2
/// true if the selections were merged, false otherwise
///
/// selection1 or selection2 are
/// null
public abstract bool MergeSelections(Object selection1, Object selection2, out Object newSelection);
///
/// Gets the tree elements spanned by the selection.
///
/// the selection to examine
/// a list of elements spanned by the selection; never returns
/// null
/// selection is null
/// selection is of wrong type
public abstract IList GetSelectedNodes(Object selection);
///
/// Gets the parent element of this selection.
///
/// the selection to examine
/// the parent element of the selection; can be null
/// selection is null
/// selection is of wrong type
public abstract UIElement GetParent(Object selection);
///
/// Gets the anchor point for the selection
///
/// the selection to examine
/// the anchor point of the selection; can be null
/// selection is null
/// selection is of wrong type
public abstract Point GetAnchorPoint(Object selection);
///
/// Creates one or more locator parts representing the portion
/// of 'startNode' spanned by 'selection'.
///
/// the selection that is being processed
/// the node the locator parts should be in the
/// context of
/// one or more locator parts representing the portion of 'startNode' spanned
/// by 'selection'
/// startNode or selection is null
/// startNode is not a DependencyObject or
/// selection is of the wrong type
public abstract IList GenerateLocatorParts(Object selection, DependencyObject startNode);
///
/// Creates a selection object spanning the portion of 'startNode'
/// specified by 'locatorPart'.
///
/// locator part specifying data to be spanned
/// the node to be spanned by the created
/// selection
/// describes the level of resolution reached when resolving the locator part
/// a selection spanning the portion of 'startNode' specified by
/// 'locatorPart'
/// locatorPart or startNode are
/// null
/// locatorPart is of the incorrect type
public abstract Object ResolveLocatorPart(ContentLocatorPart locatorPart, DependencyObject startNode, out AttachmentLevel attachmentLevel);
///
/// Returns a list of XmlQualifiedNames representing the
/// the locator parts this processor can resolve/generate.
///
public abstract XmlQualifiedName[] GetLocatorPartTypes();
#endregion Public Methods
//------------------------------------------------------
//
// Public Operators
//
//------------------------------------------------------
//-----------------------------------------------------
//
// Public Properties
//
//------------------------------------------------------
//-----------------------------------------------------
//
// Public Events
//
//-----------------------------------------------------
}
}
// 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
- SafeWaitHandle.cs
- StringInfo.cs
- DesignOnlyAttribute.cs
- ScalarType.cs
- XmlWrappingReader.cs
- NamespaceDisplay.xaml.cs
- ProfileSection.cs
- DataSourceConverter.cs
- KeyGesture.cs
- COAUTHIDENTITY.cs
- MetadataUtil.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- SoapTypeAttribute.cs
- ExceptionRoutedEventArgs.cs
- ConnectionInterfaceCollection.cs
- PreProcessInputEventArgs.cs
- UITypeEditor.cs
- HtmlElementCollection.cs
- RijndaelManaged.cs
- MultitargetingHelpers.cs
- PersistenceTypeAttribute.cs
- HtmlMeta.cs
- EastAsianLunisolarCalendar.cs
- InProcStateClientManager.cs
- DataRowChangeEvent.cs
- DocumentPageViewAutomationPeer.cs
- DataControlFieldHeaderCell.cs
- MD5.cs
- HtmlImage.cs
- DbFunctionCommandTree.cs
- DashStyles.cs
- ToolStripComboBox.cs
- XmlSecureResolver.cs
- PlainXmlSerializer.cs
- NumberAction.cs
- IntranetCredentialPolicy.cs
- ElementsClipboardData.cs
- BitmapEffectInputConnector.cs
- HexParser.cs
- XmlByteStreamReader.cs
- DesignObjectWrapper.cs
- CodeBlockBuilder.cs
- login.cs
- _SslState.cs
- ConvertEvent.cs
- DrawItemEvent.cs
- TrackingCondition.cs
- ElementNotAvailableException.cs
- ListViewDeletedEventArgs.cs
- DesignerAutoFormat.cs
- PackageDigitalSignature.cs
- assemblycache.cs
- TableLayoutCellPaintEventArgs.cs
- RealProxy.cs
- ClientScriptManagerWrapper.cs
- ArgumentOutOfRangeException.cs
- DefinitionBase.cs
- GridViewPageEventArgs.cs
- RpcAsyncResult.cs
- _FtpControlStream.cs
- Gdiplus.cs
- RectAnimationClockResource.cs
- XamlTreeBuilder.cs
- ControlCollection.cs
- FixedTextView.cs
- AccessViolationException.cs
- PassportAuthenticationModule.cs
- NetworkStream.cs
- Drawing.cs
- PropertyValueUIItem.cs
- SystemKeyConverter.cs
- CommandValueSerializer.cs
- ConfigXmlSignificantWhitespace.cs
- TextViewSelectionProcessor.cs
- OperationContext.cs
- FullTextState.cs
- RepeaterItemCollection.cs
- DataGridParentRows.cs
- ApplicationProxyInternal.cs
- IndexingContentUnit.cs
- BinHexEncoder.cs
- TemplateInstanceAttribute.cs
- XmlSchemaProviderAttribute.cs
- DataControlPagerLinkButton.cs
- XmlQueryCardinality.cs
- Splitter.cs
- FileResponseElement.cs
- ManagedWndProcTracker.cs
- PersonalizationState.cs
- DataTableNewRowEvent.cs
- DataMember.cs
- _TransmitFileOverlappedAsyncResult.cs
- IndicShape.cs
- StringFreezingAttribute.cs
- SqlConnectionHelper.cs
- XmlEntityReference.cs
- Help.cs
- InsufficientMemoryException.cs
- MultiPageTextView.cs
- HelloOperation11AsyncResult.cs