Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / 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 : grzegorz - 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.
//----------------------------------------------------------------------------
//
// 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 : grzegorz - 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
- TextEncodedRawTextWriter.cs
- NewItemsContextMenuStrip.cs
- Authorization.cs
- RSAPKCS1SignatureFormatter.cs
- SqlSupersetValidator.cs
- CodeNamespaceImportCollection.cs
- ContentOperations.cs
- PointAnimationUsingKeyFrames.cs
- IdnMapping.cs
- NetworkAddressChange.cs
- ApplicationManager.cs
- QueryStringParameter.cs
- ExpressionVisitor.cs
- xsdvalidator.cs
- PropertyConverter.cs
- HandlerBase.cs
- IriParsingElement.cs
- Membership.cs
- XmlSignatureProperties.cs
- SmtpSection.cs
- FontStyles.cs
- TransactionProxy.cs
- CssTextWriter.cs
- FunctionMappingTranslator.cs
- ColumnCollection.cs
- ElementAction.cs
- WindowsFormsSectionHandler.cs
- Function.cs
- CodeTypeMember.cs
- SignatureToken.cs
- PageParser.cs
- SQLMoney.cs
- AttributeQuery.cs
- ComplexBindingPropertiesAttribute.cs
- MetabaseServerConfig.cs
- WindowsFormsSectionHandler.cs
- InertiaTranslationBehavior.cs
- ProfileGroupSettings.cs
- LabelEditEvent.cs
- SpeechAudioFormatInfo.cs
- PropertyValueChangedEvent.cs
- PropertyIDSet.cs
- SystemPens.cs
- UIPermission.cs
- DataRow.cs
- UserControl.cs
- SafeEventLogReadHandle.cs
- TrackingLocation.cs
- ComponentResourceKeyConverter.cs
- _emptywebproxy.cs
- TextTrailingCharacterEllipsis.cs
- ListDictionary.cs
- DLinqTableProvider.cs
- IdentitySection.cs
- SystemColors.cs
- GridViewCancelEditEventArgs.cs
- WebDisplayNameAttribute.cs
- ObjectDataSourceSelectingEventArgs.cs
- XmlTypeAttribute.cs
- CreateRefExpr.cs
- ItemContainerGenerator.cs
- InstallHelper.cs
- DBDataPermissionAttribute.cs
- RowToFieldTransformer.cs
- HtmlShim.cs
- BooleanSwitch.cs
- FragmentQueryKB.cs
- BypassElementCollection.cs
- ResourcePool.cs
- ComPlusInstanceProvider.cs
- DataGridColumn.cs
- AndCondition.cs
- FixedDSBuilder.cs
- RuntimeArgumentHandle.cs
- _Semaphore.cs
- AsymmetricSignatureDeformatter.cs
- CapabilitiesPattern.cs
- SpeakProgressEventArgs.cs
- XsltArgumentList.cs
- WebServiceData.cs
- GridViewColumnCollectionChangedEventArgs.cs
- XamlTypeMapper.cs
- ClosableStream.cs
- XomlCompilerResults.cs
- ObjectItemNoOpAssemblyLoader.cs
- XsdDataContractImporter.cs
- MethodExpr.cs
- TreeView.cs
- ProxyWebPartManager.cs
- QilValidationVisitor.cs
- DoubleMinMaxAggregationOperator.cs
- XPathNodeInfoAtom.cs
- SafeCryptoKeyHandle.cs
- SelectedDatesCollection.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- LightweightCodeGenerator.cs
- TreeWalkHelper.cs
- NameObjectCollectionBase.cs
- complextypematerializer.cs
- ResourceDictionary.cs