/// /// Copyright (c) 2016 Sensus Metering Systems /// using System; using System.Windows.Forms; using Common; using Config.Entities; using TBF.BenchControl.Generic; using TBF.Resources; using Config; namespace TBF.BenchControl.DataEntry.HeatMeters6 { public partial class EntryFormCfgCtrl : UserControl, IComponentCfgCtrl { public bool ShowMore { get { return false; } } EntryFormCfg config; public IComponentCfg Config { get { return config as IComponentCfg; } set { config = value as EntryFormCfg; Redraw(); } } public EntryFormCfgCtrl() { InitializeComponent(); } private void EntryFormCfgCtrl_Load(object sender, EventArgs e) { Localize(); for (Unit units = 0; units < Unit.Count; units++) { if (Units.IsEnergy(units)) defaultUnitsComboBox.Items.Add(units.ToString()); } Redraw(); } void Localize() { defaultUnitsLabel.Text = Strings.Default_units; enterSNsAtTheEndCheckBox.Text = Strings.Enter_SNs_at_the_end; showEndStateFormCheckBox.Text = Strings.Show_cycle_end_form; sensusExtensionsCheckBox.Text = Strings.Sensus_extensions; } public void Closing() { } void Redraw() { if (config == null) return; /// Control was not loaded, settings were not changed classNameLabel.Text = config.Factory.ClassName; nameTextBox.Text = config.Name; enterSNsAtTheEndCheckBox.Checked = config.EnterSerialNrsAtTheEnd; showEndStateFormCheckBox.Checked = config.ShowCycleEndForm; sensusExtensionsCheckBox.Checked = config.SensusExtensions; } public void Unlock() { nameTextBox.Enabled = true; enterSNsAtTheEndCheckBox.Enabled = true; showEndStateFormCheckBox.Enabled = true; sensusExtensionsCheckBox.Enabled = true; } public CfgUpdateFlags VerifyCfg(ref string message) { CfgUpdateFlags flags = CfgUpdateFlags.None; foreach (var v in defaultUnitsComboBox.Items) { if (v.ToString() == defaultUnitsComboBox.Text) return flags; } message = string.Format(Strings.Invalid_0, Strings.Default_units); return CfgUpdateFlags.Error; } public CfgUpdateFlags UpdateCfg() { CfgUpdateFlags flags = CfgUpdateFlags.RestartRqrd; if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed config.Name = nameTextBox.Text; for (Unit u = 0; u < Unit.Count; u++) { if (u.ToString() == defaultUnitsComboBox.Text) config.DefaultUnits = u; } config.EnterSerialNrsAtTheEnd = enterSNsAtTheEndCheckBox.Checked; config.ShowCycleEndForm = showEndStateFormCheckBox.Checked; config.SensusExtensions = sensusExtensionsCheckBox.Checked; return flags; } } }