private void MainTabControl_KeyDown(object sender, KeyEventArgs e) { bool isF6 = e.KeyCode == Keys.F6 && e.Alt == false && e.Control == false && e.Shift == false; bool isShiftF6 = e.KeyCode == Keys.F6 && e.Alt == false && e.Control == false && e.Shift == true; bool isF8 = e.KeyCode == Keys.F8 && e.Alt == false && e.Control == false && e.Shift == false; bool isShiftF8 = e.KeyCode == Keys.F8 && e.Alt == false && e.Control == false && e.Shift == true; if (isF6) { int currentTabIndex = mainTabControl.SelectedIndex; int nextTabIndex = currentTabIndex + 1 >= mainTabControl.TabCount ? 0 : currentTabIndex + 1; mainTabControl.SelectedIndex = nextTabIndex; e.Handled = true; } else if (isShiftF6) { int currentTabIndex = mainTabControl.SelectedIndex; int previousTabIndex = currentTabIndex - 1 < 0 ? mainTabControl.TabCount - 1 : currentTabIndex - 1; mainTabControl.SelectedIndex = previousTabIndex; e.Handled = true; } else if (isF8) { TabPage currentTab = mainTabControl.SelectedTab; ParseTreeTab treeTab = FindFirstControlOfType <ParseTreeTab>(currentTab.Controls); if (treeTab != null) { int currentTabIndex = treeTab.TreeTabControl.SelectedIndex; int nextTabIndex = currentTabIndex + 1 >= treeTab.TreeTabControl.TabCount ? 0 : currentTabIndex + 1; treeTab.TreeTabControl.SelectedIndex = nextTabIndex; e.Handled = true; } } else if (isShiftF8) { TabPage currentTab = mainTabControl.SelectedTab; ParseTreeTab treeTab = FindFirstControlOfType <ParseTreeTab>(currentTab.Controls); if (treeTab != null) { int currentTabIndex = treeTab.TreeTabControl.SelectedIndex; int previousTabIndex = currentTabIndex - 1 < 0 ? treeTab.TreeTabControl.TabCount - 1 : currentTabIndex - 1; treeTab.TreeTabControl.SelectedIndex = previousTabIndex; e.Handled = true; } } }
private void CopyToolStripMenuItem_Click(object sender, EventArgs e) { TabPage currentTab = mainTabControl.SelectedTab; if (currentTab.Text == _tabTitleScript) { Clipboard.SetText(queryRichTextBox.Text); } else if (currentTab.Text == _tabTitleMessages) { RichTextBox messagesTextBox = FindFirstControlOfType <RichTextBox>(currentTab.Controls); if (messagesTextBox != null) { Clipboard.SetText(messagesTextBox.Text); } } else if (currentTab.Text == _tabTitleResults || FindFirstControlOfType <DataGridView>(currentTab.Controls) != null) { List <DataGridView> grids = FindControlsOfType <DataGridView>(currentTab.Controls); if (grids != null) { StringBuilder sb = new StringBuilder(); string delimiter = "\t"; string qualifier = "\""; string rowSeparator = Environment.NewLine; foreach (DataGridView grid in grids) { if (grid.DataSource is DataTable) { sb.Append(TableToDelimitedString(grid.DataSource as DataTable, delimiter, qualifier, rowSeparator)); } else if (grid.DataSource is DataSet) { foreach (DataTable table in (grid.DataSource as DataSet).Tables) { sb.Append(TableToDelimitedString(table, delimiter, qualifier, rowSeparator)); } } } Clipboard.SetText(sb.ToString()); } } else { ParseTreeTab treeTab = FindFirstControlOfType <ParseTreeTab>(currentTab.Controls); if (treeTab != null) { Clipboard.SetImage(treeTab.DrawingSurface.Image); } } }
private void ShowThumbnailToolStripMenuItem_Click(object sender, EventArgs e) { TabPage currentTab = mainTabControl.SelectedTab; ParseTreeTab treeTab = FindFirstControlOfType <ParseTreeTab>(currentTab.Controls); if (treeTab != null) { Image image = treeTab.DrawingSurface.Image; ShowThumbnailForm thumbnailForm = new ShowThumbnailForm(image); thumbnailForm.ShowDialog(); } }
public TabPage DrawMemo(SqlMemo memo) { TabPage tab = new TabPage(memo.Description); ParseTreeTab subTab = new ParseTreeTab(); subTab.Left = 0; subTab.Top = 0; subTab.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom; subTab.IsMemo = true; tab.Controls.Add(subTab); tab.Size = mainTabControl.Size; subTab.Size = tab.Size; List <MemoNodeIcon> memoNodeIcons; Bitmap bitmap = MemoVisualizer.Render(memo, out memoNodeIcons); subTab.DrawingSurface.Image = bitmap; subTab.TreeText = memo.InnerText; subTab.SetIcons(memoNodeIcons.ConvertAll(i => i as NodeIcon)); return(tab); }
public TabPage DrawTree(SqlParseTree tree) { TabPage tab = new TabPage(tree.TreeDescription); ParseTreeTab subTab = new ParseTreeTab(); subTab.Left = 0; subTab.Top = 0; subTab.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom; tab.Controls.Add(subTab); tab.Size = mainTabControl.Size; subTab.Size = tab.Size; List <TreeNodeIcon> treeNodeIcons; TreeVisualizer treeVisualizer = TreeVisualizer.Create(); Bitmap bitmap = treeVisualizer.Render(tree, out treeNodeIcons); subTab.DrawingSurface.Image = bitmap; subTab.TreeText = tree.InnerTreeText; subTab.SetIcons(treeNodeIcons.ConvertAll(i => i as NodeIcon)); return(tab); }