/// <summary> /// Gets table column children /// </summary> /// <param name="item"></param> /// <param name="GuiColumnIdx"></param> /// <param name="columnsManager"></param> /// <returns></returns> internal LgList getColumnChildren(TableItem item, int GuiColumnIdx, ColumnsManager columnsManager) { var tableChildren = item.Controls; if (tableChildren == null) { return(null); } else { if (GuiColumnIdx == TableControl.TAIL_COLUMN_IDX) { return(null); } int column = columnsManager.getMagicColumnIndex(GuiColumnIdx); if (column == -1) { return(null); } else { return(tableChildren[column]); } } }
/// <summary> /// Paint table cells controls /// </summary> /// <param name="tableRenderer"></param> /// <param name="item"></param> /// <param name="g"></param> /// <param name="cellData"></param> /// <param name="columnsManager"></param> /// <param name="isRowMarked"></param> /// <param name="isSelected"></param> private void PaintCellControls(TableChildRendererBase tableChildRenderer, TableItem item, Graphics g, CellData cellData, ColumnsManager columnsManager, bool isRowMarked, bool isSelected) { //paint cell's controls if (item != null) { LgList tableChildren = getColumnChildren(item, cellData.ColumnIdx, columnsManager); if (tableChildren != null) { foreach (PlacementDrivenLogicalControl lg in tableChildren) { tableChildRenderer.PaintControl(lg, cellData.Rect, g, isRowMarked, isSelected, columnsManager); } } } }
/// <summary> /// paint table cell background /// </summary> public void PaintCellBackground(TableChildRendererBase tableChildRenderer, CellData cellData, Graphics g, TableItem item, bool isRowMarked, bool isSelected, ColumnsManager columnsManager) { using (var cellRegion = new Region(cellData.Rect)) { g.Clip = GetClippingArea(cellRegion, g); //The paining of table rows is done from TableControl.OnPaint(). We should paint selected and marked rows from here. if (isRowMarked) { if (tableChildRenderer.RowHighlitingStyle == RowHighlightType.BackgroundControls || tableChildRenderer.RowHighlitingStyle == RowHighlightType.Background) { Color color = tableChildRenderer.HightlightBgColor; //paint cell background Brush brush = SolidBrushCache.GetInstance().Get(Utils.GetNearestColor(g, color)); g.FillRectangle(brush, cellData.Rect); } } } }
/// <summary> /// Gets list of column childrens /// </summary> /// <param name="item"></param> /// <param name="column"></param> /// <returns></returns> public virtual LgList GetColumnChildren(TableItem item, int column, ColumnsManager columnsManager) { return(item.getColumnChildren(column, columnsManager)); }
/// <summary> /// Paint table controls for row /// </summary> /// <param name="tableRenderer"></param> /// <param name="g"></param> /// <param name="item"></param> /// <param name="isRowMarked"></param> /// <param name="isSelected"></param> /// <param name="columnsManager"></param> private void PaintRowControls(TableChildRendererBase tableChildRenderer, Graphics g, TableItem item, bool isRowMarked, bool isSelected, ColumnsManager columnsManager) { if (item != null) { item.ZOrderSortedControls = item.ZOrderSortedControls != null && item.ZOrderSortedControls.Count > 0 ? item.ZOrderSortedControls : item.GetAllColumnsControlsByZOrder(); if (item.ZOrderSortedControls != null) { foreach (PlacementDrivenLogicalControl lg in item.ZOrderSortedControls) { tableChildRenderer.PaintControl(lg, tableChildRenderer.GetCellRect(lg), g, isRowMarked, isSelected, columnsManager); } } } }
public override LgList GetColumnChildren(TableItem item, int column, ColumnsManager columnsManager) { return(item.GetAllColumnsControlsByZOrder()); }
internal TableItemDisposeArgs(TableItem item) { this.Item = item; }