浏览代码

Fixed notificaiotn issue

Tig 1 年之前
父节点
当前提交
bb5f10ecee

+ 3 - 0
Terminal.Gui/View/Adornment/Border.cs

@@ -198,6 +198,9 @@ public class Border : Adornment
 
     private bool _showTitle = true;
 
+    /// <summary>
+    ///     Gets or sets whether the title should be shown. The default is <see langword="true"/>.
+    /// </summary>
     public bool ShowTitle
     {
         get => _showTitle;

+ 2 - 2
Terminal.Gui/View/ViewDrawing.cs

@@ -339,7 +339,7 @@ public partial class View
     public virtual Attribute GetFocusColor ()
     {
         ColorScheme cs = ColorScheme;
-        if (ColorScheme is null)
+        if (cs is null)
         {
             cs = new ();
         }
@@ -357,7 +357,7 @@ public partial class View
     {
         ColorScheme cs = ColorScheme;
 
-        if (ColorScheme is null)
+        if (cs is null)
         {
             cs = new ();
         }

+ 3 - 3
Terminal.Gui/Views/Menu/MenuBar.cs

@@ -485,12 +485,12 @@ public class MenuBar : View
 
             if (i == _selected && IsMenuOpen)
             {
-                hotColor = i == _selected ? ColorScheme.HotFocus : ColorScheme.HotNormal;
-                normalColor = i == _selected ? ColorScheme.Focus : GetNormalColor ();
+                hotColor = i == _selected ? ColorScheme.HotFocus : GetHotNormalColor ();
+                normalColor = i == _selected ? GetFocusColor() : GetNormalColor ();
             }
             else
             {
-                hotColor = ColorScheme.HotNormal;
+                hotColor = GetHotNormalColor ();
                 normalColor = GetNormalColor ();
             }
 

+ 9 - 0
UICatalog/Scenarios/AdornmentEditor.cs

@@ -66,9 +66,18 @@ public class AdornmentEditor : View
 
                                           };
             }
+
+            OnAdornmentChanged ();
         }
     }
 
+    public event EventHandler<EventArgs> AdornmentChanged;
+
+    public void OnAdornmentChanged ()
+    {
+        AdornmentChanged?.Invoke (this, EventArgs.Empty);
+    }
+
     private Buttons.NumericUpDown<int> _topEdit;
     private Buttons.NumericUpDown<int> _leftEdit;
     private Buttons.NumericUpDown<int> _bottomEdit;

+ 18 - 7
UICatalog/Scenarios/BorderEditor.cs

@@ -7,10 +7,21 @@ namespace UICatalog.Scenarios;
 
 public class BorderEditor : AdornmentEditor
 {
+    private CheckBox _ckbTitle;
+    private RadioGroup _rbBorderStyle;
+
     public BorderEditor ()
     {
         Title = "_Border";
         Initialized += BorderEditor_Initialized;
+        AdornmentChanged += BorderEditor_AdornmentChanged;
+
+    }
+
+    private void BorderEditor_AdornmentChanged (object sender, EventArgs e)
+    {
+        _ckbTitle.Checked = ((Border)AdornmentToEdit).ShowTitle;
+        _rbBorderStyle.SelectedItem = (int)((Border)AdornmentToEdit).LineStyle;
     }
 
     private void BorderEditor_Initialized (object sender, EventArgs e)
@@ -18,7 +29,7 @@ public class BorderEditor : AdornmentEditor
 
         List<LineStyle> borderStyleEnum = Enum.GetValues (typeof (LineStyle)).Cast<LineStyle> ().ToList ();
 
-        var rbBorderStyle = new RadioGroup
+        _rbBorderStyle = new RadioGroup
         {
             X = 0,
             Y = Pos.Bottom (Subviews [^1]),
@@ -30,14 +41,14 @@ public class BorderEditor : AdornmentEditor
             Enabled = AdornmentToEdit is { },
             RadioLabels = borderStyleEnum.Select (e => e.ToString ()).ToArray ()
         };
-        Add (rbBorderStyle);
+        Add (_rbBorderStyle);
 
-        rbBorderStyle.SelectedItemChanged += OnRbBorderStyleOnSelectedItemChanged;
+        _rbBorderStyle.SelectedItemChanged += OnRbBorderStyleOnSelectedItemChanged;
 
-        var ckbTitle = new CheckBox
+        _ckbTitle = new CheckBox
         {
             X = 0,
-            Y = Pos.Bottom (rbBorderStyle),
+            Y = Pos.Bottom (_rbBorderStyle),
 
             Checked = true,
             SuperViewRendersLineCanvas = true,
@@ -46,8 +57,8 @@ public class BorderEditor : AdornmentEditor
         };
 
 
-        ckbTitle.Toggled += OnCkbTitleOnToggled;
-        Add (ckbTitle);
+        _ckbTitle.Toggled += OnCkbTitleOnToggled;
+        Add (_ckbTitle);
 
         return;