#nullable enable
namespace Terminal.Gui;
public static partial class Application // Navigation stuff
{
///
/// Gets the instance for the current .
///
public static ApplicationNavigation? Navigation { get; internal set; }
private static Key _nextTabGroupKey = Key.F6; // Resources/config.json overrides
private static Key _nextTabKey = Key.Tab; // Resources/config.json overrides
private static Key _prevTabGroupKey = Key.F6.WithShift; // Resources/config.json overrides
private static Key _prevTabKey = Key.Tab.WithShift; // Resources/config.json overrides
/// Alternative key to navigate forwards through views. Ctrl+Tab is the primary key.
[SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
public static Key NextTabGroupKey
{
get => _nextTabGroupKey;
set
{
if (_nextTabGroupKey != value)
{
ReplaceKey (_nextTabGroupKey, value);
_nextTabGroupKey = value;
}
}
}
/// Alternative key to navigate forwards through views. Ctrl+Tab is the primary key.
[SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
public static Key NextTabKey
{
get => _nextTabKey;
set
{
if (_nextTabKey != value)
{
ReplaceKey (_nextTabKey, value);
_nextTabKey = value;
}
}
}
///
/// Raised when the user releases a key.
///
/// Set to to indicate the key was handled and to prevent
/// additional processing.
///
///
///
/// All drivers support firing the event. Some drivers (Curses) do not support firing the
/// and events.
/// Fired after .
///
public static event EventHandler? KeyUp;
/// Alternative key to navigate backwards through views. Shift+Ctrl+Tab is the primary key.
[SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
public static Key PrevTabGroupKey
{
get => _prevTabGroupKey;
set
{
if (_prevTabGroupKey != value)
{
ReplaceKey (_prevTabGroupKey, value);
_prevTabGroupKey = value;
}
}
}
/// Alternative key to navigate backwards through views. Shift+Ctrl+Tab is the primary key.
[SerializableConfigurationProperty (Scope = typeof (SettingsScope))]
public static Key PrevTabKey
{
get => _prevTabKey;
set
{
if (_prevTabKey != value)
{
ReplaceKey (_prevTabKey, value);
_prevTabKey = value;
}
}
}
}