- 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.PressureMeter
static readonly ILog log = LogManager.GetLogger(typeof(PressureMeterCfgCtrl));
ComponentParametersDlg parent;
public bool ShowMore { get { return false; } }
PressureMeterCfg config;
public IComponentCfg Config
{
@@ -45,6 +48,10 @@ namespace TBF.BenchControl.Elde.PressureMeter
Redraw();
}
public void Closing()
{
}
void Redraw()
{
if (config == null) return; /// Control was not loaded, settings were not changed
@@ -64,37 +71,41 @@ namespace TBF.BenchControl.Elde.PressureMeter
rs485AddressTextBox.Enabled = true;
}
public CfgVerifyFlags VerifyCfg(ref string message)
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(positionTextBox.Text, out dummy) || dummy < 0 || dummy > 7)
{
flags |= CfgVerifyFlags.Error;
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "'Position' should be between 0 and 7";
}
if (!int.TryParse(rs485AddressTextBox.Text, out dummy) || dummy < 0 || dummy > 255)
{
flags |= CfgVerifyFlags.Error;
flags |= CfgUpdateFlags.Error;
message += Environment.NewLine + "'RS485 Address' should be between 0 and 255";
}
return flags;
}
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.Idx0 = int.Parse(positionTextBox.Text);
config.RS485Address = (byte)int.Parse(rs485AddressTextBox.Text);
return flags;
}
}
}