/// /// Copyright (c) 2017 Sensus Metering Systems /// using System.Xml.Serialization; using Config.Entities; using TBF.BenchControl.Generic; namespace TBF.BenchControl.Output.Printers.Enhanced { public class PrinterCfg : ComponentCfgBase, Generic.IComponentCfg { public IComponentCfgCtrl GetControl() { return new PrinterCfgCtrl(); } /// /// Serialized parameters /// public PageOrientation PageOrientation; public int TopMargin; public int BottomMargin; public int LeftMargin; public bool SupressPrinting; /// Bypass printing when true public Culture Culture; public string[] CommonItems; public string[] SelectedItems; public string Header; public string Footer; [XmlIgnore] public Config.Entities.MetersKind MetersKind; /// Private parameterless constructor invoked by all other (public) constructors PrinterCfg() { } public PrinterCfg(string name, IComponentFactory factory, Config.Entities.MetersKind metersKind) : this() { Name = name; Factory = factory; MetersKind = metersKind; ParentName = string.Empty; PageOrientation = PageOrientation.Portrait; TopMargin = 100; BottomMargin = 100; LeftMargin = 100; SupressPrinting = false; Header = string.Empty; Footer = string.Empty; } public string ToString(int i) { return string.Format("Name={0}, Orientation={1}, Margins T={2} B={3} L={4}, SupressPrinting={5}", Name, PageOrientation, TopMargin, BottomMargin, LeftMargin, SupressPrinting ? "yes" : "no" ); } } }