Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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 IListGetSelectedNodes(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 IListGenerateLocatorParts(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 IListGetSelectedNodes(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 IListGenerateLocatorParts(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
- PerfCounters.cs
- TemplateControlCodeDomTreeGenerator.cs
- ValidationErrorEventArgs.cs
- DataTableCollection.cs
- PersonalizationAdministration.cs
- CapacityStreamGeometryContext.cs
- DrawingVisual.cs
- ReadOnlyDataSourceView.cs
- ContentPosition.cs
- RetriableClipboard.cs
- XmlnsCompatibleWithAttribute.cs
- Stylesheet.cs
- OdbcEnvironment.cs
- EntityDataSourceEntitySetNameItem.cs
- SectionVisual.cs
- MsmqUri.cs
- ResourcePermissionBaseEntry.cs
- EventLog.cs
- OleDbFactory.cs
- Compilation.cs
- InProcStateClientManager.cs
- XmlILOptimizerVisitor.cs
- MultiAsyncResult.cs
- BinaryFormatter.cs
- XmlTextReader.cs
- MailSettingsSection.cs
- WindowsListViewItemStartMenu.cs
- StringFreezingAttribute.cs
- PassportAuthentication.cs
- SimpleType.cs
- RandomNumberGenerator.cs
- SqlTypesSchemaImporter.cs
- ProtectedProviderSettings.cs
- ColorContextHelper.cs
- EncodingTable.cs
- FileDataSource.cs
- Model3D.cs
- InternalMappingException.cs
- DirectionalAction.cs
- ByeOperationCD1AsyncResult.cs
- Behavior.cs
- RegularExpressionValidator.cs
- ComponentCache.cs
- ByteStorage.cs
- KnowledgeBase.cs
- EventMappingSettings.cs
- HwndHost.cs
- InvalidDataException.cs
- ResourceDisplayNameAttribute.cs
- AssemblyCollection.cs
- DataViewSetting.cs
- Image.cs
- __Error.cs
- DynamicRendererThreadManager.cs
- SettingsProperty.cs
- ComponentEditorForm.cs
- Matrix.cs
- RuleSetDialog.cs
- Row.cs
- RewritingSimplifier.cs
- translator.cs
- ConnectionsZoneDesigner.cs
- _Semaphore.cs
- TrustManager.cs
- SqlRetyper.cs
- Permission.cs
- MessageBox.cs
- RayHitTestParameters.cs
- PerfCounters.cs
- Point3DConverter.cs
- ContentPosition.cs
- XmlEntityReference.cs
- StringUtil.cs
- TextSelectionHighlightLayer.cs
- InkPresenterAutomationPeer.cs
- QuaternionValueSerializer.cs
- RestHandler.cs
- URL.cs
- TypeValidationEventArgs.cs
- DataControlField.cs
- Token.cs
- DataSetMappper.cs
- KnownBoxes.cs
- StoragePropertyMapping.cs
- TemplatePagerField.cs
- PaperSource.cs
- ThemeableAttribute.cs
- ImageCollectionCodeDomSerializer.cs
- PropertySourceInfo.cs
- TextRange.cs
- UniqueSet.cs
- autovalidator.cs
- LoginCancelEventArgs.cs
- XmlSerializerFactory.cs
- DataGridViewRowCancelEventArgs.cs
- MemberJoinTreeNode.cs
- Rotation3D.cs
- XPathAxisIterator.cs
- ContentValidator.cs
- VerticalAlignConverter.cs