public override void PaintControl(PlacementDrivenLogicalControl lg, Rectangle cellRect, Graphics g, bool isRowMarked, bool isSelected, ColumnsManager columnsManager) { base.PaintControl(lg, cellRect, g, isRowMarked, isSelected, columnsManager); LogicalControl logicalControl = (LogicalControl)lg; // paint controls if (GuiUtilsBase.isOwnerDrawControl(logicalControl.GuiMgControl)) { var tableCoordinator = (TableCoordinator)lg.Coordinator; ILogicalColumn lgColumn = columnsManager.getLgColumnByMagicIdx(lg._mgColumn); if (lg.Visible && lgColumn.Visible && tableCoordinator.getEditorControl() == null) { bool keepColor; //calculate background color Color controlBgColor = computeControlBgColor((LogicalControl)lg, columnsManager, null, isRowMarked, false, OnGetGuiRowIndex(lg._mgRow), true, out keepColor); Rectangle displayRect = tableCoordinator.getDisplayRect(cellRect, false); //calculate foreground color Color fgColor = computeControlFgColor(isSelected, isRowMarked, (LogicalControl)lg); //paint the control logicalControl.paint(g, displayRect, controlBgColor, fgColor, keepColor); } } }
protected override Color GetColumnBackgroundColor(PlacementDrivenLogicalControl logicalControl, ColumnsManager columnsManager) { return(((LgColumn)columnsManager.getLgColumnByMagicIdx(((TableCoordinator)logicalControl.Coordinator).MgColumn)).BgColor); }