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
- SecurityElement.cs
- DocumentReference.cs
- OrderedDictionary.cs
- PropertyChangedEventManager.cs
- NestedContainer.cs
- TextEditor.cs
- WebControlAdapter.cs
- unsafenativemethodstextservices.cs
- ValidatedControlConverter.cs
- XmlCDATASection.cs
- QueryStatement.cs
- ProtectedConfiguration.cs
- XmlElement.cs
- ImageUrlEditor.cs
- Popup.cs
- TableRowGroupCollection.cs
- ProfileBuildProvider.cs
- PerformanceCounterCategory.cs
- WebPartAddingEventArgs.cs
- CellTreeNodeVisitors.cs
- ProfileBuildProvider.cs
- ToolStripContainerDesigner.cs
- TreeNodeSelectionProcessor.cs
- CounterSet.cs
- NameValueSectionHandler.cs
- Win32SafeHandles.cs
- HttpCookieCollection.cs
- XmlReflectionImporter.cs
- XPathNodePointer.cs
- StringPropertyBuilder.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- WindowsListView.cs
- QueryOptionExpression.cs
- SqlDataSourceSelectingEventArgs.cs
- ListItemCollection.cs
- DragAssistanceManager.cs
- AttachedAnnotation.cs
- WindowsImpersonationContext.cs
- XmlILAnnotation.cs
- SqlDeflator.cs
- GenericParameterDataContract.cs
- FileStream.cs
- ProcessInputEventArgs.cs
- DBBindings.cs
- BitmapFrameDecode.cs
- RepeatBehaviorConverter.cs
- CodeTypeDeclarationCollection.cs
- RbTree.cs
- SelectManyQueryOperator.cs
- StylusPointPropertyId.cs
- FtpCachePolicyElement.cs
- XmlILTrace.cs
- ColorPalette.cs
- TemplateParser.cs
- BoolExpression.cs
- TransactionScopeDesigner.cs
- WindowsRichEditRange.cs
- MetadataArtifactLoaderResource.cs
- PopupEventArgs.cs
- CommonBehaviorsSection.cs
- LinearGradientBrush.cs
- MsmqBindingElementBase.cs
- DataIdProcessor.cs
- SettingsProviderCollection.cs
- StickyNoteAnnotations.cs
- bidPrivateBase.cs
- XmlDocumentType.cs
- ForwardPositionQuery.cs
- WebConfigurationHost.cs
- SchemaImporterExtensionElementCollection.cs
- XmlBoundElement.cs
- PageBreakRecord.cs
- IIS7WorkerRequest.cs
- XmlNodeComparer.cs
- OleDbConnectionInternal.cs
- TextTreeObjectNode.cs
- StackSpiller.Generated.cs
- ResXBuildProvider.cs
- PropertyDescriptorGridEntry.cs
- fixedPageContentExtractor.cs
- TableLayout.cs
- DbgCompiler.cs
- TaskFileService.cs
- EventLogPermissionEntryCollection.cs
- DataStorage.cs
- HealthMonitoringSection.cs
- ProcessHostServerConfig.cs
- HttpCacheVary.cs
- NopReturnReader.cs
- XhtmlCssHandler.cs
- BrowserDefinition.cs
- LinkLabelLinkClickedEvent.cs
- NonBatchDirectoryCompiler.cs
- RemoteDebugger.cs
- MruCache.cs
- FactorySettingsElement.cs
- ChannelDispatcherBase.cs
- IsolatedStorageException.cs
- ContextMenuAutomationPeer.cs
- Component.cs