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
- FunctionNode.cs
- SamlAssertion.cs
- ActivityAction.cs
- ProviderManager.cs
- SoapIgnoreAttribute.cs
- CustomErrorsSection.cs
- MsmqChannelFactory.cs
- FlowDocumentReader.cs
- InfiniteTimeSpanConverter.cs
- ConstructorArgumentAttribute.cs
- RsaSecurityKey.cs
- ScrollChangedEventArgs.cs
- NullReferenceException.cs
- Stackframe.cs
- FlowDocument.cs
- CodeBlockBuilder.cs
- DbModificationCommandTree.cs
- XmlWhitespace.cs
- EqualityComparer.cs
- TaiwanCalendar.cs
- EpmContentDeSerializerBase.cs
- ExtensionDataObject.cs
- ToolStripSystemRenderer.cs
- FloaterBaseParaClient.cs
- Ray3DHitTestResult.cs
- EndEvent.cs
- DuplexChannelFactory.cs
- TextRunCache.cs
- XmlDataDocument.cs
- PieceDirectory.cs
- UIPropertyMetadata.cs
- TokenBasedSetEnumerator.cs
- RequestCachePolicy.cs
- SecurityDocument.cs
- ThumbAutomationPeer.cs
- PointAnimationBase.cs
- DrawingDrawingContext.cs
- SystemIcons.cs
- RulePatternOps.cs
- IndicFontClient.cs
- TypeConverterAttribute.cs
- MachineSettingsSection.cs
- ValidatorCompatibilityHelper.cs
- MasterPageBuildProvider.cs
- FilterQuery.cs
- RoutedEventHandlerInfo.cs
- WindowsPrincipal.cs
- ListControl.cs
- documentsequencetextpointer.cs
- SendMailErrorEventArgs.cs
- XmlWriter.cs
- Triplet.cs
- DragEventArgs.cs
- ErrorTableItemStyle.cs
- TextParagraphView.cs
- HttpRuntimeSection.cs
- FieldNameLookup.cs
- MobileUserControlDesigner.cs
- SoundPlayer.cs
- CodeDomDesignerLoader.cs
- WindowsGraphics.cs
- IncrementalHitTester.cs
- SqlInfoMessageEvent.cs
- BuildProvidersCompiler.cs
- SimpleTextLine.cs
- PlacementWorkspace.cs
- OrderPreservingMergeHelper.cs
- MembershipUser.cs
- CatalogPart.cs
- BmpBitmapEncoder.cs
- BaseParser.cs
- ResourceDisplayNameAttribute.cs
- State.cs
- XmlSerializationReader.cs
- Stylesheet.cs
- OutOfMemoryException.cs
- MetabaseSettingsIis7.cs
- SqlCacheDependency.cs
- __Filters.cs
- AnyReturnReader.cs
- DataFormats.cs
- MetadataArtifactLoaderCompositeFile.cs
- WindowsStatic.cs
- CommonDialog.cs
- FtpWebResponse.cs
- ReverseInheritProperty.cs
- OverlappedAsyncResult.cs
- SafeNativeMethods.cs
- RequestSecurityTokenResponse.cs
- SimpleRecyclingCache.cs
- DesignTimeDataBinding.cs
- EntityDescriptor.cs
- Symbol.cs
- PersistenceTypeAttribute.cs
- WebBrowserSiteBase.cs
- CounterCreationDataCollection.cs
- GenericAuthenticationEventArgs.cs
- LambdaCompiler.Address.cs
- TextServicesPropertyRanges.cs
- MembershipAdapter.cs