protected virtual void InitializeHandles() { StartServerButton.Click += (object sender, EventArgs e) => { if (Server.ServerState == Servers.ServerState.Stop) { Server?.Begin(); } else { Server?.Stop(); } }; TargetPortField.DropDown += (object sender, EventArgs e) => { if (sender is DropdownInputField) { DropdownInputField dropdown = sender as DropdownInputField; List <string> availablePorts = Server.GetAvailablePorts(); if (availablePorts == null) { return; } dropdown.Items.Clear(); dropdown.Items.AddRange(availablePorts); } }; TargetPortField.ItemSelected += (object sender, ItemEventArgs e) => { string port = TargetPortField.Text; Server.TargetPort = port; Properties.Settings.Default.SerialPort_LastPort = port; Properties.Settings.Default.Save(); }; TargetPortField.Leave += (object sender, EventArgs e) => { string port = TargetPortField.Text; Server.TargetPort = port; Properties.Settings.Default.SerialPort_LastPort = port; Properties.Settings.Default.Save(); }; SaveServerSettingsButton.Click += (object sender, EventArgs e) => { string projectPath = ProjectsUtils.ShowSaveProjectDialog(Server.Settings); if (projectPath != null) { Properties.Settings.Default.SerialPort_LastProject = projectPath; Properties.Settings.Default.Save(); } }; LoadServerSettingsButton.Click += (object sender, EventArgs e) => { SerialPortProject newProject = Server.Settings; string projectPath = ProjectsUtils.ShowOpenProjectDialog(ref newProject); if (projectPath != null) { Properties.Settings.Default.SerialPort_LastProject = projectPath; Properties.Settings.Default.Save(); } if (Server.Settings != newProject) { Server.Settings = newProject; } }; EditDataButton.Click += (object sender, EventArgs e) => { MainForm.ShowControl(CreateLogDataEditor()); }; PortSpeedField.ItemSelected += (object sender, ItemEventArgs e) => { Server.Settings.PortSpeed = PortSpeedField.ToEnum(Server.Settings.PortSpeed); UpdateValues(); }; AutoConnectToggle.Click += (object sender, EventArgs e) => { Server.Settings.AutoConnect = AutoConnectToggle.Checked; UpdateValues(); }; AutoConnectRequestField.Leave += (object sender, EventArgs e) => { Server.Settings.AutoConnectRequest = AutoConnectRequestField.Text; UpdateValues(); }; AutoConnectResponseField.Leave += (object sender, EventArgs e) => { Server.Settings.AutoConnectResponse = AutoConnectResponseField.Text; UpdateValues(); }; EventHandler autoConnectResponseTimeoutHandler = (object sender, EventArgs e) => { Server.Settings.AutoConnectResponseTimeout = (int)AutoConnectResponseTimeoutField.Value; UpdateValues(); }; AutoConnectResponseTimeoutField.Leave += autoConnectResponseTimeoutHandler; AutoConnectResponseTimeoutField.AddButton.Click += autoConnectResponseTimeoutHandler; AutoConnectResponseTimeoutField.SubtractButton.Click += autoConnectResponseTimeoutHandler; EventHandler connectionIntervalHandler = (object sender, EventArgs e) => { Server.Settings.ConnectionInterval = (int)ConnectionIntervalField.Value; UpdateValues(); }; ConnectionIntervalField.Leave += connectionIntervalHandler; ConnectionIntervalField.AddButton.Click += connectionIntervalHandler; ConnectionIntervalField.SubtractButton.Click += connectionIntervalHandler; SendModeField.ItemSelected += (object sender, ItemEventArgs e) => { Server.Settings.SendMode = SendModeField.ToEnum(Server.Settings.SendMode); UpdateValues(); }; EventHandler connectionCheckHandler = (object sender, EventArgs e) => { Server.Settings.ConnectionCheckInterval = (int)ConnectionCheckField.Value; UpdateValues(); }; ConnectionCheckField.Leave += connectionCheckHandler; ConnectionCheckField.AddButton.Click += connectionCheckHandler; ConnectionCheckField.SubtractButton.Click += connectionCheckHandler; EventHandler messageIntervalHandler = (object sender, EventArgs e) => { Server.Settings.MessageInterval = (int)MessageIntervalField.Value; UpdateValues(); }; MessageIntervalField.Leave += messageIntervalHandler; MessageIntervalField.AddButton.Click += messageIntervalHandler; MessageIntervalField.SubtractButton.Click += messageIntervalHandler; DataRequestField.Leave += (object sender, EventArgs e) => { Server.Settings.DataRequest = DataRequestField.Text; UpdateValues(); }; Properties.Settings.Default.PropertyChanged += (object sender, PropertyChangedEventArgs e) => { switch (e.PropertyName) { case "SerialPort_PortsWhitelist": Server.PortWhitelist.Clear(); Server.PortWhitelist.AddRange(SlicePortList(Properties.Settings.Default.SerialPort_PortWhitelist)); break; case "SerialPort_PortsBlacklist": Server.PortBlacklist.Clear(); Server.PortBlacklist.AddRange(SlicePortList(Properties.Settings.Default.SerialPort_PortBlacklist)); break; } }; }
protected virtual void InitializeHandles() { StartServerButton.Click += (object sender, EventArgs e) => { if (Server.ServerState == Servers.ServerState.Stop) { Server?.Begin(); } else { Server?.Stop(); } }; StartLogButton.Click += (object sender, EventArgs e) => { if (Server.LogState == Servers.ServerState.Stop) { Server?.BeginLog(); } else { Server?.StopLog(); } }; SaveServerSettingsButton.Click += (object sender, EventArgs e) => { string projectPath = ProjectsUtils.ShowSaveProjectDialog(Server.Settings); if (projectPath != null) { Properties.Settings.Default.Logger_LastProject = projectPath; Properties.Settings.Default.Save(); } }; LoadServerSettingsButton.Click += (object sender, EventArgs e) => { LoggerProject newProject = Server.Settings; string projectPath = ProjectsUtils.ShowOpenProjectDialog(ref newProject); if (projectPath != null) { Properties.Settings.Default.Logger_LastProject = projectPath; Properties.Settings.Default.Save(); } if (Server.Settings != newProject) { Server.Settings = newProject; } }; LogNameField.Leave += (object sender, EventArgs e) => { string newFileName = FileUtils.CreateCorrectFileName(LogNameField.Text); newFileName = string.IsNullOrWhiteSpace(newFileName) ? "NamelessLog" : newFileName; Properties.Settings.Default.Logger_LogName = newFileName; Properties.Settings.Default.Save(); UpdateValues(); }; EditDataButton.Click += (object sender, EventArgs e) => { MainForm.ShowControl(CreateLogDataEditor()); }; LogFileFormatField.Leave += (object sender, EventArgs e) => { string newFileFormat = FileUtils.CreateCorrectFileName(LogFileFormatField.Text); newFileFormat = string.IsNullOrWhiteSpace(newFileFormat) ? "txt" : newFileFormat; Server.Settings.LogFileFormat = newFileFormat; UpdateValues(); }; FrametimeModeToggle.Click += (object sender, EventArgs e) => { Server.Settings.UseFrametimeMode = FrametimeModeToggle.Checked; UpdateValues(); }; EventHandler updateIntervalFieldHandler = (object sender, EventArgs e) => { Server.Settings.DataUpdateInterval = (int)UpdateIntervalField.Value; UpdateValues(); }; UpdateIntervalField.Leave += updateIntervalFieldHandler; UpdateIntervalField.AddButton.Click += updateIntervalFieldHandler; UpdateIntervalField.SubtractButton.Click += updateIntervalFieldHandler; Properties.Settings.Default.PropertyChanged += (object sender, PropertyChangedEventArgs e) => { switch (e.PropertyName) { case "Logger_LogHotkey": StartLogHotkey.Key = Properties.Settings.Default.Logger_LogHotkey & ~Keys.Modifiers; StartLogHotkey.Modifiers = Properties.Settings.Default.Logger_LogHotkey & Keys.Modifiers; break; } }; StartLogHotkey.HotkeyPressed += (object sender, EventArgs e) => { if (Server.Settings.UseFrametimeMode == true && Server.ServerState == Servers.ServerState.Connected || Server.Settings.UseFrametimeMode == false && Server.ServerState == Servers.ServerState.Begin) { if (Server.LogState == Servers.ServerState.Begin) { Server.StopLog(); } else { Server.LogDirectory = Properties.Settings.Default.Logger_LogPath; Server.LogName = Properties.Settings.Default.Logger_LogName; Server.BeginLog(); } } }; }