From 8428ea9d6b0e44b1dc3f27aa4cd95f97a5b486dc Mon Sep 17 00:00:00 2001 From: Steven Kirk Date: Mon, 22 May 2023 11:51:22 +0200 Subject: [PATCH] Make IMainMenu and IAccessKeyHandler internal. --- src/Avalonia.Base/Input/IAccessKeyHandler.cs | 3 +-- src/Avalonia.Base/Input/IInputRoot.cs | 5 ----- src/Avalonia.Base/Input/IMainMenu.cs | 5 +---- src/Avalonia.Controls/Menu.cs | 2 +- src/Avalonia.Controls/MenuItemAccessKeyHandler.cs | 2 +- src/Avalonia.Controls/Primitives/AccessText.cs | 2 +- src/Avalonia.Controls/TopLevel.cs | 2 +- tests/Avalonia.UnitTests/TestRoot.cs | 2 -- 8 files changed, 6 insertions(+), 17 deletions(-) diff --git a/src/Avalonia.Base/Input/IAccessKeyHandler.cs b/src/Avalonia.Base/Input/IAccessKeyHandler.cs index 93a50968e2..aaad93eb23 100644 --- a/src/Avalonia.Base/Input/IAccessKeyHandler.cs +++ b/src/Avalonia.Base/Input/IAccessKeyHandler.cs @@ -5,8 +5,7 @@ namespace Avalonia.Input /// /// Defines the interface for classes that handle access keys for a window. /// - [Unstable] - public interface IAccessKeyHandler + internal interface IAccessKeyHandler { /// /// Gets or sets the window's main menu. diff --git a/src/Avalonia.Base/Input/IInputRoot.cs b/src/Avalonia.Base/Input/IInputRoot.cs index 0100b22ba7..d0921eea2d 100644 --- a/src/Avalonia.Base/Input/IInputRoot.cs +++ b/src/Avalonia.Base/Input/IInputRoot.cs @@ -8,11 +8,6 @@ namespace Avalonia.Input [NotClientImplementable] public interface IInputRoot : IInputElement { - /// - /// Gets or sets the access key handler. - /// - IAccessKeyHandler AccessKeyHandler { get; } - /// /// Gets or sets the keyboard navigation handler. /// diff --git a/src/Avalonia.Base/Input/IMainMenu.cs b/src/Avalonia.Base/Input/IMainMenu.cs index 0010397c1a..cc1b88d4c3 100644 --- a/src/Avalonia.Base/Input/IMainMenu.cs +++ b/src/Avalonia.Base/Input/IMainMenu.cs @@ -1,15 +1,12 @@ using System; using Avalonia.Interactivity; -using Avalonia.Metadata; -using Avalonia.VisualTree; namespace Avalonia.Input { /// /// Defines the interface for a window's main menu. /// - [NotClientImplementable] - public interface IMainMenu + internal interface IMainMenu { /// /// Gets a value indicating whether the menu is open. diff --git a/src/Avalonia.Controls/Menu.cs b/src/Avalonia.Controls/Menu.cs index 4df423dee8..fe4d42c603 100644 --- a/src/Avalonia.Controls/Menu.cs +++ b/src/Avalonia.Controls/Menu.cs @@ -87,7 +87,7 @@ namespace Avalonia.Controls { base.OnAttachedToVisualTree(e); - var inputRoot = e.Root as IInputRoot; + var inputRoot = e.Root as TopLevel; if (inputRoot?.AccessKeyHandler != null) { diff --git a/src/Avalonia.Controls/MenuItemAccessKeyHandler.cs b/src/Avalonia.Controls/MenuItemAccessKeyHandler.cs index 381f1799d4..e1e7779f17 100644 --- a/src/Avalonia.Controls/MenuItemAccessKeyHandler.cs +++ b/src/Avalonia.Controls/MenuItemAccessKeyHandler.cs @@ -9,7 +9,7 @@ namespace Avalonia.Controls /// /// Handles access keys within a /// - public class MenuItemAccessKeyHandler : IAccessKeyHandler + internal class MenuItemAccessKeyHandler : IAccessKeyHandler { /// /// The registered access keys. diff --git a/src/Avalonia.Controls/Primitives/AccessText.cs b/src/Avalonia.Controls/Primitives/AccessText.cs index c5dbc3000f..2e570e25c7 100644 --- a/src/Avalonia.Controls/Primitives/AccessText.cs +++ b/src/Avalonia.Controls/Primitives/AccessText.cs @@ -86,7 +86,7 @@ namespace Avalonia.Controls.Primitives protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e) { base.OnAttachedToVisualTree(e); - _accessKeys = (e.Root as IInputRoot)?.AccessKeyHandler; + _accessKeys = (e.Root as TopLevel)?.AccessKeyHandler; if (_accessKeys != null && AccessKey != 0) { diff --git a/src/Avalonia.Controls/TopLevel.cs b/src/Avalonia.Controls/TopLevel.cs index f655016769..474735d25b 100644 --- a/src/Avalonia.Controls/TopLevel.cs +++ b/src/Avalonia.Controls/TopLevel.cs @@ -386,7 +386,7 @@ namespace Avalonia.Controls /// /// Gets the access key handler for the window. /// - IAccessKeyHandler IInputRoot.AccessKeyHandler => _accessKeyHandler!; + internal IAccessKeyHandler AccessKeyHandler => _accessKeyHandler!; /// /// Gets or sets the keyboard navigation handler for the window. diff --git a/tests/Avalonia.UnitTests/TestRoot.cs b/tests/Avalonia.UnitTests/TestRoot.cs index 8dabfe2197..80f0cf5406 100644 --- a/tests/Avalonia.UnitTests/TestRoot.cs +++ b/tests/Avalonia.UnitTests/TestRoot.cs @@ -51,8 +51,6 @@ namespace Avalonia.UnitTests public IRenderer Renderer { get; set; } - public IAccessKeyHandler AccessKeyHandler => null; - public IKeyboardNavigationHandler KeyboardNavigationHandler => null; public IFocusManager FocusManager => AvaloniaLocator.Current.GetService();