/// /// Copyright (c) 2017 Sensus Metering Systems /// using System.Xml.Serialization; using Config.Entities; using TBF.BenchControl.Generic; namespace TBF.BenchControl.Output.Printers.OnePagePerMeter { public class PrinterCfg : ComponentCfgBase, Generic.IComponentCfg { public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(PrinterCfg) })[0]; protected override XmlSerializer GetSerializer() { return Serializer; } public IComponentCfgCtrl GetControl() { return new PrinterCfgCtrl(); } /// /// Serialized parameters /// public PageOrientation PageOrientation; public int TopMargin; public int BottomMargin; public int LeftMargin; public string TitFntFml; public string HdrFntFml; public string BodyFntFml; public int TitFntSz; public int HdrFntSz; public int BodyFntSz; public int TitFntSty; public int HdrFntSty; public int BodyFntSty; public bool SupressPrinting; /// Bypass printing when true public Culture Culture; public string[] CommonItems; public string[] SelectedItems; public string Header; /// =Title 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; TitFntFml = "Arial"; TitFntSz = 18; TitFntSty = 1; TitFntFml = "Arial"; TitFntSz = 10; TitFntSty = 0; TitFntFml = "Arial"; TitFntSz = 10; TitFntSty = 0; 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" ); } } }