/// <summary> /// Initializes a new instance of the <see cref="ListenerConfigurator"/> class. /// </summary> /// <param name="listener">The listener.</param> /// <param name="session">The current session.</param> public ListenerConfigurator(ListenerBase listener, Session session) { _session = session; InitializeComponent(); _listener = listener; var fields = _listener.GetConfigValueFields(); foreach (var name in fields.Keys) { AddField(name, fields[name]); } AddField("TimestampBreak", new ListenerConfigField() { Name = "Timestamp break", MultiValueType = MultiValueTypes.Linebreak }); var tc = AddField("TimestampCheck", new ListenerConfigField() { Name = "Timestamp", MultiValueType = MultiValueTypes.Check, Value = "False" }); AddField("TimestampFormat", new ListenerConfigField() { Name = "Format", MultiValueType = MultiValueTypes.None, Value = ListenerHelper.DefaultTimestampFormat, Width = 25 }); setChangedValue(tc, _listener.ShowTimestamp.ToString()); Height = Controls[Controls.Count - 1].Bottom + 5; btnRestart.Visible = _listener.IsRunning && _listener.IsRestartable; }
/// <summary> /// /// </summary> public void UpdateControls() { var configFields = _listener.GetConfigValueFields(); foreach (var fieldName in configFields.Keys) { var f = configFields[fieldName]; switch (f.MultiValueType) { case MultiValueTypes.None: Controls[fieldName].Text = _listener.GetConfigValue(fieldName); break; case MultiValueTypes.Password: Controls[fieldName].Text = _listener.GetConfigValue(fieldName); break; case MultiValueTypes.Combo: var cbox = Controls[fieldName] as ComboBox; cbox.SelectedIndex = cbox.FindStringExact(_listener.GetConfigValue(fieldName)); break; case MultiValueTypes.Options: break; case MultiValueTypes.Linebreak: break; case MultiValueTypes.FileOpenButton: break; case MultiValueTypes.Check: var foo = true; bool.TryParse(_listener.GetConfigValue(fieldName), out foo); ((CheckBox)Controls[fieldName]).Checked = foo; break; default: break; } } ((CheckBox)Controls["TimestampCheck"]).Checked = _listener.ShowTimestamp; ((TextBox)Controls["TimestampFormat"]).Text = _listener.TimestampFormat == "" ? ListenerHelper.DefaultTimestampFormat : _listener.TimestampFormat; }