tbf/TestBenchFramework/BenchControl/Output/Printers/OnePagePerMeter/PrinterCfg.cs

87 lines
2.2 KiB
C#

///
/// 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"
);
}
}
}