Пример #1
0
        //-----------------------------------------------------------------------


        private void myDataGrid_OnCellMouseUp(object sender, DataGridViewCellMouseEventArgs e)
        {
            grid.ReadOnly = false;

            // End of edition on each click on column of checkbox
            if (e.ColumnIndex == m_colEnable.Index && e.RowIndex >= 0)
            {
                if (e.RowIndex >= 0 && e.RowIndex < grid.RowCount)
                {
                    DataGridViewRow row = grid.Rows[e.RowIndex];

                    row.Cells[m_colEnable.Index].ReadOnly = true;

                    //var val = row.Cells[m_colEnable.Index].Value;
                    bool start = Convert.ToBoolean(row.Cells[m_colEnable.Index].Value);

                    Debug.WriteLine(row.Cells[m_colEnable.Index].Value.ToString());

                    canSendWorker item = getMessageWithRow(row);
                    startStopMessage(item, start);

                    grid.EndEdit();

                    row.Cells[m_colEnable.Index].ReadOnly = false;
                    row.Cells[m_colEnable.Index].Value    = start;
                }
            }

            grid.ReadOnly = false;
        }
Пример #2
0
        public void updateItem(canSendWorker item)
        {
            canMessage2 m   = item.Params.Message;
            var         row = getRow(item, true);

            row.Cells[m_colId.Index].Value   = m.Id.GetIdAsString();
            row.Cells[m_colData.Index].Value = m.GetDataString(" ");
        }
Пример #3
0
        //-----------------------------------------------------------------------

        private void startStopMessage(canSendWorker item, bool start)
        {
            if (start)
            {
                item.resume();
            }
            else
            {
                item.stop();
            }
        }
Пример #4
0
        public void sendMessage(canSendWorker item)
        {
            // send
            if (!CanTool.SendCanMessage(item.Params.Message, 1, item.Params.MessageType == canMessageType.rtr))
            {
                stopAll();
                return;
            }
            // gui update
            var row = getRow(item);

            row.Cells[m_colCount.Index].Value = item.CountSent + 1;
        }
Пример #5
0
 private DataGridViewRow getRow(canSendWorker item, bool useModMessage = false)
 {
     /*
      * DataGridViewRow row = null;
      *
      * canMessage m = useModMessage ? item.msgBeforeMod : item.Params.Message;
      * for( int rowIdx = 0; rowIdx < grid.Rows.Count; rowIdx++ )
      * {
      *  row = grid.Rows[rowIdx];
      *
      *  if( row.Cells[m_colId.Index].Value.ToString() == m.getCanIdString() &&
      *      row.Cells[m_colDLC.Index].Value.ToString() == m.getDlcAsString() &&
      *      row.Cells[m_colCount.Index].Value.ToString() == item.CountSent.ToString() )
      *  {
      *      return row;
      *  }
      * }
      *
      * return null;
      */
     return(item.row);
 }
Пример #6
0
 public void messageUpdated(canSendWorker item)
 {
     parent.updateItem(item);
 }
Пример #7
0
 public void sendMessage(canSendWorker item)
 {
     parent.sendMessage(item);
 }
Пример #8
0
        private void onContextMenuClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            string clicked = e.ClickedItem.Text.ToLower();

            if ("new message" == clicked)
            {
                FrmAddEditMessage f = new FrmAddEditMessage();
                if (DialogResult.OK == f.ShowDialog())
                {
                    // get params
                    messageSendParams p = f.getParams();
                    addRow(p);
                    // create an item
                    canSendWorker item = new canSendWorker(this.sender, p);
                    items.Add(item);
                    item.row = grid.Rows[grid.Rows.Count - 1];
                    item.start();
                }
            }

            if ("edit selected" == clicked)
            {
            }

            if ("delete selected" == clicked)
            {
                for (int i = grid.Rows.Count - 1; i >= 0; i--)
                {
                    var row = grid.Rows[i];
                    if (row.Selected)
                    {
                        var item = getMessageWithRow(row);
                        item.stop();
                        grid.Rows.Remove(row);
                    }
                }
            }

            if ("enable all" == clicked)
            {
                startAll();
            }

            if ("disable all" == clicked)
            {
                stopAll();
            }

            if ("delete all" == clicked)
            {
                foreach (canSendWorker item in items)
                {
                    item.stop();
                }

                items.Clear();
                grid.Rows.Clear();
            }

            if ("copy selected" == clicked)
            {
            }
        }