Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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: [....]/sites/ag/Specifications/Anchoring%20Namespace%20Spec.doc // // History: // 12/01/2002: [....]: Created - based on architectural discussions and design // by [....], [....], [....] // 04/01/2003: [....]: Updated file as part of integrating into working system // 07/21/2003: [....]: Ported to WCP tree. // 08/18/2003: [....]: Updated to Anchoring Namespace spec. // 05/07/2004: [....]: Removed Xpath expressions // 01/07/2004: [....]: 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
- ProxyHwnd.cs
- OdbcEnvironment.cs
- BufferModeSettings.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- XmlQueryRuntime.cs
- ExtendedProperty.cs
- ApplicationActivator.cs
- UriTemplateTrieNode.cs
- RawKeyboardInputReport.cs
- SimpleBitVector32.cs
- IOThreadScheduler.cs
- AliasGenerator.cs
- DataSysAttribute.cs
- Configuration.cs
- DeleteWorkflowOwnerCommand.cs
- DeferredSelectedIndexReference.cs
- RelationshipManager.cs
- LinkArea.cs
- ElementNotAvailableException.cs
- XPathScanner.cs
- NonSerializedAttribute.cs
- SafeThemeHandle.cs
- ContextMenuStrip.cs
- AppDomainShutdownMonitor.cs
- MemberAccessException.cs
- ResourceIDHelper.cs
- WinInet.cs
- WaveHeader.cs
- PhonemeConverter.cs
- StringSorter.cs
- ReadOnlyHierarchicalDataSourceView.cs
- Serializer.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ManifestResourceInfo.cs
- XmlUrlResolver.cs
- StreamInfo.cs
- RuntimeCompatibilityAttribute.cs
- DataObject.cs
- SemanticResolver.cs
- LineSegment.cs
- ValidationSummary.cs
- SoapTypeAttribute.cs
- ControlTemplate.cs
- ExpressionVisitorHelpers.cs
- LoginName.cs
- WeakReadOnlyCollection.cs
- AlgoModule.cs
- RelationshipWrapper.cs
- WebServiceEnumData.cs
- TextParaClient.cs
- EnumerableCollectionView.cs
- MethodBuilder.cs
- CompositeActivityTypeDescriptorProvider.cs
- FragmentNavigationEventArgs.cs
- WindowsIdentity.cs
- BufferedGraphicsContext.cs
- MulticastIPAddressInformationCollection.cs
- MD5CryptoServiceProvider.cs
- DataGridRowClipboardEventArgs.cs
- UnmanagedMemoryStream.cs
- LassoSelectionBehavior.cs
- ResourceManager.cs
- CustomLineCap.cs
- UnsafeNativeMethods.cs
- SecurityDescriptor.cs
- ScrollItemProviderWrapper.cs
- DataGridHeaderBorder.cs
- TransportManager.cs
- ColumnWidthChangedEvent.cs
- SurrogateDataContract.cs
- RemoteWebConfigurationHostServer.cs
- WSSecurityTokenSerializer.cs
- IntSecurity.cs
- EntityDescriptor.cs
- DoubleLinkList.cs
- SqlError.cs
- Pair.cs
- StringReader.cs
- Package.cs
- RegexReplacement.cs
- EntityEntry.cs
- FormClosingEvent.cs
- BuildManager.cs
- InvokeAction.cs
- ForceCopyBuildProvider.cs
- Freezable.cs
- IncrementalReadDecoders.cs
- XamlTemplateSerializer.cs
- CfgSemanticTag.cs
- UpDownBase.cs
- WinInet.cs
- X509Utils.cs
- CrossAppDomainChannel.cs
- DocumentViewerAutomationPeer.cs
- x509utils.cs
- SecurityDocument.cs
- BatchStream.cs
- ProtocolsConfiguration.cs
- DefaultTypeArgumentAttribute.cs
- Stackframe.cs