ATML1671Translator.forms.ATMLSignalMappingForm.MappedSignalsOnRowEnter C# (CSharp) Method

MappedSignalsOnRowEnter() private method

private MappedSignalsOnRowEnter ( object sender, DataGridViewCellEventArgs dataGridViewCellEventArgs ) : void
sender object
dataGridViewCellEventArgs DataGridViewCellEventArgs
return void
        private void MappedSignalsOnRowEnter( object sender, DataGridViewCellEventArgs dataGridViewCellEventArgs )
        {
            //signalModelLibrary.ResetBackColors(Color.White);
            signalModelLibrary.ResetImages( 0 );
            int idxOld = -1;
            if (mappedSignals.CurrentRow != null)
            {
                idxOld = mappedSignals.CurrentRow.Index;
                SaveMappedAttributes();
            }
            int idx = dataGridViewCellEventArgs.RowIndex;
            string signalName = mappedSignals.Rows[idx].Cells[2].Value.ToString();
            string targetName = mappedSignals.Rows[idx].Cells[4].Value!=null?mappedSignals.Rows[idx].Cells[4].Value.ToString():null;
            TreeNode selectedSignalModelNode = null;
            if (idx != idxOld)
            {
                var bean = mappedSignals.Rows[idx].DataBoundItem as SourceSignalMapBean;
                if (bean != null)
                {
                    selectedSignalModelNode = signalModelLibrary.FindNode( "TSF", bean.targetType, bean.targetName );
                    if (selectedSignalModelNode != null)
                    {
                        signalModelLibrary.SelectedNode = selectedSignalModelNode;
                        signalModelLibrary.SelectedNode.SelectedImageIndex = 1;
                        signalModelLibrary.SelectedNode.ImageIndex = 1;
                    }
                    var signalMappingDao = new SignalMappingDAO();
                    var hiddenColumns = new[] {0, 1, 3, 4, 5, 6, 12, 13, 14, 15, 16, 17};
                    mappedSignalAttributes.DataSource = signalMappingDao.GetSignalAttributes( bean.id );
                    foreach (int hiddenColumn in hiddenColumns)
                        mappedSignalAttributes.Columns[hiddenColumn].Visible = false;

                    mappedSignalAttributes.Columns[2].DefaultCellStyle.BackColor = Color.Honeydew;
                    mappedSignalAttributes.Columns[2].ReadOnly = true;
                    mappedSignalAttributes.Columns[2].HeaderText = @"Source Name";
                    mappedSignalAttributes.Columns[3].HeaderText = @"Source Type";
                    mappedSignalAttributes.Columns[4].HeaderText = @"Source Default";
                    mappedSignalAttributes.Columns[5].HeaderText = @"Source Suffix";
                    mappedSignalAttributes.Columns[6].HeaderText = @"Source Unit";
                    mappedSignalAttributes.Columns[7].HeaderText = @"Target Name";
                    mappedSignalAttributes.Columns[8].HeaderText = @"Target Type";
                    mappedSignalAttributes.Columns[9].HeaderText = @"Target Default";
                    mappedSignalAttributes.Columns[10].HeaderText = @"Target Suffix";
                    mappedSignalAttributes.Columns[11].HeaderText = @"Target Unit";
                    mappedSignalAttributes.CellLeave += mappedSignalAttributes_CellEndEdit;
                    //--- Save original Values ---//
                    foreach (DataGridViewRow row in mappedSignalAttributes.Rows)
                    {
                        foreach (DataGridViewCell cell in row.Cells)
                        {
                            if (cell != null)
                                cell.Tag = cell.Value as string;
                        }
                    }
                }
                if (string.IsNullOrEmpty(targetName) || selectedSignalModelNode==null)
                {
                    XmlElement bestMatch = DetermineBestModelForSelectedSignal( signalName );
                    if (bestMatch != null)
                    {
                        TreeNode node = signalModelLibrary.FindNodeByTagValue( bestMatch );
                        if (node != null)
                        {
                            //node.BackColor = Color.GreenYellow;
                            node.ImageIndex = 1;
                            node.SelectedImageIndex = 1;
                        }
                    }
                }
            }
        }