Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / PrintConfig / JobPageOrder.cs / 1 / JobPageOrder.cs
/*++
Copyright (C) 2003-2005 Microsoft Corporation
All rights reserved.
Module Name:
JobPageOrder.cs
Abstract:
Definition and implementation of this public feature/parameter related types.
Author:
[....] ([....]) 05/26/2005
--*/
using System;
using System.IO;
using System.Collections;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Printing;
using MS.Internal.Printing.Configuration;
namespace MS.Internal.Printing.Configuration
{
///
/// Represents a page order option.
///
internal class PageOrderOption: PrintCapabilityOption
{
#region Constructors
internal PageOrderOption(PrintCapabilityFeature ownerFeature) : base(ownerFeature)
{
_value = 0;
}
#endregion Constructors
#region Public Properties
///
/// Gets the page order option's value.
///
public PageOrder Value
{
get
{
return _value;
}
}
#endregion Public Properties
#region Public Methods
///
/// Converts the page order option to human-readable string.
///
/// A string that represents this page order option.
public override string ToString()
{
return Value.ToString();
}
#endregion Public Methods
#region Internal Fields
internal PageOrder _value;
#endregion Internal Fields
}
///
/// Represents job page order capability.
///
internal class JobPageOrderCapability : PrintCapabilityFeature
{
#region Constructors
internal JobPageOrderCapability(InternalPrintCapabilities ownerPrintCap)
: base(ownerPrintCap)
{
}
#endregion Constructors
#region Public Properties
///
/// Gets the collection object that represents page order options supported by the device.
///
public Collection PageOrderOptions
{
get
{
return _orderOptions;
}
}
#endregion Public Properties
#region Internal Methods
internal static PrintCapabilityFeature NewFeatureCallback(InternalPrintCapabilities printCap)
{
JobPageOrderCapability cap = new JobPageOrderCapability(printCap);
cap._orderOptions = new Collection();
return cap;
}
internal override sealed bool AddOptionCallback(PrintCapabilityOption baseOption)
{
bool added = false;
PageOrderOption option = baseOption as PageOrderOption;
// validate the option is complete before adding it to the collection
if (option._optionName != null)
{
int enumValue = PrintSchemaMapper.SchemaNameToEnumValueWithArray(
PrintSchemaTags.Keywords.JobPageOrderKeys.PageOrderNames,
PrintSchemaTags.Keywords.JobPageOrderKeys.PageOrderEnums,
option._optionName);
if (enumValue > 0)
{
option._value = (PageOrder)enumValue;
this.PageOrderOptions.Add(option);
added = true;
}
}
return added;
}
internal override sealed void AddSubFeatureCallback(PrintCapabilityFeature subFeature)
{
// no sub-feature
return;
}
internal override sealed bool FeaturePropCallback(PrintCapabilityFeature feature, XmlPrintCapReader reader)
{
// no feature property to handle
return false;
}
internal override sealed PrintCapabilityOption NewOptionCallback(PrintCapabilityFeature baseFeature)
{
PageOrderOption option = new PageOrderOption(baseFeature);
return option;
}
internal override sealed void OptionAttrCallback(PrintCapabilityOption baseOption, XmlPrintCapReader reader)
{
// no option attribute to handle
return;
}
internal override sealed bool OptionPropCallback(PrintCapabilityOption option, XmlPrintCapReader reader)
{
// no option property to handle
return false;
}
#endregion Internal Methods
#region Internal Properties
internal override sealed bool IsValid
{
get
{
return (this.PageOrderOptions.Count > 0);
}
}
internal override sealed string FeatureName
{
get
{
return PrintSchemaTags.Keywords.JobPageOrderKeys.Self;
}
}
internal override sealed bool HasSubFeature
{
get
{
return false;
}
}
#endregion Internal Properties
#region Internal Fields
internal Collection _orderOptions;
#endregion Internal Fields
}
///
/// Represents job page order setting.
///
internal class JobPageOrderSetting : PrintTicketFeature
{
#region Constructors
///
/// Constructs a new job page order setting object.
///
internal JobPageOrderSetting(InternalPrintTicket ownerPrintTicket)
: base(ownerPrintTicket)
{
this._featureName = PrintSchemaTags.Keywords.JobPageOrderKeys.Self;
this._propertyMaps = new PTPropertyMapEntry[] {
new PTPropertyMapEntry(this,
PrintSchemaTags.Framework.OptionNameProperty,
PTPropValueTypes.EnumStringValue,
PrintSchemaTags.Keywords.JobPageOrderKeys.PageOrderNames,
PrintSchemaTags.Keywords.JobPageOrderKeys.PageOrderEnums)
};
}
#endregion Constructors
#region Public Properties
///
/// Gets or sets the value of this job page order setting.
///
///
/// If the setting is not specified yet, getter will return 0.
///
///
/// The value to set is not one of the standard .
///
public PageOrder Value
{
get
{
return (PageOrder)this[PrintSchemaTags.Framework.OptionNameProperty];
}
set
{
if (value < PrintSchema.PageOrderEnumMin ||
value > PrintSchema.PageOrderEnumMax)
{
throw new ArgumentOutOfRangeException("value");
}
this[PrintSchemaTags.Framework.OptionNameProperty] = (int)value;
}
}
#endregion Public Properties
#region Public Methods
///
/// Converts the job page order setting to human-readable string.
///
/// A string that represents this job page order setting.
public override string ToString()
{
return Value.ToString();
}
#endregion Public 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
- DesignerValidatorAdapter.cs
- DynamicResourceExtensionConverter.cs
- VirtualPath.cs
- List.cs
- XmlSchemaGroupRef.cs
- SqlServer2KCompatibilityAnnotation.cs
- DoubleLink.cs
- BufferBuilder.cs
- EventLogHandle.cs
- UnsafeNativeMethods.cs
- TTSEngineTypes.cs
- ControlValuePropertyAttribute.cs
- FixedLineResult.cs
- DiscoveryRequestHandler.cs
- _ListenerAsyncResult.cs
- CodeDomSerializer.cs
- DataFieldCollectionEditor.cs
- TextCompositionEventArgs.cs
- BrowserCapabilitiesCompiler.cs
- StringCollectionEditor.cs
- SudsWriter.cs
- CompressEmulationStream.cs
- CannotUnloadAppDomainException.cs
- MetadataPropertyCollection.cs
- RsaKeyIdentifierClause.cs
- KeyValueConfigurationCollection.cs
- Constants.cs
- HtmlInputCheckBox.cs
- SQLBinary.cs
- RegistryConfigurationProvider.cs
- SamlDoNotCacheCondition.cs
- FlowDocumentReader.cs
- BulletDecorator.cs
- InvalidCommandTreeException.cs
- ZipIOModeEnforcingStream.cs
- ServicePointManager.cs
- DataBoundControlAdapter.cs
- ManagedIStream.cs
- ResolvedKeyFrameEntry.cs
- ListSurrogate.cs
- EditorZoneBase.cs
- SocketPermission.cs
- SystemIPv4InterfaceProperties.cs
- Event.cs
- DesignerUtils.cs
- ParseChildrenAsPropertiesAttribute.cs
- ActivityBuilderHelper.cs
- Soap12FormatExtensions.cs
- InvalidEnumArgumentException.cs
- ToolStripItemClickedEventArgs.cs
- UnicodeEncoding.cs
- PageBreakRecord.cs
- FlowDocumentPaginator.cs
- PrePrepareMethodAttribute.cs
- XmlWriterTraceListener.cs
- SolidBrush.cs
- SignatureHelper.cs
- ReflectEventDescriptor.cs
- SmtpClient.cs
- SlipBehavior.cs
- BitmapEditor.cs
- GeometryValueSerializer.cs
- BaseTemplateParser.cs
- SynchronizationContext.cs
- NamedElement.cs
- Soap.cs
- XmlBoundElement.cs
- CheckBoxField.cs
- JsonGlobals.cs
- ChildTable.cs
- Visual3D.cs
- WebPartConnection.cs
- EventLogPermissionEntry.cs
- InArgumentConverter.cs
- AttachmentCollection.cs
- TextSerializer.cs
- ProtocolsSection.cs
- ParseHttpDate.cs
- UpdateCommand.cs
- CharacterMetricsDictionary.cs
- CryptoApi.cs
- XmlTextAttribute.cs
- WindowsListBox.cs
- DispatcherExceptionEventArgs.cs
- PointAnimationBase.cs
- CollectionViewSource.cs
- CompoundFileIOPermission.cs
- XmlSchemaObjectTable.cs
- DataGridViewCellStateChangedEventArgs.cs
- CodeDefaultValueExpression.cs
- XmlSchemaObjectTable.cs
- ValidationSummaryDesigner.cs
- AuthorizationSection.cs
- CodeMemberField.cs
- ErrorStyle.cs
- AnimatedTypeHelpers.cs
- DomNameTable.cs
- IisTraceListener.cs
- DuplicateWaitObjectException.cs
- SecurityKeyIdentifier.cs