Пример #1
0
        private void NewLogEntry(object sender, BotLoggerEntry entry)
        {
            Application.Current.Dispatcher.Invoke(() =>
            {
                // Append the log message
                logRTB.AppendText(entry.Message + Environment.NewLine, entry.Color);

                // Scroll to the bottom of the log
                try
                {
                    logRTB.SelectionStart = logRTB.TextLength;
                    logRTB.ScrollToCaret();
                }
                catch
                {
                }

                // Recreate the variables list
                variablesRTB.Clear();
                foreach (var variable in vm.Variables)
                {
                    var color = variable.MarkedForCapture ? LogColors.Tomato : LogColors.Yellow;
                    variablesRTB.AppendText($"{variable.Name} ({variable.Type}) = {variable.AsString()}", color);
                }

                // Update the HTML view
                if (entry.CanViewAsHtml)
                {
                    htmlViewer.HTML = entry.Message;
                }
            });
        }
Пример #2
0
 private void OnNewEntry(object sender, BotLoggerEntry entry) => NewLogEntry?.Invoke(this, entry);
Пример #3
0
 private void OnNewEntry(object sender, BotLoggerEntry entry)
 => loggerViewer?.Refresh();