namespace Terminal.Gui.Views;
///
/// A . Supports a simple API for adding s
/// across the bottom. By default, the is centered and used the
/// scheme.
///
///
/// To run the modally, create the , and pass it to
/// . This will execute the dialog until
/// it terminates via the (`Esc` by default),
/// or when one of the views or buttons added to the dialog calls
/// .
///
public class Dialog : Window
{
/// The default for .
/// This property can be set in a Theme.
[ConfigurationProperty (Scope = typeof (ThemeScope))]
public static Alignment DefaultButtonAlignment { get; set; } = Alignment.End;
/// The default for .
/// This property can be set in a Theme.
[ConfigurationProperty (Scope = typeof (ThemeScope))]
public static AlignmentModes DefaultButtonAlignmentModes { get; set; } = AlignmentModes.StartToEnd | AlignmentModes.AddSpaceBetweenItems;
///
/// Defines the default minimum Dialog width, as a percentage of the container width. Can be configured via
/// .
///
[ConfigurationProperty (Scope = typeof (ThemeScope))]
public static int DefaultMinimumWidth { get; set; } = 80;
///
/// Defines the default minimum Dialog height, as a percentage of the container width. Can be configured via
/// .
///
[ConfigurationProperty (Scope = typeof (ThemeScope))]
public static int DefaultMinimumHeight { get; set; } = 80;
///
/// Gets or sets whether all s are shown with a shadow effect by default.
///
[ConfigurationProperty (Scope = typeof (ThemeScope))]
public new static ShadowStyle DefaultShadow { get; set; } = ShadowStyle.Transparent;
///
/// Defines the default border styling for . Can be configured via
/// .
///
[ConfigurationProperty (Scope = typeof (ThemeScope))]
public new static LineStyle DefaultBorderStyle { get; set; } = LineStyle.Heavy;
private readonly List