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
- ReliabilityContractAttribute.cs
- NavigationWindow.cs
- CompositeFontFamily.cs
- NavigationProgressEventArgs.cs
- WebPartTransformerCollection.cs
- SqlEnums.cs
- XmlRawWriter.cs
- ContentFilePart.cs
- RootCodeDomSerializer.cs
- ImageMapEventArgs.cs
- DataGridViewCellConverter.cs
- ArrayList.cs
- DbConnectionStringBuilder.cs
- XPathNavigatorReader.cs
- DataSpaceManager.cs
- CompareInfo.cs
- HttpPostProtocolReflector.cs
- ReflectionPermission.cs
- RequestCachePolicyConverter.cs
- ConditionCollection.cs
- SecurityTokenRequirement.cs
- DropDownList.cs
- HwndPanningFeedback.cs
- SourceSwitch.cs
- InvokePatternIdentifiers.cs
- TextRunProperties.cs
- CultureInfoConverter.cs
- ConvertEvent.cs
- ProfileBuildProvider.cs
- SelectionBorderGlyph.cs
- QilInvokeLateBound.cs
- ThemeableAttribute.cs
- FontSource.cs
- OutputScope.cs
- RelatedImageListAttribute.cs
- WpfSharedXamlSchemaContext.cs
- ConnectionsZone.cs
- RadioButton.cs
- SafeThemeHandle.cs
- MailBnfHelper.cs
- PrintDialogException.cs
- WCFBuildProvider.cs
- ItemsControlAutomationPeer.cs
- MergeFailedEvent.cs
- UnsafePeerToPeerMethods.cs
- ComEventsInfo.cs
- LockingPersistenceProvider.cs
- MouseGesture.cs
- KeyboardEventArgs.cs
- CodeSnippetStatement.cs
- ComponentEvent.cs
- SqlCacheDependencySection.cs
- serverconfig.cs
- TextTreeInsertElementUndoUnit.cs
- HitTestDrawingContextWalker.cs
- ThreadPool.cs
- ListViewInsertedEventArgs.cs
- DecoderExceptionFallback.cs
- ModelServiceImpl.cs
- WmlFormAdapter.cs
- FileUtil.cs
- DynamicResourceExtension.cs
- HotSpotCollection.cs
- AuthenticateEventArgs.cs
- CreatingCookieEventArgs.cs
- Menu.cs
- BatchServiceHost.cs
- RawStylusInputReport.cs
- ChannelSettingsElement.cs
- SimpleApplicationHost.cs
- UnsafePeerToPeerMethods.cs
- DataSvcMapFileSerializer.cs
- Frame.cs
- HybridDictionary.cs
- PixelShader.cs
- SiteMapNodeCollection.cs
- XmlSchemaSubstitutionGroup.cs
- DbDataRecord.cs
- SelectionRange.cs
- TimerElapsedEvenArgs.cs
- HtmlTableRow.cs
- NoResizeHandleGlyph.cs
- SafeLibraryHandle.cs
- XPathBinder.cs
- DefaultTextStoreTextComposition.cs
- CheckBox.cs
- LoginCancelEventArgs.cs
- EntityViewGenerationAttribute.cs
- XmlAttributeOverrides.cs
- LineSegment.cs
- TrackingConditionCollection.cs
- PointCollectionConverter.cs
- SymbolMethod.cs
- RoleService.cs
- DataRowExtensions.cs
- MenuItemBindingCollection.cs
- XmlILTrace.cs
- TextEditorDragDrop.cs
- BufferedGraphicsManager.cs
- EastAsianLunisolarCalendar.cs