internal void AddFilesAsNodes(FolderNode parentNode, List <string> files, List <string> invalidFileNames) { foreach (string fileName in files) { var fi = new FileInfo(fileName); var ext = fi.Extension; if (ext.Length > 0) { ext = ext.Remove(0, 1); } //Test valid characters if (Webresource.IsNameValid(fi.Name, OrganizationMajorVersion) && Webresource.IsValidExtension(ext, Settings)) { var name = $"{parentNode.ResourceFullPath}/{fi.Name}"; var resource = new Webresource(name, fi.FullName, WebresourceType.Auto, mainControl, Settings); if (mainControl.WebresourcesCache.All(w => w.Name != resource.Name)) { mainControl.WebresourcesCache.Add(resource); } AddSingleNode(resource, resource.Name.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries), parentNode); parentNode.Expand(); } else { invalidFileNames?.Add(fileName); } } tv.Sort(); }
void ICallbackEventHandler.RaiseCallbackEvent(string eventArgs) { int index = eventArgs.IndexOf('|'); FolderNode node = new FolderNode(this); node.ValuePath = eventArgs.Substring(index + 1); node.Expand(); int num = node.ChildNodes.Count; if (num == 0) { callbackResult = "*"; return; } ArrayList levelLines = new ArrayList(); for (int i = 0; i < index; i++) { levelLines.Add(eventArgs[i] == '1' ? this : null); } StringBuilder sb = new StringBuilder(); HtmlTextWriter writer = new HtmlTextWriter(new StringWriter(sb)); EnsureStylesPrepared(); for (int n = 0; n < num; n++) { RenderNode(writer, node.ChildNodes[n], index, levelLines, true, n < num - 1); } callbackResult = sb.ToString(); }
void ExpandRecursive(FolderNode treeNode, int dept) { if (dept == 0) { return; } treeNode.Expand(); foreach (FolderNode child in treeNode.ChildNodes) { ExpandRecursive(child, dept - 1); } }
public void ShowDirectory(string path) { string[] Folders = path.Split('\\'); FolderNode Node = new FolderNode(Folders[0]); folderTree.Nodes.Add(Node); Node.Expand(); for (int i = 1; i < Folders.Length; i++) { ExpandQueue.Enqueue(Folders[i]); } }
private void AddChildNodesR(TreeNode parentNode, Folder <FileInfo> fileTree) { foreach (var file in fileTree.Items) { parentNode.Nodes.Add(new FileNode(file, imlSmallIcons)); } foreach (var child in fileTree.Folders) { var node = new FolderNode(child.Name); parentNode.Nodes.Add(node); AddChildNodesR(node, child); node.Expand(); } }
internal void AddNewWebresource(FolderNode parentNode, WebresourceType type) { var map = WebresourceMapper.Instance.Items.First(i => i.Type == type); var nwrDialog = new NewWebResourceDialog(map.Extension, OrganizationMajorVersion); if (nwrDialog.ShowDialog(mainControl) == DialogResult.OK) { var name = $"{parentNode.ResourceFullPath}/{nwrDialog.WebresourceName}"; var resource = new Webresource(name, null, type, mainControl); mainControl.WebresourcesCache.Add(resource); AddSingleNode(resource, name.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries), parentNode); parentNode.Expand(); } }
private void LoadObjects(DbObjectSearch search = null) { try { pbLoading.Visible = true; OperationStarted?.Invoke(this, "Loading objects..."); tvwObjects.BeginUpdate(); tvwObjects.Nodes.Clear(); var schemas = _objects .Where(obj => !string.IsNullOrEmpty(obj.Schema) && (search?.IsIncluded(obj) ?? true)) .GroupBy(obj => obj.Schema).OrderBy(grp => grp.Key); FolderNode folderNode = null; foreach (var schemaGrp in schemas) { var schemaNode = new SchemaNode(schemaGrp.Key, schemaGrp.Count()); tvwObjects.Nodes.Add(schemaNode); var tables = schemaGrp.OfType <Table>().OrderBy(obj => obj.Name); if (tables.Any()) { folderNode = new FolderNode("Tables", tables.Count()); schemaNode.Nodes.Add(folderNode); foreach (var table in tables) { var tableNode = new TableNode(table); if (_aliasManager.ContainsTable(table.ToString(), out string alias)) { tableNode.Alias = alias; } folderNode.Nodes.Add(tableNode); var foreignKeys = table.GetParentForeignKeys(_objects); tableNode.Columns.AddRange(table.Columns.Select(col => { var node = new ColumnNode(col, foreignKeys, table.IdentityColumn); if (IsUniqueMultiColumn(table, col)) { node.NodeFont = new Font(tvwObjects.Font, FontStyle.Bold); } return(node); })); var childFKs = table.GetChildForeignKeys(_objects); if (childFKs.Any()) { var childFolderNode = new TreeNode($"Child Tables ({childFKs.Count()})") { ImageKey = "join", SelectedImageKey = "join" }; tableNode.Nodes.Add(childFolderNode); foreach (var childFK in childFKs) { var fkNode = new TableNode(childFK); childFolderNode.Nodes.Add(fkNode); } } } folderNode.Expand(); } var views = schemaGrp.OfType <SqlSchema.Library.Models.View>().OrderBy(obj => obj.Name); if (views.Any()) { folderNode = new FolderNode("Views", views.Count()); schemaNode.Nodes.Add(folderNode); foreach (var view in views) { var viewNode = new ViewNode(view); folderNode.Nodes.Add(viewNode); } } var functions = schemaGrp.OfType <TableFunction>().OrderBy(obj => obj.Name); if (functions.Any()) { folderNode = new FolderNode("Functions", functions.Count()); schemaNode.Nodes.Add(folderNode); foreach (var func in functions) { var functionNode = new FunctionNode(func); folderNode.Nodes.Add(functionNode); } } var procs = schemaGrp.OfType <Procedure>().OrderBy(obj => obj.Name); if (procs.Any()) { folderNode = new FolderNode("Procedures", procs.Count()); schemaNode.Nodes.Add(folderNode); foreach (var proc in procs) { var procNode = new ProcedureNode(proc); folderNode.Nodes.Add(procNode); } } schemaNode.Expand(); } } finally { tvwObjects.EndUpdate(); pbLoading.Visible = false; OperationEnded?.Invoke(this, new EventArgs()); } }
private void RecurseFileSystem(TreeNodeCollection nodes, DirectoryInfo dir) { List <FileSystemNode> list = new List <FileSystemNode>(); IEnumerable <DirectoryInfo> enumerable = new DirectoryInfo[0]; try { enumerable = from d in dir.GetDirectories() orderby ImportedSampleQuery.Get3rdPartySort(d.Name.ToUpperInvariant()) select d; } catch { } foreach (DirectoryInfo info in enumerable) { if ((info.Attributes & FileAttributes.Hidden) == 0) { FolderNode item = new FolderNode(info); if (this._expandedPaths.Contains(info.FullName)) { this.RecurseFileSystem(item.Nodes, info); item.Expand(); } else { item.Nodes.Add(""); } if (item.FilePath == this._lastSelectedFilePath) { base.SelectedNode = item; } list.Add(item); } } IEnumerable <FileInfo> enumerable2 = new FileInfo[0]; try { enumerable2 = from f in dir.GetFiles("*.linq") orderby ImportedSampleQuery.Get3rdPartySort(f.Name.ToUpperInvariant()) select f; } catch { } foreach (FileInfo info2 in enumerable2) { if ((info2.Attributes & FileAttributes.Hidden) == 0) { FileNode node2 = new FileNode(info2.FullName); list.Add(node2); this._fileNodes[info2.FullName] = node2; if (info2.FullName == this._lastSelectedFilePath) { base.SelectedNode = node2; } } } this._addingNodes = true; try { nodes.AddRange(list.ToArray()); } finally { this._addingNodes = false; } }