Example #1
0
        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;
        }
Example #2
0
        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);
        }
Example #3
0
 void StreamManager_NewStream(CANStreamer stream)
 {
     foreach (Parameter param in _selectedParameters)
     {
         param.Connect(stream);
     }
 }
Example #4
0
        public static void OnDeviceDataReceieved(object sender, FrameReceivedEventArgs e)
        {
            N2kFrame    n2kFrame = (N2kFrame)e.ReceivedFrame;
            CANStreamer stream   = sender as CANStreamer;

            CANDevice dev = UpdateAddDevice(n2kFrame, stream.Name);
        }
Example #5
0
 private void StreamSelectionChanged(object sender, EventArgs e, CANStreamer stream, bool selected)
 {
     if (selected == true)
     {
         stream.FrameReceived += FrameReceived;
     }
     else
     {
         stream.FrameReceived -= FrameReceived;
     }
 }
Example #6
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            CANStreamer stream = SelectedStream();

            if (stream.ConnectionState == ConnectionStateEnum.Connected)
            {
                stream.Disconnect();
            }

            StreamManager.RemoveStream(stream);

            UpdateButtons();
        }
Example #7
0
        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();
        }
Example #8
0
 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);
            }
        }
Example #10
0
        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);
            }
        }
Example #11
0
        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));
 }
Example #13
0
 // Connects to the stream
 public static void Connect(CANStreamer stream)
 {
     stream.PGNReceived[60928]  += OnDeviceDataReceieved;
     stream.PGNReceived[126996] += OnDeviceDataReceieved;
     stream.PGNReceived[126998] += OnDeviceDataReceieved;
 }