private bool AddToTimeline(ThreadFlow flow, StackItem item) { // do stuff with item Threadline timeline; if (!Threadlines.TryGetValue(flow.ThreadID, out timeline)) { timeline = new Threadline(flow, ThreadOrder++); Threadlines[flow.ThreadID] = timeline; } timeline.IsAlive = flow.IsAlive; // update var node = NodeModels[item.NodeID]; if (node.Show && (CenterMap.Contains(node.ID) || (ShowOutside && !node.XNode.External) || (ShowExternal && node.XNode.External))) { timeline.Sequence.Add(item); if (item.Depth > timeline.Deepest) { timeline.Deepest = item.Depth; } timeline.DepthSet.Add(item.Depth); return(true); } else { return(false); } }
private bool AddToTimeline(ThreadFlow flow, StackItem item) { // do stuff with item Threadline timeline; if (!Threadlines.TryGetValue(flow.ThreadID, out timeline)) { timeline = new Threadline(flow, ThreadOrder++); Threadlines[flow.ThreadID] = timeline; } timeline.IsAlive = flow.IsAlive; // update var node = NodeModels[item.NodeID]; if (node.Show && (CenterMap.Contains(node.ID) || (ShowOutside && !node.XNode.External) || (ShowExternal && node.XNode.External))) { timeline.Sequence.Add(item); if (item.Depth > timeline.Deepest) timeline.Deepest = item.Depth; timeline.DepthSet.Add(item.Depth); return true; } else return false; }