Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / PrintConfig / PageBorderless.cs / 1 / PageBorderless.cs
/*++
Copyright (C) 2003-2005 Microsoft Corporation
All rights reserved.
Module Name:
PageBorderless.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 borderless option.
///
internal class BorderlessOption: PrintCapabilityOption
{
#region Constructors
internal BorderlessOption(PrintCapabilityFeature ownerFeature) : base(ownerFeature)
{
_value = 0;
}
#endregion Constructors
#region Public Properties
///
/// Gets the borderless option's value.
///
public PageBorderless Value
{
get
{
return _value;
}
}
#endregion Public Properties
#region Public Methods
///
/// Converts the borderless option to human-readable string.
///
/// A string that represents this borderless option.
public override string ToString()
{
return Value.ToString();
}
#endregion Public Methods
#region Internal Fields
internal PageBorderless _value;
#endregion Internal Fields
}
///
/// Represents page borderless capability.
///
internal class PageBorderlessCapability : PrintCapabilityFeature
{
#region Constructors
internal PageBorderlessCapability(InternalPrintCapabilities ownerPrintCap)
: base(ownerPrintCap)
{
}
#endregion Constructors
#region Public Properties
///
/// Gets the collection object that represents borderless options supported by the device.
///
public Collection BorderlessOptions
{
get
{
return _borderlessOptions;
}
}
#endregion Public Properties
#region Internal Methods
internal static PrintCapabilityFeature NewFeatureCallback(InternalPrintCapabilities printCap)
{
PageBorderlessCapability cap = new PageBorderlessCapability(printCap);
cap._borderlessOptions = new Collection();
return cap;
}
internal override sealed bool AddOptionCallback(PrintCapabilityOption baseOption)
{
bool added = false;
BorderlessOption option = baseOption as BorderlessOption;
// validate the option is complete before adding it to the collection
if (option._optionName != null)
{
int enumValue = PrintSchemaMapper.SchemaNameToEnumValueWithArray(
PrintSchemaTags.Keywords.PageBorderlessKeys.BorderlessNames,
PrintSchemaTags.Keywords.PageBorderlessKeys.BorderlessEnums,
option._optionName);
if (enumValue > 0)
{
option._value = (PageBorderless)enumValue;
this.BorderlessOptions.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)
{
BorderlessOption option = new BorderlessOption(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.BorderlessOptions.Count > 0);
}
}
internal override sealed string FeatureName
{
get
{
return PrintSchemaTags.Keywords.PageBorderlessKeys.Self;
}
}
internal override sealed bool HasSubFeature
{
get
{
return false;
}
}
#endregion Internal Properties
#region Internal Fields
internal Collection _borderlessOptions;
#endregion Internal Fields
}
///
/// Represents page borderless setting.
///
internal class PageBorderlessSetting : PrintTicketFeature
{
#region Constructors
///
/// Constructs a new page borderless setting object.
///
internal PageBorderlessSetting(InternalPrintTicket ownerPrintTicket)
: base(ownerPrintTicket)
{
this._featureName = PrintSchemaTags.Keywords.PageBorderlessKeys.Self;
this._propertyMaps = new PTPropertyMapEntry[] {
new PTPropertyMapEntry(this,
PrintSchemaTags.Framework.OptionNameProperty,
PTPropValueTypes.EnumStringValue,
PrintSchemaTags.Keywords.PageBorderlessKeys.BorderlessNames,
PrintSchemaTags.Keywords.PageBorderlessKeys.BorderlessEnums)
};
}
#endregion Constructors
#region Public Properties
///
/// Gets or sets the value of this page borderless setting.
///
///
/// If the setting is not specified yet, getter will return 0.
///
///
/// The value to set is not one of the standard .
///
public PageBorderless Value
{
get
{
return (PageBorderless)this[PrintSchemaTags.Framework.OptionNameProperty];
}
set
{
if (value < PrintSchema.PageBorderlessEnumMin ||
value > PrintSchema.PageBorderlessEnumMax)
{
throw new ArgumentOutOfRangeException("value");
}
this[PrintSchemaTags.Framework.OptionNameProperty] = (int)value;
}
}
#endregion Public Properties
#region Public Methods
///
/// Converts the page borderless setting to human-readable string.
///
/// A string that represents this page borderless 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
- xmlfixedPageInfo.cs
- SrgsText.cs
- AttributeProviderAttribute.cs
- ReaderWriterLock.cs
- SqlXml.cs
- _Rfc2616CacheValidators.cs
- ToolStripPanelCell.cs
- ProtocolsSection.cs
- NonClientArea.cs
- XmlElementElementCollection.cs
- TextProperties.cs
- LoadMessageLogger.cs
- InkCollectionBehavior.cs
- COM2PropertyBuilderUITypeEditor.cs
- HuffmanTree.cs
- HttpModulesSection.cs
- ConnectionInterfaceCollection.cs
- PlaceHolder.cs
- SmtpReplyReader.cs
- DmlSqlGenerator.cs
- JsonReader.cs
- RotateTransform.cs
- MainMenu.cs
- PreloadedPackages.cs
- DefaultAuthorizationContext.cs
- HtmlImage.cs
- DropTarget.cs
- DuplicateDetector.cs
- BaseParser.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- PeerNodeAddress.cs
- RoutedUICommand.cs
- HostingPreferredMapPath.cs
- SurrogateSelector.cs
- ParallelEnumerable.cs
- LocationUpdates.cs
- DataGridSortCommandEventArgs.cs
- VoiceInfo.cs
- ListInitExpression.cs
- CustomCredentialPolicy.cs
- ParseNumbers.cs
- ExtendedProtectionPolicyElement.cs
- AutoResizedEvent.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- safesecurityhelperavalon.cs
- EnumUnknown.cs
- MapPathBasedVirtualPathProvider.cs
- XmlSchemaDocumentation.cs
- CapabilitiesSection.cs
- CompilerLocalReference.cs
- MsmqInputSessionChannelListener.cs
- CellParagraph.cs
- NavigationProperty.cs
- QueryParameter.cs
- PaginationProgressEventArgs.cs
- IItemContainerGenerator.cs
- DynamicHyperLink.cs
- Queue.cs
- ButtonBaseAutomationPeer.cs
- SpeechEvent.cs
- EDesignUtil.cs
- NotFiniteNumberException.cs
- TableRow.cs
- JobDuplex.cs
- GridViewDeletedEventArgs.cs
- MetaType.cs
- ParenthesizePropertyNameAttribute.cs
- Popup.cs
- BuildManagerHost.cs
- DataGridViewColumnHeaderCell.cs
- WindowHideOrCloseTracker.cs
- HorizontalAlignConverter.cs
- TraceSwitch.cs
- AsymmetricAlgorithm.cs
- SortAction.cs
- SystemIPInterfaceStatistics.cs
- PrimitiveType.cs
- ItemChangedEventArgs.cs
- AttachedAnnotation.cs
- JournalEntryListConverter.cs
- NamedPipeConnectionPoolSettingsElement.cs
- EpmSyndicationContentSerializer.cs
- InteropTrackingRecord.cs
- OperatingSystem.cs
- DrawingContextDrawingContextWalker.cs
- PathSegment.cs
- PerCallInstanceContextProvider.cs
- IsolatedStorageException.cs
- UInt64Converter.cs
- InvalidEnumArgumentException.cs
- ScriptReferenceEventArgs.cs
- BaseAsyncResult.cs
- WorkflowInvoker.cs
- CellConstant.cs
- XmlILStorageConverter.cs
- JsonObjectDataContract.cs
- HtmlFormParameterWriter.cs
- ComponentSerializationService.cs
- HashFinalRequest.cs
- DataGridColumn.cs