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
- PropertyDescriptorCollection.cs
- NumberFormatInfo.cs
- PointAnimationBase.cs
- RequestTimeoutManager.cs
- DelayLoadType.cs
- SqlReorderer.cs
- ClientConfigurationHost.cs
- MessageRpc.cs
- EUCJPEncoding.cs
- MissingSatelliteAssemblyException.cs
- SizeFConverter.cs
- ControlBuilder.cs
- ObjectItemCollection.cs
- ScrollBar.cs
- FontDifferentiator.cs
- EventNotify.cs
- WinFormsComponentEditor.cs
- TextSimpleMarkerProperties.cs
- WebPartMovingEventArgs.cs
- RequestNavigateEventArgs.cs
- SEHException.cs
- WinInetCache.cs
- BoolExpr.cs
- ServiceDescriptions.cs
- InkPresenter.cs
- METAHEADER.cs
- MessageEventSubscriptionService.cs
- RowToFieldTransformer.cs
- DelimitedListTraceListener.cs
- ConfigXmlSignificantWhitespace.cs
- VectorConverter.cs
- HttpApplicationStateWrapper.cs
- xdrvalidator.cs
- IPAddressCollection.cs
- PreviewPageInfo.cs
- SrgsRule.cs
- ConstructorNeedsTagAttribute.cs
- MobileControl.cs
- CodeCastExpression.cs
- PersonalizableTypeEntry.cs
- VScrollProperties.cs
- TemplateColumn.cs
- XmlCharacterData.cs
- ClassHandlersStore.cs
- HttpHandlersInstallComponent.cs
- glyphs.cs
- SafeCryptoKeyHandle.cs
- TextBoxRenderer.cs
- COM2Properties.cs
- RectKeyFrameCollection.cs
- MDIControlStrip.cs
- StrokeCollection.cs
- DataPagerFieldItem.cs
- KernelTypeValidation.cs
- StylusPointProperty.cs
- _Connection.cs
- followingsibling.cs
- ArglessEventHandlerProxy.cs
- CompressedStack.cs
- UseLicense.cs
- ParameterBuilder.cs
- BookmarkEventArgs.cs
- SqlDependency.cs
- ControlAdapter.cs
- UnsafeNativeMethods.cs
- NumericUpDown.cs
- SqlSupersetValidator.cs
- ComponentResourceKey.cs
- XPathArrayIterator.cs
- NativeMethods.cs
- CodeAccessPermission.cs
- RemoteWebConfigurationHost.cs
- XmlQueryCardinality.cs
- MonikerUtility.cs
- DefaultValidator.cs
- BasicHttpMessageCredentialType.cs
- XmlSchemaSimpleContentRestriction.cs
- XsdDateTime.cs
- DBConcurrencyException.cs
- DeploymentExceptionMapper.cs
- cryptoapiTransform.cs
- CheckoutException.cs
- IgnoreFlushAndCloseStream.cs
- ListBindingHelper.cs
- FunctionQuery.cs
- IdentityReference.cs
- SingleBodyParameterMessageFormatter.cs
- QuestionEventArgs.cs
- PackageDigitalSignatureManager.cs
- ConfigPathUtility.cs
- CodeAttributeArgumentCollection.cs
- MimeReturn.cs
- SerializationHelper.cs
- KeyManager.cs
- invalidudtexception.cs
- BStrWrapper.cs
- FtpCachePolicyElement.cs
- SvcMapFileSerializer.cs
- BookmarkUndoUnit.cs
- TypeProvider.cs