mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
Merge branch 'v2_develop' into v2_2491-Overlapped
This commit is contained in:
@@ -351,7 +351,7 @@ public class MenuBar : View, IDesignable
|
||||
/// <summary>Virtual method that will invoke the <see cref="MenuOpened"/> event if it's defined.</summary>
|
||||
public virtual void OnMenuOpened ()
|
||||
{
|
||||
MenuItem? mi;
|
||||
MenuItem? mi = null;
|
||||
MenuBarItem? parent;
|
||||
|
||||
if (OpenCurrentMenu?.BarItems?.Children is { Length: > 0 }
|
||||
@@ -368,7 +368,11 @@ public class MenuBar : View, IDesignable
|
||||
else
|
||||
{
|
||||
parent = _openMenu?.BarItems;
|
||||
mi = parent?.Children?.Length > 0 ? parent.Children [_openMenu!._currentChild] : null;
|
||||
|
||||
if (OpenCurrentMenu?._currentChild > -1)
|
||||
{
|
||||
mi = parent?.Children?.Length > 0 ? parent.Children [_openMenu!._currentChild] : null;
|
||||
}
|
||||
}
|
||||
|
||||
MenuOpened?.Invoke (this, new (parent, mi));
|
||||
|
||||
@@ -2241,6 +2241,7 @@ wo
|
||||
[AutoInitShutdown]
|
||||
public void MenuOpened_On_Disabled_MenuItem ()
|
||||
{
|
||||
MenuItem parent = null;
|
||||
MenuItem miCurrent = null;
|
||||
Menu mCurrent = null;
|
||||
|
||||
@@ -2273,6 +2274,7 @@ wo
|
||||
|
||||
menu.MenuOpened += (s, e) =>
|
||||
{
|
||||
parent = e.Parent;
|
||||
miCurrent = e.MenuItem;
|
||||
mCurrent = menu._openMenu;
|
||||
};
|
||||
@@ -2288,6 +2290,7 @@ wo
|
||||
)
|
||||
);
|
||||
Assert.True (menu.IsMenuOpen);
|
||||
Assert.Equal ("_File", parent.Title);
|
||||
Assert.Equal ("_File", miCurrent.Parent.Title);
|
||||
Assert.Equal ("_New", miCurrent.Title);
|
||||
|
||||
@@ -2297,6 +2300,7 @@ wo
|
||||
)
|
||||
);
|
||||
Assert.True (menu.IsMenuOpen);
|
||||
Assert.Equal ("_File", parent.Title);
|
||||
Assert.Equal ("_File", miCurrent.Parent.Title);
|
||||
Assert.Equal ("_New", miCurrent.Title);
|
||||
|
||||
@@ -2306,6 +2310,7 @@ wo
|
||||
)
|
||||
);
|
||||
Assert.True (menu.IsMenuOpen);
|
||||
Assert.Equal ("_File", parent.Title);
|
||||
Assert.Equal ("_File", miCurrent.Parent.Title);
|
||||
Assert.Equal ("_New", miCurrent.Title);
|
||||
|
||||
@@ -2315,6 +2320,7 @@ wo
|
||||
)
|
||||
);
|
||||
Assert.True (menu.IsMenuOpen);
|
||||
Assert.Equal ("_File", parent.Title);
|
||||
Assert.Equal ("_File", miCurrent.Parent.Title);
|
||||
Assert.Equal ("_Save", miCurrent.Title);
|
||||
|
||||
@@ -2331,18 +2337,20 @@ wo
|
||||
Assert.True (menu.IsMenuOpen);
|
||||
|
||||
// The _New doc is enabled but the sub-menu isn't enabled. Is show but can't be selected and executed
|
||||
Assert.Equal ("_New", parent.Title);
|
||||
Assert.Equal ("_New", miCurrent.Parent.Title);
|
||||
Assert.Equal ("_New doc", miCurrent.Title);
|
||||
|
||||
Assert.True (mCurrent.NewKeyDownEvent (Key.CursorDown));
|
||||
Assert.True (menu.IsMenuOpen);
|
||||
Assert.Equal ("_File", parent.Title);
|
||||
Assert.Equal ("_File", miCurrent.Parent.Title);
|
||||
Assert.Equal ("_Save", miCurrent.Title);
|
||||
|
||||
Assert.True (mCurrent.NewKeyDownEvent (Key.CursorUp));
|
||||
Assert.True (menu.IsMenuOpen);
|
||||
Assert.Equal ("_File", miCurrent.Parent.Title);
|
||||
Assert.Equal ("_New", miCurrent.Title);
|
||||
Assert.Equal ("_File", parent.Title);
|
||||
Assert.Null (miCurrent);
|
||||
|
||||
// close the menu
|
||||
Assert.True (menu.NewKeyDownEvent (menu.Key));
|
||||
|
||||
Reference in New Issue
Block a user