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
- infer.cs
- AppModelKnownContentFactory.cs
- DataGridPageChangedEventArgs.cs
- AddressAlreadyInUseException.cs
- CryptoKeySecurity.cs
- MediaContext.cs
- MailDefinition.cs
- CodeComment.cs
- CryptoStream.cs
- OneOfElement.cs
- MetadataCache.cs
- CollectionsUtil.cs
- IISUnsafeMethods.cs
- OleDbException.cs
- ScriptDescriptor.cs
- SoundPlayer.cs
- OpenFileDialog.cs
- KeyConstraint.cs
- SqlFunctionAttribute.cs
- DocumentApplicationJournalEntryEventArgs.cs
- DataSourceCacheDurationConverter.cs
- ReferenceEqualityComparer.cs
- Globals.cs
- StructuredCompositeActivityDesigner.cs
- MultiByteCodec.cs
- DateTimeFormatInfo.cs
- sqlmetadatafactory.cs
- TransformConverter.cs
- SqlTypeConverter.cs
- SettingsAttributeDictionary.cs
- SqlFunctionAttribute.cs
- CodePageEncoding.cs
- SoapServerProtocol.cs
- ModuleConfigurationInfo.cs
- ArgIterator.cs
- LogPolicy.cs
- HandlerBase.cs
- WebPartAddingEventArgs.cs
- XmlSubtreeReader.cs
- NextPreviousPagerField.cs
- Ops.cs
- _IPv4Address.cs
- DispatcherExceptionFilterEventArgs.cs
- ListBox.cs
- HttpCacheVary.cs
- XamlRtfConverter.cs
- TreeNodeSelectionProcessor.cs
- UTF32Encoding.cs
- XhtmlBasicLiteralTextAdapter.cs
- EnumerableRowCollection.cs
- Journal.cs
- TemplateManager.cs
- SemaphoreSecurity.cs
- ClientBuildManagerCallback.cs
- EventWaitHandle.cs
- Parameter.cs
- SchemaCollectionPreprocessor.cs
- TaskFormBase.cs
- EmissiveMaterial.cs
- ObjectItemNoOpAssemblyLoader.cs
- CustomErrorsSectionWrapper.cs
- _Rfc2616CacheValidators.cs
- SortExpressionBuilder.cs
- AvTrace.cs
- ScrollableControlDesigner.cs
- RepeaterItem.cs
- XmlComplianceUtil.cs
- WebZone.cs
- ExecutionEngineException.cs
- XmlCharCheckingWriter.cs
- SelectionHighlightInfo.cs
- CompilationUnit.cs
- ObjectDataSourceEventArgs.cs
- MetadataFile.cs
- FileLogRecord.cs
- HtmlButton.cs
- CfgParser.cs
- Action.cs
- SqlDataSourceAdvancedOptionsForm.cs
- HtmlToClrEventProxy.cs
- AnnotationAdorner.cs
- OracleCommandSet.cs
- HtmlShimManager.cs
- MarginsConverter.cs
- XmlFormatReaderGenerator.cs
- MethodBody.cs
- HwndPanningFeedback.cs
- ToolBarButtonClickEvent.cs
- Oid.cs
- RegexReplacement.cs
- BitSet.cs
- MemberExpression.cs
- SystemIcmpV6Statistics.cs
- VersionUtil.cs
- FeedUtils.cs
- COMException.cs
- NativeWrapper.cs
- SamlSerializer.cs
- RegisteredScript.cs
- IpcPort.cs