public Control GetControl() { tab = new TabControl { Dock = DockStyle.Fill }; Control bookmarkedRow = null; // the row we want to start at foreach (var ecl in _file.eclDumps) { var page = new TabPage(ecl._blockName); page.AutoScroll = true; foreach (var eclAddr in ecl.decodedEcl.Keys.Reverse()) { var eclText = ViewerHelper.CreateTextBox(); eclText.Text = ecl.decodedEcl[eclAddr]; eclText.Dock = DockStyle.Fill; var eclAnnotation = ViewerHelper.CreateTextBox(); if (ecl.annotations.ContainsKey(eclAddr)) { eclAnnotation.Text = ecl.annotations[eclAddr]; eclText.BackColor = System.Drawing.Color.LightBlue; eclAnnotation.BackColor = System.Drawing.Color.LightBlue; } eclAnnotation.Width = 300; eclAnnotation.Dock = DockStyle.Right; //eclText.Dock = DockStyle.Top; var row = ViewerHelper.CreateRow(); page.Controls.Add(row); row.Controls.Add(eclText); row.Controls.Add(eclAnnotation); if (ChangeFileEventArgs.targetPlace != "" && eclAnnotation.Text.Contains(ChangeFileEventArgs.targetPlace) && page.Text == ChangeFileEventArgs.currentDaxId.ToString()) { bookmarkedRow = row; } } tab.TabPages.Add(page); if (page.Text == ChangeFileEventArgs.currentDaxId.ToString()) { tab.SelectedTab = page; page.ScrollControlIntoView(bookmarkedRow); } } var stringPage = new TabPage("ECL Text"); stringPage.AutoScroll = true; var control = ViewerHelper.CreateTextBoxMultiline(); control.Text = _file.ToString(); stringPage.Controls.Add(control); tab.TabPages.Add(stringPage); return(tab); }
public Control GetControl() { tab = new TabControl { Dock = DockStyle.Fill }; foreach (var ecl in _file.eclDumps) { var page = new TabPage(ecl._blockName); Panel codePanel = (Panel)ViewerHelper.CreatePanel(); codePanel.Name = "codepanel"; codePanel.Tag = ecl; //page.AutoScroll = true; page.Controls.Add(codePanel); // fill the code panel with the decoded ecl code int bookMarkIndex = FillECLCodePanel(page); // add a search bar and 'select all' button to the top of the ecl listing var selectAll = ViewerHelper.CreateButton(); selectAll.Text = "Copy to clipboard"; selectAll.MouseClick += selectAllRows; selectAll.Dock = DockStyle.Right; var findNext = ViewerHelper.CreateButton(); findNext.Text = "find next"; findNext.MouseClick += searchEclNext; findNext.Dock = DockStyle.Right; TextBox headerText = (TextBox)ViewerHelper.CreateTextBox(); headerText.ReadOnly = false; headerText.Text = "Type text to find"; headerText.TextChanged += searchEcl; headerText.KeyDown += searchEclKeyPressed; headerText.Dock = DockStyle.Fill; var row1 = ViewerHelper.CreateRow(); page.Controls.Add(row1); row1.Controls.Add(headerText); row1.Controls.Add(findNext); row1.Controls.Add(selectAll); tab.TabPages.Add(page); if (page.Text == ChangeFileEventArgs.currentDaxId.ToString()) { tab.SelectedTab = page; ListView lv = (ListView)codePanel.Controls.Find("eclView", false)[0]; var lvi = lv.Items[bookMarkIndex]; lvi.Selected = true; lv.Select(); lv.TopItem = lvi; } } var stringPage = new TabPage("ECL Text"); stringPage.AutoScroll = true; var control = ViewerHelper.CreateTextBoxMultiline(); control.Text = _file.ToString(); stringPage.Controls.Add(control); tab.TabPages.Add(stringPage); tab.Selected += ECLTabControlLoadSelected; tab.Deselected += ECLTabControlUnloadDeselected; return(tab); }