private void LogGridView_RowStyle(object sender, RowStyleEventArgs e)
        {
            if (!Settings.ColorSettings.EnableMessagesColors || !(sender is GridView view) || e.RowHandle < 0)
            {
                return;
            }

            IAnalogyLogMessage message = (AnalogyLogMessage)view.GetRowCellValue(e.RowHandle, view.Columns["Object"]);

            if (message == null)
            {
                return;
            }



            var(backgroundColorLevel, textColorLevel) = Settings.ColorSettings.GetColorForLogLevel(message.Level);
            e.Appearance.BackColor = backgroundColorLevel;
            e.Appearance.ForeColor = textColorLevel;


            string text = view.GetRowCellDisplayText(e.RowHandle, view.Columns["Text"]);

            foreach (PreDefineHighlight preDefineHighlight in Settings.PreDefinedQueries.Highlights)
            {
                if (FilterCriteriaObject.Match(text, preDefineHighlight.Text,
                                               preDefineHighlight.PreDefinedQueryType))
                {
                    e.Appearance.BackColor = preDefineHighlight.Color;
                }
            }

            if (DataProvider.UseCustomColors)
            {
                IAnalogyLogMessage m =
                    (AnalogyLogMessage)view.GetRowCellValue(e.RowHandle, view.Columns["Object"]);
                if (m == null)
                {
                    return;
                }

                var colors = DataProvider.GetColorForMessage(m);
                if (colors.backgroundColor != Color.Empty)
                {
                    e.Appearance.BackColor = colors.backgroundColor;
                }

                if (colors.foregroundColor != Color.Empty)
                {
                    e.Appearance.ForeColor = colors.foregroundColor;
                }
            }
        }
Exemple #2
0
 public override (Color backgroundColor, Color foregroundColor) GetColorForMessage(IAnalogyLogMessage logMessage)
 => logMessage.Level == AnalogyLogLevel.Unknown ? (Color.FromArgb(_rnd.Next(256), _rnd.Next(256), _rnd.Next(256)), Color.FromArgb(_rnd.Next(256), _rnd.Next(256), _rnd.Next(256))) : (Color.Empty, Color.Empty);