Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Documents / DynamicDocumentPaginator.cs / 1305600 / 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
- GeneratedCodeAttribute.cs
- WindowsPrincipal.cs
- ThreadAttributes.cs
- SHA1Managed.cs
- UserPersonalizationStateInfo.cs
- FilterElement.cs
- CSharpCodeProvider.cs
- SafeNativeMethodsOther.cs
- DataGridViewCellConverter.cs
- WindowsStartMenu.cs
- ConfigXmlSignificantWhitespace.cs
- CancellationTokenRegistration.cs
- StandardCommandToolStripMenuItem.cs
- SerializationBinder.cs
- TextContainerChangedEventArgs.cs
- ManifestSignatureInformation.cs
- BaseDataList.cs
- GenericWebPart.cs
- PolyBezierSegment.cs
- XmlnsCompatibleWithAttribute.cs
- StringBuilder.cs
- ServicePointManagerElement.cs
- ProfileParameter.cs
- Dictionary.cs
- HttpClientProtocol.cs
- _Win32.cs
- ZipIOCentralDirectoryBlock.cs
- basemetadatamappingvisitor.cs
- RtfNavigator.cs
- EntityDataSourceChangingEventArgs.cs
- ComponentCommands.cs
- AsymmetricAlgorithm.cs
- ConfigPathUtility.cs
- ApplicationSecurityInfo.cs
- Exception.cs
- Converter.cs
- TextInfo.cs
- DeclarativeCatalogPartDesigner.cs
- Identity.cs
- XmlSchemaGroup.cs
- _NestedMultipleAsyncResult.cs
- EnumConverter.cs
- AddValidationError.cs
- CurrencyWrapper.cs
- DSASignatureDeformatter.cs
- StandardBindingOptionalReliableSessionElement.cs
- FormatVersion.cs
- MatcherBuilder.cs
- GeometryCombineModeValidation.cs
- MulticastNotSupportedException.cs
- StylusTouchDevice.cs
- Wildcard.cs
- TableSectionStyle.cs
- CompiledXpathExpr.cs
- StrokeCollection2.cs
- SqlTrackingQuery.cs
- PrintPreviewGraphics.cs
- ErrorFormatterPage.cs
- LinqDataSourceUpdateEventArgs.cs
- ObjectDataSourceStatusEventArgs.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- DataKeyCollection.cs
- CodeCompileUnit.cs
- WSDualHttpBindingElement.cs
- ToolBar.cs
- TailCallAnalyzer.cs
- XMLDiffLoader.cs
- ISO2022Encoding.cs
- PointF.cs
- DefaultShape.cs
- TrackingMemoryStream.cs
- AnnotationDocumentPaginator.cs
- HttpRuntime.cs
- IntegrationExceptionEventArgs.cs
- XmlDocument.cs
- HwndTarget.cs
- EntityCommandCompilationException.cs
- DataGridViewRowHeaderCell.cs
- TimeIntervalCollection.cs
- SqlSelectStatement.cs
- VBCodeProvider.cs
- PerspectiveCamera.cs
- TemplateBindingExpressionConverter.cs
- PingReply.cs
- _SSPISessionCache.cs
- InkCanvasAutomationPeer.cs
- XmlILAnnotation.cs
- SkipStoryboardToFill.cs
- SamlConditions.cs
- ReaderOutput.cs
- PointConverter.cs
- GraphicsPathIterator.cs
- PerfCounterSection.cs
- Timer.cs
- DrawingDrawingContext.cs
- FamilyCollection.cs
- PrivateFontCollection.cs
- PasswordBox.cs
- TargetControlTypeCache.cs
- SapiRecoContext.cs