TextAlignments.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using Terminal.Gui;
  5. namespace UICatalog {
  6. [ScenarioMetadata (Name: "Text Alignment", Description: "Demonstrates text alignment")]
  7. [ScenarioCategory ("Text")]
  8. class TextAlignments : Scenario {
  9. public override void Setup ()
  10. {
  11. int i = 1;
  12. string txt = "Hello world, how are you doing today?";
  13. var alignments = Enum.GetValues (typeof (Terminal.Gui.TextAlignment)).Cast<Terminal.Gui.TextAlignment> ().ToList();
  14. foreach (var alignment in alignments) {
  15. Win.Add (new Label ($"{alignment}:") { Y = ++i });
  16. Win.Add (new Label (txt) { TextAlignment = alignment, Y = i++, Width = Dim.Fill(), ColorScheme = Colors.Dialog });
  17. }
  18. // Demonstrate that wrapping labels are not yet implemented (#352)
  19. txt += "\nSecond line";
  20. Win.Add (new Label ($"Demonstrating multi-line (note wrap is not yet implemented):") { Y = ++i });
  21. foreach (var alignment in alignments) {
  22. Win.Add (new Label ($"{alignment}:") { Y = ++i });
  23. Win.Add (new Label (txt) { TextAlignment = alignment, Y = ++i, Width = Dim.Fill (), Height = 2, ColorScheme = Colors.Dialog });
  24. i += 2;
  25. }
  26. }
  27. }
  28. }