private void btnClearAll_Click(object sender, RoutedEventArgs e) { var key = cmbPlugins.SelectedValue as string; var selection = key == string.Empty ? Substrate.AllPlugins : new[] { Substrate.GetPlugin(key) }; foreach (var p in selection) { p.ClearLog(); } cmbPlugins_SelectionChanged(null, null); }
private void cmbPlugins_SelectionChanged(object sender, SelectionChangedEventArgs e) { var key = cmbPlugins.SelectedValue as string; var selection = key == string.Empty ? Substrate.AllPlugins : new[] { Substrate.GetPlugin(key) }; var output = selection.SelectMany(p => p.logEntries) .OrderBy(p => p.Timestamp) .Select(p => p.Message); txtOutput.Clear(); if (output.Any()) { txtOutput.AppendText(string.Join(Environment.NewLine, output) + Environment.NewLine); } txtOutput.CaretIndex = txtOutput.Text.Length; txtOutput.ScrollToEnd(); }