using Gtk; namespace Pilz.UI.Gtk.Dialogs; public class GtkContent : Box { public GtkDialogBase Dialog { get; internal set; } = null!; public ResponseType Result { get; set; } = ResponseType.Cancel; public bool RegisterDialogAccept { get; set; } = true; public bool RegisterDialogCancel { get; set; } = true; protected GtkContent() { } protected GtkContent(nint raw) : base(raw) { } protected void Close(ResponseType result) { Result = result; Dialog.Destroy(); } protected virtual bool ValidateOK() { return true; } protected virtual void Button_Confirm_Clicked(object? sender, EventArgs e) { if (ValidateOK()) Close(ResponseType.Ok); } protected virtual void Button_Cancel_Clicked(object? sender, EventArgs e) { Close(ResponseType.Cancel); } }