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
- BamlLocalizableResourceKey.cs
- Substitution.cs
- ResourceManager.cs
- BoundingRectTracker.cs
- EncodingNLS.cs
- EnvironmentPermission.cs
- TextEditorSelection.cs
- DesignerView.Commands.cs
- FileDialogCustomPlacesCollection.cs
- IndexerNameAttribute.cs
- TriState.cs
- HtmlTitle.cs
- EdmPropertyAttribute.cs
- CodeMemberMethod.cs
- RouteValueDictionary.cs
- ZipIOExtraField.cs
- CompositionAdorner.cs
- AssertFilter.cs
- Enum.cs
- StandardToolWindows.cs
- TextTreeRootTextBlock.cs
- DataContractSerializerOperationBehavior.cs
- Point3DAnimationUsingKeyFrames.cs
- RequestCachePolicyConverter.cs
- ItemCollection.cs
- Command.cs
- CacheHelper.cs
- BindStream.cs
- DBNull.cs
- SystemWebCachingSectionGroup.cs
- WebScriptServiceHostFactory.cs
- XamlParser.cs
- Hex.cs
- lengthconverter.cs
- Closure.cs
- XmlSequenceWriter.cs
- PartitionResolver.cs
- HttpCookie.cs
- ListenerPerfCounters.cs
- XmlRawWriterWrapper.cs
- RunWorkerCompletedEventArgs.cs
- ListArgumentProvider.cs
- DataGridViewBindingCompleteEventArgs.cs
- TabPanel.cs
- DataFormats.cs
- RootNamespaceAttribute.cs
- SynthesizerStateChangedEventArgs.cs
- ObjectPropertyMapping.cs
- PasswordDeriveBytes.cs
- columnmapfactory.cs
- DocumentViewer.cs
- InvocationExpression.cs
- SspiWrapper.cs
- ToolBar.cs
- Encoder.cs
- Vector3DAnimationBase.cs
- COM2ColorConverter.cs
- ActiveXSite.cs
- EndpointInfoCollection.cs
- DocumentPageTextView.cs
- DelegateArgumentReference.cs
- EntityProxyTypeInfo.cs
- ExecutedRoutedEventArgs.cs
- AutomationPeer.cs
- ScrollContentPresenter.cs
- TcpTransportSecurityElement.cs
- AddInStore.cs
- OleDbCommandBuilder.cs
- DiscardableAttribute.cs
- GroupLabel.cs
- EmptyControlCollection.cs
- Itemizer.cs
- CustomWebEventKey.cs
- DESCryptoServiceProvider.cs
- Misc.cs
- XomlSerializationHelpers.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- hebrewshape.cs
- XmlBinaryReader.cs
- NoneExcludedImageIndexConverter.cs
- ZipArchive.cs
- ClientConvert.cs
- SocketCache.cs
- OleDbCommandBuilder.cs
- ToolStripSeparator.cs
- ISO2022Encoding.cs
- ListItemCollection.cs
- Axis.cs
- BitmapEffectGroup.cs
- XmlCharType.cs
- RuntimeResourceSet.cs
- LambdaCompiler.ControlFlow.cs
- Stylesheet.cs
- CustomCategoryAttribute.cs
- SmtpDigestAuthenticationModule.cs
- Parser.cs
- TextEffect.cs
- RowsCopiedEventArgs.cs
- CompModSwitches.cs
- AssociationType.cs