// -----------------------------------------------------------------------
//
// Copyright 2015 MIT Licence. See licence.md for more information.
//
// -----------------------------------------------------------------------
namespace Perspex.Input
{
///
/// Defines the interface for classes that handle access keys for a window.
///
public interface IAccessKeyHandler
{
///
/// Gets or sets the window's main menu.
///
IMainMenu MainMenu { get; set; }
///
/// Sets the owner of the access key handler.
///
/// The owner.
///
/// This method can only be called once, typically by the owner itself on creation.
///
void SetOwner(IInputRoot owner);
///
/// Registers an input element to be associated with an access key.
///
/// The access key.
/// The input element.
void Register(char accessKey, IInputElement element);
///
/// Unregisters the access keys associated with the input element.
///
/// The input element.
void Unregister(IInputElement element);
}
}