private void treeViewDatabase_BeforeExpand(object sender, TreeViewCancelEventArgs e) { if (isInitializing) { return; } if (e.Node != null) { LSTreeNode selectedNode = (LSTreeNode)e.Node; if (selectedNode.Type == Types.TreeNodeType.Schema || selectedNode.Type == Types.TreeNodeType.Schemas) { foreach (LSTreeNode node in selectedNode.Nodes) { if (node.Type == Types.TreeNodeType.Schema || node.Type == Types.TreeNodeType.Schemas) { if (treeManager.ContainsNodeOfType(node, Types.TreeNodeType.Schema) == false) { treeManager.PopulateSchemas(client, node); } } } } } }
private void treeViewDatabase_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { ContextMenu menu = new ContextMenu(); contextNode = (LSTreeNode)e.Node; if (e.Button == MouseButtons.Right) { if (contextNode.Type == Types.TreeNodeType.Schema) { menu.MenuItems.Add("Create Schema", ContextMenu_CreateSchema); if (contextNode.Text != "/") { menu.MenuItems.Add("Browse", ContextMenu_BrowseDocuments); menu.MenuItems.Add("Query", ContextMenu_QueryDocuments); } menu.Show(treeViewDatabase, e.Location); } else if (contextNode.Type == Types.TreeNodeType.Login) { menu.MenuItems.Add("Set Password", ContextMenu_SetLoginPassword); menu.MenuItems.Add("Delete Login", ContextMenu_DeleteLogin); menu.Show(treeViewDatabase, e.Location); } else if (contextNode.Type == Types.TreeNodeType.Indexes) { menu.MenuItems.Add("Create Index", ContextMenu_CreateIndex); menu.Show(treeViewDatabase, e.Location); } else if (contextNode.Type == Types.TreeNodeType.Index) { menu.MenuItems.Add("Rebuild", ContextMenu_RebuildIndex); menu.MenuItems.Add("Delete Index", ContextMenu_DeleteIndex); menu.Show(treeViewDatabase, e.Location); } else if (contextNode.Type == Types.TreeNodeType.Logins) { menu.MenuItems.Add("Create Login", ContextMenu_CreateLogin); menu.Show(treeViewDatabase, e.Location); } } }