Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / ReachPageContentSerializerAsync.cs / 1 / ReachPageContentSerializerAsync.cs
/*++
Copyright (C) 2004- 2005 Microsoft Corporation
All rights reserved.
Module Name:
ReachPageContentSerializerAsync.cs
Abstract:
This file contains the definition of a class that defines
the common functionality required to serialize a PageContent.
Author:
[....] ([....]) 25-May-2005
Revision History:
--*/
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Diagnostics;
using System.Reflection;
using System.Xml;
using System.IO;
using System.Printing;
using System.Security;
using System.Security.Permissions;
using System.ComponentModel.Design.Serialization;
using System.Windows.Xps.Packaging;
using System.Windows.Documents;
using System.Windows.Media;
using System.Windows.Markup;
namespace System.Windows.Xps.Serialization
{
///
/// Class defining common functionality required to
/// serialize a ReachPageContentSerializer.
///
internal class ReachPageContentSerializerAsync :
ReachSerializerAsync
{
#region Constructor
///
/// Constructor for class ReachPageContentSerializer
///
///
/// The serialization manager, the services of which are
/// used later in the serialization process of the type.
///
public
ReachPageContentSerializerAsync(
PackageSerializationManager manager
):
base(manager)
{
}
#endregion Constructor
#region Public Methods
///
///
///
public
override
void
AsyncOperation(
ReachSerializerContext context
)
{
if(context == null)
{
}
switch (context.Action)
{
case SerializerAction.serializePage:
{
SerializePage(context.ObjectContext);
break;
}
default:
{
base.AsyncOperation(context);
break;
}
}
}
#endregion
#region Internal Methods
///
/// The method is called once the object data is discovered at that
/// point of the serialization process.
///
///
/// The context of the object to be serialized at this time.
///
internal
override
void
PersistObjectData(
SerializableObjectContext serializableObjectContext
)
{
if(serializableObjectContext.IsComplexValue)
{
ReachSerializerContext context = new ReachSerializerContext(this,
serializableObjectContext,
SerializerAction.serializePage);
((XpsSerializationManagerAsync)SerializationManager).OperationStack.Push(context);
}
else
{
throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_WrongPropertyTypeForPageContent));
}
}
private
void
SerializePage(
SerializableObjectContext serializableObjectContext
)
{
FixedPage fixedPage = Toolbox.GetPageRoot(serializableObjectContext.TargetObject);
if(fixedPage != null)
{
ReachSerializer serializer = SerializationManager.GetSerializer(fixedPage);
if(serializer!=null)
{
XpsSerializationPrintTicketRequiredEventArgs e =
new XpsSerializationPrintTicketRequiredEventArgs(PrintTicketLevel.FixedPagePrintTicket,
0);
((XpsSerializationManagerAsync)SerializationManager).OnXPSSerializationPrintTicketRequired(e);
PrintTicket printTicket = null;
if( e.Modified )
{
printTicket = e.PrintTicket;
}
Toolbox.Layout(fixedPage, printTicket);
((XpsSerializationManagerAsync)SerializationManager).FixedPagePrintTicket = printTicket;
serializer.SerializeObject(fixedPage);
}
else
{
throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_NoSerializer));
}
}
}
#endregion Internal 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
- odbcmetadatafactory.cs
- Propagator.Evaluator.cs
- XmlEncoding.cs
- PreservationFileWriter.cs
- ClientBuildManager.cs
- RuleSettings.cs
- GestureRecognizer.cs
- WebPartMenuStyle.cs
- HtmlForm.cs
- SerializationUtility.cs
- UrlMappingsModule.cs
- GAC.cs
- ClientTargetCollection.cs
- NameSpaceExtractor.cs
- WindowsListViewScroll.cs
- ServiceNameElementCollection.cs
- MenuCommands.cs
- ObjectResult.cs
- ElementHostAutomationPeer.cs
- QuotedPairReader.cs
- PersonalizationProvider.cs
- ConnectionsZone.cs
- DeviceContexts.cs
- DbConnectionFactory.cs
- TemplateBaseAction.cs
- HwndMouseInputProvider.cs
- ActivityInstance.cs
- DataExpression.cs
- PreviewKeyDownEventArgs.cs
- Int32EqualityComparer.cs
- LongTypeConverter.cs
- ImageListUtils.cs
- HttpListenerException.cs
- FieldAccessException.cs
- IntegerFacetDescriptionElement.cs
- DataReaderContainer.cs
- DataConnectionHelper.cs
- Monitor.cs
- StateMachine.cs
- SHA384.cs
- DeferredBinaryDeserializerExtension.cs
- KeyTimeConverter.cs
- FrugalList.cs
- DockingAttribute.cs
- SessionSwitchEventArgs.cs
- ScriptControl.cs
- PropertyInformation.cs
- HttpHostedTransportConfiguration.cs
- DataGridViewTextBoxEditingControl.cs
- COM2ExtendedBrowsingHandler.cs
- DoubleAnimationUsingKeyFrames.cs
- ReflectEventDescriptor.cs
- RoutedEvent.cs
- _ListenerAsyncResult.cs
- ProbeMatchesMessage11.cs
- DetailsViewUpdatedEventArgs.cs
- SelectorAutomationPeer.cs
- GetWinFXPath.cs
- WhiteSpaceTrimStringConverter.cs
- WebHttpSecurity.cs
- PersonalizationEntry.cs
- TraceContextRecord.cs
- DelegatingTypeDescriptionProvider.cs
- SID.cs
- DecoderFallbackWithFailureFlag.cs
- ListBindableAttribute.cs
- infer.cs
- NativeMethods.cs
- EmbeddedObject.cs
- DataServiceKeyAttribute.cs
- Panel.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- CssTextWriter.cs
- MulticastNotSupportedException.cs
- PageBreakRecord.cs
- PageThemeParser.cs
- ConversionValidationRule.cs
- DesignBindingConverter.cs
- ColumnCollection.cs
- Assembly.cs
- ConfigXmlAttribute.cs
- ContentType.cs
- IntSecurity.cs
- JournalEntry.cs
- EntityContainerAssociationSet.cs
- SQLSingleStorage.cs
- SecurityPermission.cs
- Rect.cs
- HashCodeCombiner.cs
- DictionaryBase.cs
- AnnotationAdorner.cs
- Rect.cs
- MouseOverProperty.cs
- Int64.cs
- DataGridLinkButton.cs
- TransformPattern.cs
- DispatcherProcessingDisabled.cs
- StaticSiteMapProvider.cs
- DeclarativeCatalogPart.cs
- SqlDataSourceCommandEventArgs.cs