#nullable enable
namespace Terminal.Gui;
///
/// An overlapped container for other views with a border and optional title.
///
///
///
/// Window has set to ,
/// set to , and
/// uses the Base color scheme by default.
///
///
/// To enable Window to be sized and moved by the user, adjust .
///
///
///
public class Window : Toplevel
{
///
/// Initializes a new instance of the class.
///
public Window ()
{
CanFocus = true;
TabStop = TabBehavior.TabGroup;
Arrangement = ViewArrangement.Overlapped;
base.ColorScheme = Colors.ColorSchemes ["Base"]; // TODO: make this a theme property
BorderStyle = DefaultBorderStyle;
base.ShadowStyle = DefaultShadow;
}
///
/// Gets or sets whether all s are shown with a shadow effect by default.
///
[SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
public static ShadowStyle DefaultShadow { get; set; } = ShadowStyle.None;
// TODO: enable this
/////
///// The default for 's border. The default is .
/////
/////
///// This property can be set in a Theme to change the default for all s.
/////
/////[SerializableConfigurationProperty (Scope = typeof (ThemeScope)), JsonConverter (typeof (JsonStringEnumConverter))]
////public static ColorScheme DefaultColorScheme { get; set; } = Colors.ColorSchemes ["Base"];
///
/// The default for 's border. The default is
/// .
///
///
/// This property can be set in a Theme to change the default for all
/// s.
///
[SerializableConfigurationProperty (Scope = typeof (ThemeScope))]
public static LineStyle DefaultBorderStyle { get; set; } = LineStyle.Single;
}