public EditLinksForm(CANStreamer stream) { InitializeComponent(); thisStream = stream; if (thisStream.CanWrite) { // Stream can take input from other streams fromColumn = new DataGridViewDisableCheckBoxColumn() { HeaderText = "Take From" }; dgvLinks.Columns.Add(fromColumn); } if (thisStream.CanRead) { // Stream can send output to other streams toColumn = new DataGridViewDisableCheckBoxColumn() { HeaderText = "Send To" }; dgvLinks.Columns.Add(toColumn); } this.Text = "Editing links for '" + thisStream.Name + "'"; dgvLinks.RowsAdded += new DataGridViewRowsAddedEventHandler(dgvRouting_RowsAdded); dgvLinks.DataSource = StreamManager.Streams; }
private void UpdateButtons() { CANStreamer stream = SelectedStream(); if (stream != null) { if (stream.ConnectionState == ConnectionStateEnum.Connected) { btnConnect.Text = "Disconnect"; } else { btnConnect.Text = "Connect"; } btnEdit.Enabled = true; btnDelete.Enabled = true; btnConnect.Enabled = true; } else { btnEdit.Enabled = false; btnDelete.Enabled = false; btnConnect.Enabled = false; } btnAdd.Enabled = ((tabControl.SelectedTab.Name != "tpComPort2000") && (tabControl.SelectedTab.Name != "tpComPort0183")) || (SerialPort.GetPortNames().Length > 0); }
void StreamManager_NewStream(CANStreamer stream) { foreach (Parameter param in _selectedParameters) { param.Connect(stream); } }
public static void OnDeviceDataReceieved(object sender, FrameReceivedEventArgs e) { N2kFrame n2kFrame = (N2kFrame)e.ReceivedFrame; CANStreamer stream = sender as CANStreamer; CANDevice dev = UpdateAddDevice(n2kFrame, stream.Name); }
private void StreamSelectionChanged(object sender, EventArgs e, CANStreamer stream, bool selected) { if (selected == true) { stream.FrameReceived += FrameReceived; } else { stream.FrameReceived -= FrameReceived; } }
private void btnDelete_Click(object sender, EventArgs e) { CANStreamer stream = SelectedStream(); if (stream.ConnectionState == ConnectionStateEnum.Connected) { stream.Disconnect(); } StreamManager.RemoveStream(stream); UpdateButtons(); }
private void btnConnect_Click(object sender, EventArgs e) { CANStreamer stream = SelectedStream(); if (stream.ConnectionState == ConnectionStateEnum.Connected) { stream.Disconnect(); } else if (stream.ConnectionState == ConnectionStateEnum.Disconnected) { stream.ConnectStream(); } UpdateButtons(); }
private void btnEdit_Click(object sender, EventArgs e) { if (tabControl.SelectedTab.Name == "tpInternet") { if (dgvTCP.SelectedRows.Count > 0) { (new AddNetForm((CANStreamer_Network)dgvTCP.SelectedRows[0].DataBoundItem)).ShowDialog(); } } else { CANStreamer selStream = SelectedStream(); if (selStream != null) { (new EditLinksForm(selStream)).ShowDialog(); } } }
private void dgvStreams_CellContentClick(object sender, DataGridViewCellEventArgs e) { // Only for column with checkbox in if (dgvStreams.Columns[e.ColumnIndex].Name != "colDisplay") { return; } // Get the clicked row & associated stream DataGridViewRow row = dgvStreams.Rows[e.RowIndex]; CANStreamer stream = (CANStreamer)row.DataBoundItem; // Get the clicked cell DataGridViewCell cell = row.Cells[e.ColumnIndex]; // Fire event if (StreamSelectionChanged != null) { StreamSelectionChanged(this, null, stream, (bool)cell.EditedFormattedValue); } }
private void dgvRouting_CellContentClick(object sender, DataGridViewCellEventArgs e) { DataGridViewColumn col = dgvLinks.Columns[e.ColumnIndex]; if ((col != fromColumn) && (col != toColumn)) { return; } // Get the clicked row and associated stream DataGridViewRow row = dgvLinks.Rows[e.RowIndex]; CANStreamer clickedStream = (CANStreamer)row.DataBoundItem; // Get the clicked cell DataGridViewCell cell = row.Cells[e.ColumnIndex]; bool cellValue = (bool)cell.EditedFormattedValue; // Add/remove connector if (col == fromColumn) { if (cellValue) { StreamManager.AddConnector(clickedStream, thisStream); } else { StreamManager.RemoveConnector(clickedStream, thisStream); } } else if (cellValue) { StreamManager.AddConnector(thisStream, clickedStream); } else { StreamManager.RemoveConnector(thisStream, clickedStream); } }
private void dgvRouting_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) { for (int i = 0; i < e.RowCount; i++) { DataGridViewRow dgvRow = dgvLinks.Rows[i + e.RowIndex]; CANStreamer otherStream = (CANStreamer)dgvRow.DataBoundItem; if (fromColumn != null) { DataGridViewDisableCheckBoxCell fromCell = (DataGridViewDisableCheckBoxCell)dgvRow.Cells[fromColumn.Index]; fromCell.Value = StreamManager.ConnectionExists(otherStream, thisStream); fromCell.Enabled = (otherStream == thisStream) ? false : otherStream.CanRead; } if (toColumn != null) { DataGridViewDisableCheckBoxCell toCell = (DataGridViewDisableCheckBoxCell)dgvRow.Cells[toColumn.Index]; toCell.Value = StreamManager.ConnectionExists(thisStream, otherStream); toCell.Enabled = (otherStream == thisStream) ? false : otherStream.CanWrite; } } }
public bool MatchesStream(CANStreamer stream) { return(StreamsToMatch.Contains("Any") || StreamsToMatch.Contains(stream.Name)); }
// Connects to the stream public static void Connect(CANStreamer stream) { stream.PGNReceived[60928] += OnDeviceDataReceieved; stream.PGNReceived[126996] += OnDeviceDataReceieved; stream.PGNReceived[126998] += OnDeviceDataReceieved; }