Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Documents / DynamicDocumentPaginator.cs / 1 / DynamicDocumentPaginator.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: DynamicDocumentPaginator.cs // // Description: Defines advanced methods and properties for paginating layouts, // such as background pagination and methods for tracking content // positions across repaginations. // // History: // 08/29/2005 : [....] - created. // //--------------------------------------------------------------------------- using System.ComponentModel; // AsyncCompletedEventArgs using MS.Internal.PresentationCore; // SR, SRID namespace System.Windows.Documents { ////// Defines advanced methods and properties for paginating layouts, such /// as background pagination and methods for tracking content positions /// across repaginations. /// public abstract class DynamicDocumentPaginator : DocumentPaginator { //------------------------------------------------------------------- // // Public Methods // //------------------------------------------------------------------- #region Public Methods ////// Returns the page number on which the ContentPosition appears. /// /// Content position. ////// Returns the page number on which the ContentPosition appears. /// ////// Throws ArgumentException if the ContentPosition does not exist within /// this element's tree. /// public abstract int GetPageNumber(ContentPosition contentPosition); ////// Async version of /// Content position. ////// /// Throws ArgumentException if the ContentPosition does not exist within /// this element's tree. /// public virtual void GetPageNumberAsync(ContentPosition contentPosition) { GetPageNumberAsync(contentPosition, null); } ////// Async version of /// Content position. /// Unique identifier for the asynchronous task. ////// /// Throws ArgumentException if the ContentPosition does not exist within /// this element�s tree. /// public virtual void GetPageNumberAsync(ContentPosition contentPosition, object userState) { int pageNumber; // Content position cannot be null. if (contentPosition == null) { throw new ArgumentNullException("contentPosition"); } // Content position cannot be Missing. if (contentPosition == ContentPosition.Missing) { throw new ArgumentException(SR.Get(SRID.PaginatorMissingContentPosition), "contentPosition"); } pageNumber = GetPageNumber(contentPosition); OnGetPageNumberCompleted(new GetPageNumberCompletedEventArgs(contentPosition, pageNumber, null, false, userState)); } ////// Returns the ContentPosition for the given page. /// /// Document page. ///Returns the ContentPosition for the given page. ////// Throws ArgumentException if the page is not valid. /// public abstract ContentPosition GetPagePosition(DocumentPage page); ////// Returns the ContentPosition for an object within the content. /// /// Object within this element's tree. ///Returns the ContentPosition for an object within the content. ////// Throws ArgumentException if the object does not exist within this element's tree. /// public abstract ContentPosition GetObjectPosition(Object value); #endregion Public Methods //-------------------------------------------------------------------- // // Public Properties // //------------------------------------------------------------------- #region Public Properties ////// Whether content is paginated in the background. /// When True, the Paginator will paginate its content in the background, /// firing the PaginationCompleted and PaginationProgress events as appropriate. /// Background pagination begins immediately when set to True. If the /// PageSize is modified and this property is set to True, then all pages /// will be repaginated and existing pages may be destroyed. /// The default value is False. /// public virtual bool IsBackgroundPaginationEnabled { get { return false; } set { } } #endregion Public Properties //-------------------------------------------------------------------- // // Public Events // //-------------------------------------------------------------------- #region Public Events ////// Fired when a GetPageNumberAsync call has completed. /// public event GetPageNumberCompletedEventHandler GetPageNumberCompleted; ////// Fired when all document content has been paginated. After this event /// IsPageCountValid will be True. /// public event EventHandler PaginationCompleted; ////// Fired when background pagination is enabled, indicating which pages /// have been formatted and are available. /// public event PaginationProgressEventHandler PaginationProgress; #endregion Public Events //------------------------------------------------------------------- // // Protected Methods // //-------------------------------------------------------------------- #region Protected Methods ////// Override for subclasses that wish to add logic when this event is fired. /// /// Event arguments for the GetPageNumberCompleted event. protected virtual void OnGetPageNumberCompleted(GetPageNumberCompletedEventArgs e) { if (this.GetPageNumberCompleted != null) { this.GetPageNumberCompleted(this, e); } } ////// Override for subclasses that wish to add logic when this event is fired. /// /// Event arguments for the PaginationProgress event. protected virtual void OnPaginationProgress(PaginationProgressEventArgs e) { if (this.PaginationProgress != null) { this.PaginationProgress(this, e); } } ////// Override for subclasses that wish to add logic when this event is fired. /// /// Event arguments for the PaginationCompleted event. protected virtual void OnPaginationCompleted(EventArgs e) { if (this.PaginationCompleted != null) { this.PaginationCompleted(this, e); } } #endregion Protected Methods } } // 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
- ResourceDescriptionAttribute.cs
- SetterBase.cs
- QuaternionRotation3D.cs
- EventLogException.cs
- TemplateNodeContextMenu.cs
- AnnotationResourceChangedEventArgs.cs
- ConfigXmlSignificantWhitespace.cs
- DictionaryGlobals.cs
- ForceCopyBuildProvider.cs
- StorageModelBuildProvider.cs
- WebSysDisplayNameAttribute.cs
- PackagePart.cs
- Viewport2DVisual3D.cs
- HandleScope.cs
- CustomErrorsSectionWrapper.cs
- ListView.cs
- WebPartEditorOkVerb.cs
- RegexTree.cs
- externdll.cs
- Identifier.cs
- MasterPage.cs
- XmlSchemaAny.cs
- KeyFrames.cs
- Completion.cs
- MD5.cs
- UnicodeEncoding.cs
- UnknownWrapper.cs
- ComponentDispatcher.cs
- RuleSetReference.cs
- JournalEntryListConverter.cs
- SoapCodeExporter.cs
- UInt64Storage.cs
- ListSurrogate.cs
- TypeHelpers.cs
- RemotingSurrogateSelector.cs
- CodeBinaryOperatorExpression.cs
- ProfileBuildProvider.cs
- ApplicationServiceHelper.cs
- MsmqIntegrationChannelListener.cs
- RSAProtectedConfigurationProvider.cs
- DataService.cs
- WebPartCancelEventArgs.cs
- RtfNavigator.cs
- OrderByQueryOptionExpression.cs
- BmpBitmapEncoder.cs
- sqlstateclientmanager.cs
- AttributeCollection.cs
- ConnectionProviderAttribute.cs
- StylusTip.cs
- AnimationLayer.cs
- CharAnimationUsingKeyFrames.cs
- ComponentCollection.cs
- _ConnectStream.cs
- _StreamFramer.cs
- XmlNotation.cs
- IndexedString.cs
- WebServiceTypeData.cs
- ScalarType.cs
- RSACryptoServiceProvider.cs
- SafePointer.cs
- StringArrayConverter.cs
- Transform3D.cs
- RuleSettings.cs
- PrimitiveSchema.cs
- InfocardChannelParameter.cs
- InsufficientMemoryException.cs
- SerializeAbsoluteContext.cs
- DataTableCollection.cs
- ClientFormsIdentity.cs
- TypeGeneratedEventArgs.cs
- ElementHostAutomationPeer.cs
- PrintControllerWithStatusDialog.cs
- HashAlgorithm.cs
- DataGridToolTip.cs
- Tile.cs
- DynamicUpdateCommand.cs
- ObjectDataSourceSelectingEventArgs.cs
- NativeMethods.cs
- StretchValidation.cs
- InstallerTypeAttribute.cs
- HyperLink.cs
- SimpleType.cs
- RemotingConfiguration.cs
- SystemColors.cs
- OperationSelectorBehavior.cs
- DomNameTable.cs
- DataGridDetailsPresenterAutomationPeer.cs
- MemberInfoSerializationHolder.cs
- TimelineClockCollection.cs
- PresentationSource.cs
- QilTypeChecker.cs
- FileDialog.cs
- WebControl.cs
- ObjectTypeMapping.cs
- WebEvents.cs
- AutomationElement.cs
- ProxyHelper.cs
- ProcessInfo.cs
- ResourcesBuildProvider.cs
- TdsParserSafeHandles.cs