mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-06 10:00:40 +00:00
Change API events view to show { } sections in sub-nodes
This commit is contained in:
@@ -83,8 +83,8 @@ namespace renderdocui.Windows
|
||||
apiEvents.BeginUpdate();
|
||||
apiEvents.Nodes.Clear();
|
||||
|
||||
Regex rgx = new Regex("^\\s*[{}]?");
|
||||
string replacement = "";
|
||||
Regex rgxopen = new Regex("^\\s*{");
|
||||
Regex rgxclose = new Regex("^\\s*}");
|
||||
|
||||
FetchDrawcall draw = m_Core.CurDrawcall;
|
||||
|
||||
@@ -99,19 +99,32 @@ namespace renderdocui.Windows
|
||||
|
||||
string[] lines = ev.eventDesc.Split(new string[] { "\r\n", "\n" }, StringSplitOptions.None);
|
||||
|
||||
TreelistView.Node node = apiEvents.Nodes.Add(new TreelistView.Node(new object[] { ev.eventID, lines[0] }));
|
||||
TreelistView.Node root = new TreelistView.Node(new object[] { ev.eventID, lines[0] });
|
||||
|
||||
for (int i = 1; i < lines.Length; i++)
|
||||
int i=1;
|
||||
|
||||
if (i < lines.Length && lines[i].Trim() == "{")
|
||||
i++;
|
||||
|
||||
List<TreelistView.Node> nodestack = new List<TreelistView.Node>();
|
||||
nodestack.Add(root);
|
||||
|
||||
for (; i < lines.Length; i++)
|
||||
{
|
||||
string l = rgx.Replace(lines[i], replacement);
|
||||
if (l.Length > 0)
|
||||
node.Nodes.Add(new TreelistView.Node(new object[] { "", l }));
|
||||
if (rgxopen.IsMatch(lines[i]))
|
||||
nodestack.Add(nodestack.Last().Nodes.LastNode);
|
||||
else if (rgxclose.IsMatch(lines[i]))
|
||||
nodestack.RemoveAt(nodestack.Count - 1);
|
||||
else if(lines[i].Trim().Length > 0 && nodestack.Count > 0)
|
||||
nodestack.Last().Nodes.Add(new TreelistView.Node(new object[] { "", lines[i].Trim() }));
|
||||
}
|
||||
|
||||
if (ev.eventID == draw.eventID)
|
||||
node.Bold = true;
|
||||
root.Bold = true;
|
||||
|
||||
node.Tag = (object)ev;
|
||||
root.Tag = (object)ev;
|
||||
|
||||
apiEvents.Nodes.Add(root);
|
||||
}
|
||||
|
||||
if (apiEvents.Nodes.Count > 0)
|
||||
|
||||
Reference in New Issue
Block a user