Пример #1
0
        private void UpdatePacketDetails(PacketTabPage tp, PacketData pd, string SwitchBlockName)
        {
            if (tp == null)
            {
                return;
            }
            tp.CurrentSync = pd.PacketSync;
            lInfo.Text     = pd.OriginalHeaderText;
            rtInfo.Clear();

            PP = new PacketParser(pd.PacketID, pd.PacketLogType);
            PP.AssignPacket(pd);
            PP.ParseToDataGridView(dGV, SwitchBlockName);
            if (PP.SwitchBlocks.Count > 0)
            {
                cbShowBlock.Items.Clear();
                cbShowBlock.Items.Add("-");
                cbShowBlock.Items.AddRange(PP.SwitchBlocks.ToArray());
                cbShowBlock.Show();
            }
            else
            {
                cbShowBlock.Items.Clear();
                cbShowBlock.Hide();
            }
            for (int i = 0; i < cbShowBlock.Items.Count; i++)
            {
                if ((SwitchBlockName == "-") && (cbShowBlock.Items[i].ToString() == PP.LastSwitchedBlock))
                {
                    if (cbShowBlock.SelectedIndex != i)
                    {
                        cbShowBlock.SelectedIndex = i;
                    }
                    //break;
                }
                else
                if (cbShowBlock.Items[i].ToString() == SwitchBlockName)
                {
                    if (cbShowBlock.SelectedIndex != i)
                    {
                        cbShowBlock.SelectedIndex = i;
                    }
                    //break;
                }
            }

            if (cbOriginalData.Checked)
            {
                rtInfo.SelectionColor     = rtInfo.ForeColor;
                rtInfo.SelectionBackColor = rtInfo.BackColor;
                rtInfo.Text = "Source:\r\n" + string.Join("\r\n", pd.RawText.ToArray());
            }
            else
            {
                RawDataToRichText(PP, rtInfo);
            }
        }