mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-26 15:57:56 +01:00
This commit is contained in:
28
Tests/TerminalGuiFluentTesting/GuiTestContext.ContextMenu.cs
Normal file
28
Tests/TerminalGuiFluentTesting/GuiTestContext.ContextMenu.cs
Normal file
@@ -0,0 +1,28 @@
|
||||
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
|
||||
|
||||
namespace TerminalGuiFluentTesting;
|
||||
|
||||
public partial class GuiTestContext
|
||||
{
|
||||
/// <summary>
|
||||
/// Registers a right click handler on the <see cref="LastView"/> added view (or root view) that
|
||||
/// will open the supplied <paramref name="contextMenu"/>.
|
||||
/// </summary>
|
||||
/// <param name="contextMenu"></param>
|
||||
/// <returns></returns>
|
||||
public GuiTestContext WithContextMenu (PopoverMenu? contextMenu)
|
||||
{
|
||||
LastView.MouseEvent += (s, e) =>
|
||||
{
|
||||
if (e.Flags.HasFlag (MouseFlags.Button3Clicked))
|
||||
{
|
||||
// Registering with the PopoverManager will ensure that the context menu is closed when the view is no longer focused
|
||||
// and the context menu is disposed when it is closed.
|
||||
Application.Popover?.Register (contextMenu);
|
||||
contextMenu?.MakeVisible (e.ScreenPosition);
|
||||
}
|
||||
};
|
||||
|
||||
return this;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user