/// <summary> /// Handles markdown format for Discord & GitHub format /// </summary> /// <param name="box">The box that is being outputted</param> /// <param name="list">Contents of the changelog</param> private void MarkdownFormat(MetroTextBox box, IEnumerable <string> list) { box.AppendText("**UPDATE**"); Skip(box); Skip(box); box.AppendText(uxUpdateTitleBox.Text); Skip(box); Skip(box); OutputMethod(list, box, "**", "**"); Skip(box); }
public override void Write(string value) { textbox.Invoke((MethodInvoker) delegate { textbox.AppendText(value); }); }
public override void Write(char value) { base.Write(value); _buffer.Append(value); if (value == '\n' || value == '\r') { if (_output.IsHandleCreated) { _output.Invoke(new MethodInvoker(() => _output.AppendText(_buffer.ToString()))); } else if (!_output.InvokeRequired) { _output.AppendText(_buffer.ToString()); } _buffer = new StringBuilder(); } }
/// <summary> /// Handles looping through the lines and generating the output /// </summary> /// <param name="list">The list of lines</param> /// <param name="box">The box to modify the output of</param> /// <param name="startText">The start text before headers</param> /// <param name="endText">The end text after headers</param> private static void OutputMethod(IEnumerable <string> list, MetroTextBox box, string startText, string endText) { foreach (string line in list) { if (string.IsNullOrWhiteSpace(line)) { Skip(box); } else { if (IsHeader(line)) { box.AppendText(startText + line + endText); Skip(box); } else { box.AppendText($"- {line}"); Skip(box); } } } }
/// <summary> /// Easy method to skip lines /// </summary> /// <param name="box"></param> private static void Skip(MetroTextBox box) { box.AppendText(Environment.NewLine); }
public override void Write(string msg) { _tBox.Parent.Invoke(new MethodInvoker(delegate() { _tBox.AppendText(msg); })); }