private void ComboSensorOrUnits_Update(List <DatedValue> arraySensorValues, DGChartControl chart, ComboBox comboSensor, ComboBox comboUnits) { arraySensorValues.Clear(); chart.XData1 = null; chart.YData1 = null; if (comboSensor.Items.Count == 0) { return; } int selectedIndex = comboSensor.SelectedIndex; if (selectedIndex < 0) { return; } OBDParameter obdParameter = (OBDParameter)comboSensor.Items[selectedIndex]; if (comboUnits.SelectedIndex == 0) { chart.Text = obdParameter.Name + " (" + obdParameter.EnglishUnitLabel + ")"; chart.YRangeStart = Math.Floor(obdParameter.EnglishMinValue); chart.YRangeEnd = obdParameter.EnglishMinValue + 1.0; } else { chart.Text = obdParameter.Name + " (" + obdParameter.MetricUnitLabel + ")"; chart.YRangeStart = Math.Floor(obdParameter.MetricMinValue); chart.YRangeEnd = obdParameter.MetricMinValue + 1.0; } }
public void UpdateChart(int index, DGChartControl chart) { if (index < 0 || index > 3) { return; } if (0 < m_arraySensorValues[index].Count) { for (int i = 0; i < m_arraySensorValues[index].Count; i++) { if (DateTime.Now.Subtract(m_arraySensorValues[index][i].Date).TotalSeconds > Convert.ToInt32(numHistory.Value)) { m_arraySensorValues[index].RemoveAt(i); i--; } } } if (m_arraySensorValues[index].Count == 0) { return; } double[] numArray1 = new double[m_arraySensorValues[index].Count]; numArray1.Initialize(); dSensorValues[index] = numArray1; double[] numArray2 = new double[m_arraySensorValues[index].Count]; numArray2.Initialize(); dSensorTimes[index] = numArray2; m_dSensorMax[index] = m_arraySensorValues[index][0].Value; m_dSensorMin[index] = m_arraySensorValues[index][0].Value; for (int i = 0; i < m_arraySensorValues[index].Count; i++) { DatedValue datedValue = m_arraySensorValues[index][i]; if (datedValue.Value > m_dSensorMax[index]) { m_dSensorMax[index] = datedValue.Value; } if (datedValue.Value < m_dSensorMin[index]) { m_dSensorMin[index] = datedValue.Value; } dSensorValues[index][i] = datedValue.Value; TimeSpan timeSpan = DateTime.Now.Subtract(datedValue.Date); dSensorTimes[index][i] = timeSpan.TotalSeconds * -1.0; } if (chart.YRangeEnd < m_dSensorMax[index]) { chart.YRangeEnd = Math.Ceiling(m_dSensorMax[index]); chart.YGrid = (chart.YRangeEnd - chart.YRangeStart) * 0.1; } if (chart.YRangeStart > m_dSensorMin[index]) { chart.YRangeStart = Math.Floor(m_dSensorMin[index]); chart.YGrid = (chart.YRangeEnd - chart.YRangeStart) * 0.1; } chart.XData1 = dSensorTimes[index]; chart.YData1 = dSensorValues[index]; }
private void ComboStyle_Update(ComboBox comboStyle, DGChartControl chart) { if (comboStyle.SelectedIndex == 0) { chart.DrawMode = DGChartControl.DrawModeType.Line; } else if (comboStyle.SelectedIndex == 1) { chart.DrawMode = DGChartControl.DrawModeType.Dot; } else { chart.DrawMode = DGChartControl.DrawModeType.Bar; } }