private void mnuHideSameSenderFrames_Click(object sender, EventArgs e) { if (dgvLog.SelectedRows.Count >= 1) { foreach (DataGridViewRow line in dgvLog.SelectedRows) { TimedFrame tFrame = GetFrameFromLine(line); ShowFramesSender(CanFrameFactory.ExtractSender(tFrame.Frame, tFrame.IsInputFrame), false); } DisplayLog(); } }
public void DisplayFrame(TimedFrame tFrame) { String time = ""; try { if (rdoTimeAbsolute.Checked) { time = tFrame.Date.ToString("hh:mm:ss:fff"); } if (rdoTimeFromStart.Checked) { time = (tFrame.Date - _startTime).ToString(@"hh\:mm\:ss\:fff"); } if (rdoTimeFromPrev.Checked) { time = ((int)(tFrame.Date - _previousTime).TotalMilliseconds).ToString() + " ms"; } if (rdoTimeFromPrevDisplay.Checked) { time = ((int)(tFrame.Date - _previousDisplayTime).TotalMilliseconds).ToString() + " ms"; } CanBoard board = CanFrameFactory.ExtractBoard(tFrame.Frame); CanBoard sender = CanFrameFactory.ExtractSender(tFrame.Frame, tFrame.IsInputFrame); CanBoard receiver = CanFrameFactory.ExtractReceiver(tFrame.Frame, tFrame.IsInputFrame); if (board == CanBoard.PC) { throw new Exception(); } bool receiverVisible = Config.CurrentConfig.LogsCanReceivers[receiver]; bool senderVisible = Config.CurrentConfig.LogsCanSenders[sender]; bool functionVisible = Config.CurrentConfig.LogsCanFunctions[CanFrameFactory.ExtractFunction(tFrame.Frame)]; if (senderVisible && receiverVisible && functionVisible) { dgvLog.Rows.Add(_counter, time, sender.ToString(), receiver.ToString(), CanFrameDecoder.Decode(tFrame.Frame), tFrame.Frame.ToString()); _previousDisplayTime = tFrame.Date; if (rdoColorByBoard.Checked) { dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = _boardColor[board]; } else if (rdoColorByReceiver.Checked) { dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = _boardColor[receiver]; } else if (rdoColorBySender.Checked) { dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = _boardColor[sender]; } } } catch (Exception e) { dgvLog.Rows.Add(_counter, time, "?", "?", "Inconnu !", tFrame.Frame.ToString()); dgvLog.Rows[dgvLog.Rows.Count - 1].DefaultCellStyle.BackColor = Color.Red; } _counter++; _previousTime = tFrame.Date; }