public static void CellPainting(ILogPaintContext logPaintCtx, DataGridView gridView, int rowIndex, DataGridViewCellPaintingEventArgs e) { if (rowIndex < 0 || e.ColumnIndex < 0) { e.Handled = false; return; } string line = logPaintCtx.GetLogLine(rowIndex); if (line != null) { HilightEntry entry = logPaintCtx.FindHilightEntry(line, true); e.Graphics.SetClip(e.CellBounds); if ((e.State & DataGridViewElementStates.Selected) == DataGridViewElementStates.Selected) { Color backColor = e.CellStyle.SelectionBackColor; Brush brush; if (gridView.Focused) { brush = new SolidBrush(e.CellStyle.SelectionBackColor); } else { Color color = Color.FromArgb(255, 170, 170, 170); brush = new SolidBrush(color); } e.Graphics.FillRectangle(brush, e.CellBounds); brush.Dispose(); } else { Color bgColor = Color.White; if (!DebugOptions.disableWordHighlight) { if (entry != null) { bgColor = entry.BackgroundColor; } } else { if (entry != null) { bgColor = entry.BackgroundColor; } } e.CellStyle.BackColor = bgColor; e.PaintBackground(e.ClipBounds, false); } if (DebugOptions.disableWordHighlight) { e.PaintContent(e.CellBounds); } else { PaintCell(logPaintCtx, e, gridView, false, entry); } if (e.ColumnIndex == 0) { Bookmark bookmark = logPaintCtx.GetBookmarkForLine(rowIndex); if (bookmark != null) { Rectangle r; // = new Rectangle(e.CellBounds.Left + 2, e.CellBounds.Top + 2, 6, 6); r = e.CellBounds; r.Inflate(-2, -2); Brush brush = new SolidBrush(logPaintCtx.BookmarkColor); e.Graphics.FillRectangle(brush, r); brush.Dispose(); if (bookmark.Text.Length > 0) { StringFormat format = new StringFormat(); format.LineAlignment = StringAlignment.Center; format.Alignment = StringAlignment.Center; Brush brush2 = new SolidBrush(Color.FromArgb(255, 190, 100, 0)); Font font = logPaintCtx.MonospacedFont; e.Graphics.DrawString("i", font, brush2, new RectangleF(r.Left, r.Top, r.Width, r.Height), format); brush2.Dispose(); } } } e.Paint(e.CellBounds, DataGridViewPaintParts.Border); e.Handled = true; } }
public static void CellPainting(ILogPaintContext logPaintCtx, DataGridView gridView, int rowIndex, DataGridViewCellPaintingEventArgs e) { if (rowIndex < 0 || e.ColumnIndex < 0) { e.Handled = false; return; } string line = logPaintCtx.GetLogLine(rowIndex); if (line != null) { HilightEntry entry = logPaintCtx.FindHilightEntry(line, true); e.Graphics.SetClip(e.CellBounds); if ((e.State & DataGridViewElementStates.Selected) == DataGridViewElementStates.Selected) { Brush brush; if (gridView.Focused) { brush = new SolidBrush(e.CellStyle.SelectionBackColor); } else { Color color = Color.FromArgb(255, 170, 170, 170); brush = new SolidBrush(color); } e.Graphics.FillRectangle(brush, e.CellBounds); brush.Dispose(); } else { Color bgColor = Color.White; if (entry != null) { bgColor = entry.BackgroundColor; } e.CellStyle.BackColor = bgColor; e.PaintBackground(e.ClipBounds, false); } if (DebugOptions.disableWordHighlight) { e.PaintContent(e.CellBounds); } else { PaintCell(logPaintCtx, e, gridView, false, entry); } if (e.ColumnIndex == 0) { Bookmark bookmark = logPaintCtx.GetBookmarkForLine(rowIndex); if (bookmark != null) { Rectangle r; // = new Rectangle(e.CellBounds.Left + 2, e.CellBounds.Top + 2, 6, 6); r = e.CellBounds; r.Inflate(-2, -2); Brush brush = new SolidBrush(logPaintCtx.BookmarkColor); e.Graphics.FillRectangle(brush, r); brush.Dispose(); if (bookmark.Text.Length > 0) { StringFormat format = new StringFormat(); format.LineAlignment = StringAlignment.Center; format.Alignment = StringAlignment.Center; Brush brush2 = new SolidBrush(Color.FromArgb(255, 190, 100, 0)); Font font = logPaintCtx.MonospacedFont; e.Graphics.DrawString("i", font, brush2, new RectangleF(r.Left, r.Top, r.Width, r.Height), format); brush2.Dispose(); } } } e.Paint(e.CellBounds, DataGridViewPaintParts.Border); e.Handled = true; } }
public static void CellPaintFilter(ILogPaintContext logPaintCtx, DataGridView gridView, DataGridViewCellPaintingEventArgs e, int lineNum, string line, HilightEntry entry) { e.Graphics.SetClip(e.CellBounds); if ((e.State & DataGridViewElementStates.Selected) == DataGridViewElementStates.Selected) { Brush brush; if (gridView.Focused) { brush = new SolidBrush(e.CellStyle.SelectionBackColor); } else { Color color = Color.FromArgb(255, 170, 170, 170); brush = new SolidBrush(color); } e.Graphics.FillRectangle(brush, e.CellBounds); brush.Dispose(); } else { Color bgColor = Color.White; // paint direct filter hits with different bg color //if (this.filterParams.SpreadEnabled && this.filterHitList.Contains(lineNum)) //{ // bgColor = Color.FromArgb(255, 220, 220, 220); //} if (entry != null) { bgColor = entry.BackgroundColor; } e.CellStyle.BackColor = bgColor; e.PaintBackground(e.ClipBounds, false); } if (DebugOptions.disableWordHighlight) { e.PaintContent(e.CellBounds); } else { PaintCell(logPaintCtx, e, gridView, false, entry); } if (e.ColumnIndex == 0) { Bookmark bookmark = logPaintCtx.GetBookmarkForLine(lineNum); if (bookmark != null) { Rectangle r = new Rectangle(e.CellBounds.Left + 2, e.CellBounds.Top + 2, 6, 6); r = e.CellBounds; r.Inflate(-2, -2); Brush brush = new SolidBrush(logPaintCtx.BookmarkColor); e.Graphics.FillRectangle(brush, r); brush.Dispose(); if (bookmark.Text.Length > 0) { StringFormat format = new StringFormat(); format.LineAlignment = StringAlignment.Center; format.Alignment = StringAlignment.Center; Brush brush2 = new SolidBrush(Color.FromArgb(255, 190, 100, 0)); Font font = logPaintCtx.NormalFont; //TODO Zarunbal: Check if settings normal font is the right e.Graphics.DrawString("!", font, brush2, new RectangleF(r.Left, r.Top, r.Width, r.Height), format); font.Dispose(); brush2.Dispose(); } } } e.Paint(e.CellBounds, DataGridViewPaintParts.Border); e.Handled = true; }