feat: re-organize file, add IsCloseButtonVisible option.

This commit is contained in:
rabbitism
2024-02-03 20:07:39 +08:00
parent 96ca0d9075
commit 39457f9724
9 changed files with 87 additions and 34 deletions

View File

@@ -0,0 +1,11 @@
namespace Ursa.Controls;
public enum DialogButton
{
None,
OK,
OKCancel,
YesNo,
YesNoCancel,
}

View File

@@ -0,0 +1,11 @@
namespace Ursa.Controls;
public enum DialogMode
{
Info,
Warning,
Error,
Question,
None,
Success,
}

View File

@@ -0,0 +1,29 @@
using Avalonia;
using Avalonia.Controls;
namespace Ursa.Controls;
public class DialogOptions
{
public static DialogOptions Default { get; } = new DialogOptions();
/// <summary>
/// The Startup Location of DialogWindow. Default is <see cref="WindowStartupLocation.CenterOwner"/>
/// </summary>
public WindowStartupLocation StartupLocation { get; set; } = WindowStartupLocation.CenterOwner;
/// <summary>
/// The Position of DialogWindow startup location if <see cref="StartupLocation"/> is <see cref="WindowStartupLocation.Manual"/>
/// </summary>
public PixelPoint? Position { get; set; }
/// <summary>
/// Title of DialogWindow, Default is null
/// </summary>
public string? Title { get; set; }
/// <summary>
/// DialogWindow's Mode, Default is <see cref="DialogMode.None"/>
/// </summary>
public DialogMode Mode { get; set; } = DialogMode.None;
public DialogButton Button { get; set; } = DialogButton.OKCancel;
public bool IsCloseButtonVisible { get; set; } = true;
}

View File

@@ -0,0 +1,10 @@
namespace Ursa.Controls;
public enum DialogResult
{
Cancel,
No,
None,
OK,
Yes,
}

View File

@@ -0,0 +1,28 @@
namespace Ursa.Controls;
public enum HorizontalPosition
{
Left,
Center,
Right
}
public enum VerticalPosition
{
Top,
Center,
Bottom
}
public class OverlayDialogOptions
{
public bool CanClickOnMaskToClose { get; set; } = false;
public HorizontalPosition HorizontalAnchor { get; set; } = HorizontalPosition.Center;
public VerticalPosition VerticalAnchor { get; set; } = VerticalPosition.Center;
public double? HorizontalOffset { get; set; } = null;
public double? VerticalOffset { get; set; } = null;
public DialogMode Mode { get; set; } = DialogMode.None;
public DialogButton Buttons { get; set; } = DialogButton.OKCancel;
public string? Title { get; set; } = null;
public bool IsCloseButtonVisible { get; set; } = true;
}