public void BuildParentNode() { DirectoryInfo DIR = new DirectoryInfo(GlobalVariable.objMainWindowVM.SavedData.DriveLetter); LsRootTreeViewItem = new ObservableCollection <RootTreeViewItem>(); RootTreeViewItem Parent = new RootTreeViewItem(); Parent.Header = DIR.Name; Parent.Path = DIR.FullName; Parent.Type = DIR.GetType().Name; Parent.IsExpanded = false; LsRootTreeViewItem.Add(Parent); Parent.LsChildrenNode = new ObservableCollection <RootTreeViewItem>(); foreach (DirectoryInfo DR in DIR.GetDirectories()) { if (!DR.Attributes.ToString().Contains("Hidden")) { RootTreeViewItem ParenNode = new RootTreeViewItem(); ParenNode.Header = DR.Name; ParenNode.Path = DR.FullName; ParenNode.Type = DR.GetType().Name; ParenNode.IsExpanded = false; Parent.LsChildrenNode.Add(ParenNode); ParenNode.LsChildrenNode = new ObservableCollection <RootTreeViewItem>(); foreach (DirectoryInfo CDIR in DR.GetDirectories()) { RootTreeViewItem ChildrenNode = new RootTreeViewItem(); ChildrenNode.IsExpanded = false; ChildrenNode.Header = CDIR.Name; ChildrenNode.Path = CDIR.FullName; ChildrenNode.Type = CDIR.GetType().Name; ParenNode.LsChildrenNode.Add(ChildrenNode); } } } foreach (FileInfo DR in DIR.GetFiles()) { if (!DR.Attributes.ToString().Contains("Hidden")) { RootTreeViewItem ParenNode = new RootTreeViewItem(); ParenNode.Header = DR.Name; ParenNode.Path = DR.FullName; ParenNode.Type = DR.GetType().Name; ParenNode.IsExpanded = false; Parent.LsChildrenNode.Add(ParenNode); } } }
protected override IList <TreeViewItem> BuildRows(TreeViewItem root) { //Debug.Log(sortCol + " " + sortColumn.sortedAscending); profilerState.lastFrame = profilerState.profilerWindow.GetActiveVisibleFrameIndex(); var rows = new List <TreeViewItem>(); if (property == null || !property.frameDataReady) { return(rows); } m_AllCanvasesItem = new RootTreeViewItem(); SetExpanded(m_AllCanvasesItem.id, true); root.AddChild(m_AllCanvasesItem); UISystemProfilerInfo[] UISystemData = property.GetUISystemProfilerInfo(); int[] allBatchesInstanceIDs = property.GetUISystemBatchInstanceIDs(); if (UISystemData != null) { Dictionary <int, TreeViewItem> map = new Dictionary <int, TreeViewItem>(); int batchIndex = 0; foreach (var data in UISystemData) { TreeViewItem parent; if (!map.TryGetValue(data.parentId, out parent)) { parent = m_AllCanvasesItem; m_AllCanvasesItem.totalBatchCount += data.totalBatchCount; m_AllCanvasesItem.totalVertexCount += data.totalVertexCount; m_AllCanvasesItem.gameObjectCount += data.instanceIDsCount; } string name; BaseTreeViewItem canvasTreeViewItem; if (data.isBatch) { name = "Batch " + batchIndex++; canvasTreeViewItem = new BatchTreeViewItem(data, parent.depth + 1, name, allBatchesInstanceIDs); } else { name = property.GetUISystemProfilerNameByOffset(data.objectNameOffset); canvasTreeViewItem = new CanvasTreeViewItem(data, parent.depth + 1, name); batchIndex = 0; map[data.objectInstanceId] = canvasTreeViewItem; } if (!IsExpanded(parent.id)) { if (!parent.hasChildren) { parent.children = CreateChildListForCollapsedParent(); } continue; } parent.AddChild(canvasTreeViewItem); } m_Comparer.Col = Column.Element; if (multiColumnHeader.sortedColumnIndex != -1) { m_Comparer.Col = (Column)multiColumnHeader.sortedColumnIndex; } m_Comparer.isAscending = multiColumnHeader.GetColumn((int)m_Comparer.Col).sortedAscending; SetupRows(m_AllCanvasesItem, rows); } return(rows); }