Esempio n. 1
0
        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();
                });
            }
        }
Esempio n. 2
0
 public void WriteLineToConsole(String line)
 {
     if (!(ConsoleTextBox is null))
     {
         ConsoleTextBox.BeginInvoke((MethodInvoker) delegate {
             ConsoleTextBox.AppendText(line + "\n");
         });
     }
 }
Esempio n. 3
0
 private void DoAutoScroll()
 {
     if (AutoScrollMenuItem.Checked)
     {
         ConsoleTextBox.BeginInvoke((MethodInvoker) delegate
         {
             ConsoleTextBox.SelectionStart = ConsoleTextBox.Text.Length;
             ConsoleTextBox.ScrollToCaret();
         });
     }
 }
Esempio n. 4
0
 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);
     }
 }
Esempio n. 5
0
 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();
     }
 }
Esempio n. 6
0
 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();
         });
     }
 }
Esempio n. 7
0
 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();
             }
         });
     }
 }
Esempio n. 8
0
        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);
                });
            }
        }