VisualRoleViewer.cs 861 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #nullable enable
  2. using Terminal.Gui;
  3. namespace UICatalog.Scenarios;
  4. public class VisualRoleViewer : View
  5. {
  6. public VisualRoleViewer ()
  7. {
  8. CanFocus = false;
  9. Height = Dim.Auto (DimAutoStyle.Text);
  10. Width = Dim.Auto (DimAutoStyle.Text);
  11. }
  12. private VisualRole? _role;
  13. public VisualRole? Role
  14. {
  15. get => _role;
  16. set
  17. {
  18. _role = value;
  19. Text = $"{Role?.ToString ()?.PadRight (10)} {SchemeName}";
  20. }
  21. }
  22. /// <inheritdoc/>
  23. protected override bool OnGettingAttributeForRole (in VisualRole role, ref Attribute currentAttribute)
  24. {
  25. if (role != Role)
  26. {
  27. currentAttribute = GetAttributeForRole (Role!.Value);
  28. return true;
  29. }
  30. return base.OnGettingAttributeForRole (in role, ref currentAttribute);
  31. }
  32. }