|
|
@@ -3,10 +3,13 @@
|
|
|
//
|
|
|
// Author:
|
|
|
// Dennis Hayes ([email protected])
|
|
|
+// Herve Poussineau ([email protected])
|
|
|
//
|
|
|
// (C) 2002 Ximian, Inc
|
|
|
//
|
|
|
using System;
|
|
|
+using System.Collections;
|
|
|
+using System.Drawing.Printing;
|
|
|
|
|
|
namespace System.Drawing.Printing
|
|
|
{
|
|
|
@@ -16,7 +19,7 @@ namespace System.Drawing.Printing
|
|
|
///
|
|
|
[Serializable]
|
|
|
//[ComVisible(false)]
|
|
|
- public class PrinterSettings {//: IClonable
|
|
|
+ public class PrinterSettings : ICloneable{
|
|
|
public PrinterSettings()
|
|
|
{
|
|
|
}
|
|
|
@@ -24,23 +27,293 @@ namespace System.Drawing.Printing
|
|
|
/// <summary>
|
|
|
/// Summary description for PaperSourceCollection.
|
|
|
/// </summary>
|
|
|
- public class PaperSourceCollection {
|
|
|
- public PaperSourceCollection() {
|
|
|
+ public class PaperSourceCollection : ICollection, IEnumerable {
|
|
|
+ ArrayList _PaperSources = new ArrayList();
|
|
|
+
|
|
|
+ public PaperSourceCollection(PaperSource[] array) {
|
|
|
+ foreach (PaperSource ps in array)
|
|
|
+ _PaperSources.Add(ps);
|
|
|
+ }
|
|
|
+
|
|
|
+ public int Count { get { return _PaperSources.Count; } }
|
|
|
+ bool ICollection.IsSynchronized { get { return false; } }
|
|
|
+ object ICollection.SyncRoot { get { return this; } }
|
|
|
+
|
|
|
+ public virtual PaperSource this[int index] {
|
|
|
+ get { return _PaperSources[index] as PaperSource; }
|
|
|
+ }
|
|
|
+
|
|
|
+ IEnumerator IEnumerable.GetEnumerator()
|
|
|
+ {
|
|
|
+ return _PaperSources.GetEnumerator();
|
|
|
+ }
|
|
|
+
|
|
|
+ void ICollection.CopyTo(Array array, int index)
|
|
|
+ {
|
|
|
+ _PaperSources.CopyTo(array, index);
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// Summary description for PaperSizeCollection.
|
|
|
/// </summary>
|
|
|
- public class PaperSizeCollection {
|
|
|
- public PaperSizeCollection() {
|
|
|
+ public class PaperSizeCollection : ICollection, IEnumerable {
|
|
|
+ ArrayList _PaperSizes = new ArrayList();
|
|
|
+
|
|
|
+ public PaperSizeCollection(PaperSize[] array) {
|
|
|
+ foreach (PaperSize ps in array)
|
|
|
+ _PaperSizes.Add(ps);
|
|
|
+ }
|
|
|
+
|
|
|
+ public int Count { get { return _PaperSizes.Count; } }
|
|
|
+ bool ICollection.IsSynchronized { get { return false; } }
|
|
|
+ object ICollection.SyncRoot { get { return this; } }
|
|
|
+
|
|
|
+ public virtual PaperSize this[int index] {
|
|
|
+ get { return _PaperSizes[index] as PaperSize; }
|
|
|
+ }
|
|
|
+
|
|
|
+ IEnumerator IEnumerable.GetEnumerator()
|
|
|
+ {
|
|
|
+ return _PaperSizes.GetEnumerator();
|
|
|
+ }
|
|
|
+
|
|
|
+ void ICollection.CopyTo(Array array, int index)
|
|
|
+ {
|
|
|
+ _PaperSizes.CopyTo(array, index);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// Summary description for PrinterResolutionCollection.
|
|
|
+ /// </summary>
|
|
|
+ public class PrinterResolutionCollection : ICollection, IEnumerable {
|
|
|
+ ArrayList _PrinterResolutions = new ArrayList();
|
|
|
+
|
|
|
+ public PrinterResolutionCollection(PrinterResolution[] array) {
|
|
|
+ foreach (PrinterResolution pr in array)
|
|
|
+ _PrinterResolutions.Add(pr);
|
|
|
+ }
|
|
|
+
|
|
|
+ public int Count { get { return _PrinterResolutions.Count; } }
|
|
|
+ bool ICollection.IsSynchronized { get { return false; } }
|
|
|
+ object ICollection.SyncRoot { get { return this; } }
|
|
|
+
|
|
|
+ public virtual PrinterResolution this[int index] {
|
|
|
+ get { return _PrinterResolutions[index] as PrinterResolution; }
|
|
|
+ }
|
|
|
+
|
|
|
+ IEnumerator IEnumerable.GetEnumerator()
|
|
|
+ {
|
|
|
+ return _PrinterResolutions.GetEnumerator();
|
|
|
+ }
|
|
|
+
|
|
|
+ void ICollection.CopyTo(Array array, int index)
|
|
|
+ {
|
|
|
+ _PrinterResolutions.CopyTo(array, index);
|
|
|
}
|
|
|
}
|
|
|
/// <summary>
|
|
|
/// Summary description for PrinterResolutionCollection.
|
|
|
/// </summary>
|
|
|
- public class PrinterResolutionCollection {
|
|
|
- public PrinterResolutionCollection() {
|
|
|
+ public class StringCollection : ICollection, IEnumerable {
|
|
|
+ ArrayList _Strings = new ArrayList();
|
|
|
+
|
|
|
+ public StringCollection(string[] array) {
|
|
|
+ foreach (string s in array)
|
|
|
+ _Strings.Add(s);
|
|
|
}
|
|
|
+
|
|
|
+ int ICollection.Count { get { return _Strings.Count; } }
|
|
|
+ bool ICollection.IsSynchronized { get { return false; } }
|
|
|
+ object ICollection.SyncRoot { get { return this; } }
|
|
|
+
|
|
|
+ IEnumerator IEnumerable.GetEnumerator()
|
|
|
+ {
|
|
|
+ return _Strings.GetEnumerator();
|
|
|
+ }
|
|
|
+
|
|
|
+ void ICollection.CopyTo(Array array, int index)
|
|
|
+ {
|
|
|
+ _Strings.CopyTo(array, index);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+//props
|
|
|
+ //[MonoTODO("PrinterSettings.CanDuplex")]
|
|
|
+ //public bool CanDuplex
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.Collate")]
|
|
|
+ //public bool Collate
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.Copies")]
|
|
|
+ //public short Copies
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ [MonoTODO("PrinterSettings.DefaultPageSettings")]
|
|
|
+ public PageSettings DefaultPageSettings
|
|
|
+ {
|
|
|
+ get
|
|
|
+ {
|
|
|
+ return new PageSettings(
|
|
|
+ this,
|
|
|
+ // TODO: get default color mode for this printer
|
|
|
+ false,
|
|
|
+ // TODO: get default orientation for this printer
|
|
|
+ false,
|
|
|
+ // TODO: get default paper size for this printer
|
|
|
+ new PaperSize("A4", 827, 1169),
|
|
|
+ // TODO: get default paper source for this printer
|
|
|
+ new PaperSource("default", PaperSourceKind.FormSource),
|
|
|
+ // TODO: get default resolution for this printer
|
|
|
+ new PrinterResolution(300, 300, PrinterResolutionKind.Medium)
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //[MonoTODO("PrinterSettings.Duplex")]
|
|
|
+ //public Duplex Duplex
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.FromPage)]
|
|
|
+ //public int FromPage
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.InstalledPrinters")]
|
|
|
+ //public static PrinterSettings.StringCollection InstalledPrinters
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.IsDefaultPrinter")]
|
|
|
+ //public bool IsDefaultPrinter
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.IsPlotter")]
|
|
|
+ //public bool IsPlotter
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.IsValid")]
|
|
|
+ //public bool IsValid
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.LandscapeAngle")]
|
|
|
+ //public int LandscapeAngle
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.MaximumCopies")]
|
|
|
+ //public int MaximumCopies
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.MaximumPage")]
|
|
|
+ //public int MaximumPage
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.MinimumPage")]
|
|
|
+ //public int MinimumPage
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.PaperSizes")]
|
|
|
+ //public PrinterSettings.PaperSizeCollection PaperSizes
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.PaperSources")]
|
|
|
+ //public PrinterSettings.PaperSourceCollection PaperSources
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.PrinterName")]
|
|
|
+ //public string PrinterName
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.PrinterResolutions")]
|
|
|
+ //public PrinterSettings.PrinterResolutionCollection PrinterResolutions
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.PrintRange")]
|
|
|
+ //public PrintRange PrintRange
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.PrintToFile")]
|
|
|
+ //public bool PrintToFile
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.SupportsColor")]
|
|
|
+ //public bool SupportsColor
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.ToPage")]
|
|
|
+ //public int ToPage
|
|
|
+ //{
|
|
|
+ // get { throw new NotImplementedException(); }
|
|
|
+ // set { throw new NotImplementedException(); }
|
|
|
+ //}
|
|
|
+
|
|
|
+//methods
|
|
|
+ [MonoTODO("PrinterSettings.Clone")]
|
|
|
+ public virtual object Clone()
|
|
|
+ {
|
|
|
+ throw new NotImplementedException();
|
|
|
}
|
|
|
+ //[MonoTODO("PrinterSettings.CreateMeasurementGraphics")]
|
|
|
+ //public Graphics CreateMeasurementGraphics()
|
|
|
+ //{
|
|
|
+ // throw new NotImplementedException();
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.GetHdevmode")]
|
|
|
+ //public IntPtr GetHdevmode()
|
|
|
+ //{
|
|
|
+ // throw new NotImplementedException();
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.GetHdevmode")]
|
|
|
+ //public IntPtr GetHdevmode(PageSettings pageSettings)
|
|
|
+ //{
|
|
|
+ // throw new NotImplementedException();
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.GetHdevname")]
|
|
|
+ //public IntPtr GetHdevnames()
|
|
|
+ //{
|
|
|
+ // throw new NotImplementedException();
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.SetHdevmode")]
|
|
|
+ //public void SetHdevmode(IntPtr hdevmode)
|
|
|
+ //{
|
|
|
+ // throw new NotImplementedException();
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.SetHdevnames")]
|
|
|
+ //public void SetHdevnames(IntPtr hdevnames)
|
|
|
+ //{
|
|
|
+ // throw new NotImplementedException();
|
|
|
+ //}
|
|
|
+ //[MonoTODO("PrinterSettings.ToString"]
|
|
|
+ //public override string ToString()
|
|
|
+ //{
|
|
|
+ // throw new NotImplementedException();
|
|
|
+ //}
|
|
|
}
|
|
|
}
|