/// <summary> /// Writes something using the secondary color /// </summary> /// <param name="sequence">The sequence.</param> /// <param name="text">The text.</param> public virtual void WriteSecondary(IInlineSequence sequence, string text) { sequence.PushColor(ViewModel.Theme.SecondaryTextColor); sequence.AppendText(text); StringBuilder.Append(text); sequence.PopFormatting(); }
public override void GenerateSequence(IInlineSequence sequence) { if (sequence == null) { throw new ArgumentNullException(nameof(sequence)); } sequence.AppendText("\n"); }
/// <summary> /// Generates the sequence. /// </summary> /// <param name="sequence">The sequence.</param> public override void GenerateSequence(IInlineSequence sequence) { if (ViewModel.Parameter is SeparatedSwitch separated) { GenerateSeparatedSwitchSequence(separated, sequence); } else if (ViewModel.Parameter is Switch @switch) { GenerateSwitchSequence(@switch, sequence); } else if (ViewModel.Parameter is Positional positional) { GeneratePositionalSequence(positional, sequence); } }
public override void GenerateSequence (IInlineSequence sequence) { if (sequence == null) throw new ArgumentNullException(nameof(sequence)); if (Color != null) sequence.PushColor(Color.Value); if (Background != null) sequence.PushBackground(Background.Value); if (Text != null) { sequence.AppendText(Text); } else { foreach (InlineElement child in VisualChildren.Cast<InlineElement>()) child.GenerateSequence(sequence); } if (Background != null) sequence.PopFormatting(); if (Color != null) sequence.PopFormatting(); }
public override void GenerateSequence(IInlineSequence sequence) { if (sequence == null) { throw new ArgumentNullException(nameof(sequence)); } if (Color != null) { sequence.PushColor(Color.Value); } if (Background != null) { sequence.PushBackground(Background.Value); } if (Text != null) { sequence.AppendText(Text); } else { foreach (InlineElement child in VisualChildren.Cast <InlineElement>()) { child.GenerateSequence(sequence); } } if (Background != null) { sequence.PopFormatting(); } if (Color != null) { sequence.PopFormatting(); } }
/// <summary> /// Generates the switch sequence. /// </summary> /// <param name="switch">The switch.</param> /// <param name="seq">The seq.</param> public virtual void GenerateSwitchSequence(Switch @switch, IInlineSequence seq) { WritePrimary(seq, "["); if (@switch.Letter.HasValue && @switch.Word.IsNotNullOrWhiteSpace()) { WriteSecondary(seq, $"{@switch.LetterToken}{@switch.Letter}"); WritePrimary(seq, ", "); WriteSecondary(seq, $"{@switch.WordToken}{@switch.Word}"); } else if (@switch.Letter.HasValue) { WriteSecondary(seq, $"{@switch.LetterToken}{@switch.Letter}"); } else if (@switch.Word.IsNotNullOrWhiteSpace()) { WriteSecondary(seq, $"{@switch.WordToken}{@switch.Word}"); } if (ViewModel.Parameter.MaxAllowed > 1) { WriteSecondary(seq, $" {GenerateValueAlias(@switch)}"); } WritePrimary(seq, "]"); }
public abstract void GenerateSequence([NotNull] IInlineSequence sequence);
public override void GenerateSequence (IInlineSequence sequence) { if (sequence == null) throw new ArgumentNullException(nameof(sequence)); sequence.AppendText("\n"); }
public virtual void GenerateSeparatedSwitchSequence(SeparatedSwitch separated, IInlineSequence seq) { WritePrimary(seq, "["); if (separated.Letter.HasValue && separated.Word.IsNotNullOrWhiteSpace()) { WriteSecondary(seq, $"{separated.LetterToken}{separated.Letter}"); WritePrimary(seq, ", "); WriteSecondary(seq, $"{separated.WordToken}{separated.Word}"); } else if (separated.Letter.HasValue) { WriteSecondary(seq, $"{separated.LetterToken}{separated.Letter}"); } else if (separated.Word.IsNotNullOrWhiteSpace()) { WriteSecondary(seq, $"{separated.WordToken}{separated.Word}"); } WriteSecondary(seq, $":{GenerateValueAlias(separated)}"); WritePrimary(seq, "]"); }
/// <summary> /// Generates the positional sequence. /// </summary> /// <param name="positional">The positional.</param> /// <param name="seq">The seq.</param> public virtual void GeneratePositionalSequence(Positional positional, IInlineSequence seq) { WritePrimary(seq, "["); WriteSecondary(seq, GenerateValueAlias(positional)); WritePrimary(seq, "]"); }