示例#1
0
        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);
                }
            }
        }
示例#2
0
 protected override Color GetColumnBackgroundColor(PlacementDrivenLogicalControl logicalControl, ColumnsManager columnsManager)
 {
     return(((LgColumn)columnsManager.getLgColumnByMagicIdx(((TableCoordinator)logicalControl.Coordinator).MgColumn)).BgColor);
 }