// ---------------------------------------------------------------------- void DisplayColumnData() { Rect dataArea = new Rect(-myScrollbarPosition.x, -myScrollbarPosition.y, myColumnDataSize.x, myColumnDataSize.y); // Display column frames. if (myDisplayColumnFrame) { float x = dataArea.x; foreach (var column in myColumns) { GUI.Box(new Rect(x, dataArea.y, column.DataSize.x, dataArea.height), ""); x += column.DataSize.x; } } // Display column data. float y = dataArea.y; for (int row = 0; row < myRowHeights.Length; ++row) { float x = dataArea.x; foreach (var column in myColumns) { Rect displayRect = new Rect(x + column.Margins.left, y + column.Margins.top, column.DataSize.x - column.Margins.horizontal, myRowHeights[row] - column.Margins.vertical); Vector2 dataSize = myDataSource.LayoutSizeForObjectInTableView(this, column, row); displayRect = DSCellView.PerformAlignment(displayRect, dataSize, column.Anchor); myDataSource.DisplayObjectInTableView(this, column, row, displayRect); x += column.DataSize.x; } y += myRowHeights[row]; } }
// ---------------------------------------------------------------------- void DisplayColumnTitles() { Rect titleArea = new Rect(-myScrollbarPosition.x, 0, myColumnTitleSize.x, myColumnTitleSize.y); foreach (var column in myColumns) { Rect titleFrameArea = titleArea; titleFrameArea.width = column.DataSize.x; Rect columnTitleArea = titleFrameArea; columnTitleArea.x += column.Margins.left; columnTitleArea.width -= column.Margins.horizontal; columnTitleArea.y += column.Margins.top; columnTitleArea.height -= column.Margins.vertical; if (column.Title != null) { Rect titleDisplayArea = DSCellView.PerformAlignment(columnTitleArea, ColumnTitleGUIStyle.CalcSize(column.Title), column.Anchor); if (myDisplayColumnFrame) { GUI.Box(titleFrameArea, ""); } GUI.Label(titleDisplayArea, column.Title, ColumnTitleGUIStyle); } titleArea.x += column.DataSize.x; titleArea.width -= column.DataSize.x; } }