private void OnGUITable(Rect area, AbstractLogs logs) { if (_config.KeepScrollToLast) { _selectedLog = logs.Count - 1; _table.SetScrollToKeepIn(area, _selectedLog); } if (_keepInSelectedLog) { _table.SetScrollToKeepIn(area, _selectedLog); _keepInSelectedLog = false; } _table.OnGUI(area, logs.Count, i => OnGUILogRow(area.width, logs[i], i, i == _selectedLog)); }
public override void OnGUI(Rect area) { // layout Rect toolbarArea, tableArea, stackArea; { var x = area.x; var y = area.y; var w = area.width; var h = area.height; var tableH = (h - _toolbarHeight) * 0.75f; var stackH = (h - _toolbarHeight) * 0.25f; toolbarArea = new Rect(x, y, w, _toolbarHeight); y += _toolbarHeight; tableArea = new Rect(x, y, w, tableH); y += tableH; stackArea = new Rect(x, y, w, stackH); y += stackH; } // filter AbstractLogs logs = null; if (_config.Collapse) { var rawLogs = _organizer.FilterCollapsed(_config.Filter); logs = new AbstractLogs(rawLogs); } else { var rawLogs = _organizer.Filter(_config.Filter); logs = new AbstractLogs(rawLogs); } // draw OnGUIToolbar(toolbarArea); ClampSelectedLog(logs.Count); OnGUITable(tableArea, logs); if (_selectedLog >= 0) { DrawStack(stackArea, logs[_selectedLog]); } else { DrawStackEmpty(stackArea); } _lastSelectedLog = _selectedLog; }