public void WriteColoredText(string ColoredText) { lock (locker) { ConsoleTextBox.BeginInvoke(tb => { var paragraph = new Paragraph(); foreach (var part in TextColor.toParts(ColoredText)) { //Foreground="{DynamicResource MahApps.Brushes.Text}" var run = new Run(part.text); if (part.textColor.ToTextColor() != NormalTextColor.ToTextColor()) { run.Foreground = new SolidColorBrush(System.Windows.Media.Color.FromArgb(part.textColor.A, part.textColor.R, part.textColor.G, part.textColor.B)); } paragraph.Inlines.Add(run); paragraph.LineHeight = 1; //this.AppendText(part.text, part.textColor, false); } tb.Document.Blocks.Add(paragraph); tb.ScrollToEnd(); }); } }
public void WriteLineToConsole(String line) { if (!(ConsoleTextBox is null)) { ConsoleTextBox.BeginInvoke((MethodInvoker) delegate { ConsoleTextBox.AppendText(line + "\n"); }); } }
private void DoAutoScroll() { if (AutoScrollMenuItem.Checked) { ConsoleTextBox.BeginInvoke((MethodInvoker) delegate { ConsoleTextBox.SelectionStart = ConsoleTextBox.Text.Length; ConsoleTextBox.ScrollToCaret(); }); } }
private void ConfigOnPropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "fontSize") { ConsoleTextBox.BeginInvoke(tb => { tb.Document.FontSize = config.fontSize; //foreach (var block in tb.Document.Blocks) //{ // block.FontSize = config.fontSize; //} }, DispatcherPriority.Input); } }
public void WriteLineToConsole(String line) { if (!(ConsoleTextBox is null)) { lock (locker) { ConsoleTextBox.BeginInvoke((MethodInvoker) delegate { ConsoleTextBox.SelectionStart = ConsoleTextBox.Text.Length; ConsoleTextBox.AppendText(line + "\n"); }); } DoAutoScroll(); } }
public void AppendColoredTextToConsole(String line, Color color, bool addNewLine = false) { if (!(ConsoleTextBox is null)) { ConsoleTextBox.BeginInvoke((MethodInvoker) delegate { ConsoleTextBox.SuspendLayout(); ConsoleTextBox.SelectionColor = color; ConsoleTextBox.AppendText(addNewLine ? $"{line}{Environment.NewLine}" : line); ConsoleTextBox.ScrollToCaret(); ConsoleTextBox.ResumeLayout(); }); } }
public void AppendColoredTextToConsole(string line, Color color, bool addNewLine = false) { if (!(ConsoleTextBox is null)) { ConsoleTextBox.BeginInvoke((MethodInvoker) delegate { lock (locker) { ConsoleTextBox.SelectionStart = ConsoleTextBox.Text.Length; ConsoleTextBox.SuspendLayout(); ConsoleTextBox.SelectionColor = color; ConsoleTextBox.SelectedText = addNewLine ? $"{line}{Environment.NewLine}" : line; //ConsoleTextBox.ScrollToCaret(); ConsoleTextBox.ResumeLayout(); } }); } }
public void WriteLineFormatted(string str, bool acceptnewlines = true) { if (!(ConsoleTextBox is null)) { ConsoleTextBox.BeginInvoke((MethodInvoker) delegate { if (!String.IsNullOrEmpty(str)) { if (!acceptnewlines) { str = str.Replace('\n', ' '); } string[] parts = str.Split(new char[] { '§' }); if (parts[0].Length > 0) { AppendColoredTextToConsole(parts[0], Color.White, false); } for (int i = 1; i < parts.Length; i++) { Color charColor = Color.White; if (parts[i].Length > 0) { switch (parts[i][0]) { case '0': charColor = Color.Gray; break; //Should be Black but Black is non-readable on a black background case '1': charColor = Color.RoyalBlue; break; case '2': charColor = Color.Green; break; case '3': charColor = Color.DarkCyan; break; case '4': charColor = Color.DarkRed; break; case '5': charColor = Color.MediumPurple; break; case '6': charColor = Color.DarkKhaki; break; case '7': charColor = Color.Gray; break; case '8': charColor = Color.DarkGray; break; case '9': charColor = Color.LightBlue; break; case 'a': charColor = Color.Lime; break; case 'b': charColor = Color.Cyan; break; case 'c': charColor = Color.Red; break; case 'd': charColor = Color.Magenta; break; case 'e': charColor = Color.Yellow; break; case 'f': charColor = Color.White; break; case 'o': charColor = Color.Orange; break; case 'n': charColor = Color.SaddleBrown; break; case 'r': charColor = Color.Gray; break; } if (parts[i].Length > 1) { AppendColoredTextToConsole(parts[i].Substring(1, parts[i].Length - 1), charColor, false); } } } } AppendColoredTextToConsole("", Color.White, true); }); } }