- RegulValve ADC Open/Close values calibration implemented

- 'More' button added to ComponentCfgCtrl-s
- Dataflow from ComponentParametersDlg to components: CfgChangeHandler
- Dataflow from components to ComponentParametersDlg: CmdResponseHandler
- Detection of parameter changes and appropriate MesssageBox display:
  1.warning message when component configuration change requires program restart
  2.confirmation message box when any configuration changes would be lost
This commit is contained in:
Milan Hanajik
2015-01-03 14:45:58 +01:00
parent d9b1bc8b4a
commit 0160dc965d
49 changed files with 1461 additions and 452 deletions
@@ -10,6 +10,9 @@ namespace TBF.BenchControl.Elde.Pump
static readonly ILog log = LogManager.GetLogger(typeof(PumpCfgCtrl));
ComponentParametersDlg parent;
public bool ShowMore { get { return false; } }
PumpCfg config;
public IComponentCfg Config
{
@@ -45,6 +48,10 @@ namespace TBF.BenchControl.Elde.Pump
Redraw();
}
public void Closing()
{
}
void Redraw()
{
if (config == null) return; /// Control was not loaded, settings were not changed
@@ -64,34 +71,38 @@ namespace TBF.BenchControl.Elde.Pump
delayTextBox.Enabled = true;
}
public void UpdateCfg()
public CfgUpdateFlags UpdateCfg()
{
if (config == null) return; /// Control was not loaded, settings were not changed
CfgUpdateFlags flags = CfgUpdateFlags.AnyChange;
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
config.Name = nameTextBox.Text;
config.ParentName = parentNameComboBox.Text.Equals("---") ? string.Empty : parentNameComboBox.Text;
config.BitPosition = int.Parse(bitPositionTextBox.Text);
config.Delay = int.Parse(delayTextBox.Text);
}
public CfgVerifyFlags VerifyCfg(ref string message)
return flags;
}
public CfgUpdateFlags VerifyCfg(ref string message)
{
CfgVerifyFlags flags = CfgVerifyFlags.None;
CfgUpdateFlags flags = CfgUpdateFlags.AnyChange;
int dummy;
if (!parentNameComboBox.Items.Contains(parentNameComboBox.Text))
{
flags |= CfgVerifyFlags.Error;
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "Invalid 'Parent Name'";
}
if (!int.TryParse(bitPositionTextBox.Text, out dummy) || dummy < 0 || dummy >= 64)
{
flags |= CfgVerifyFlags.Error;
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "'Bit Position' should be between 0 and 63";
}
if (!int.TryParse(delayTextBox.Text, out dummy) || dummy < 0 || dummy >= 300)
{
flags |= CfgVerifyFlags.Error;
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "'Delay' should be between 0 and 300s (5min)";
}
return flags;