diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-04-04 16:31:38 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-04-04 16:31:38 +0200 |
| commit | 7dc39d8f939b431e9f926622819fafb306956cc6 (patch) | |
| tree | 72e3e89bc5c0f41935dbfb0c2253f71f536bf4ce /include/adwaitamm/alertdialog.hpp | |
| parent | 079b0cf04d38bf0c96604e55276c94c13d996531 (diff) | |
| download | libadwaitamm-7dc39d8f939b431e9f926622819fafb306956cc6.tar.xz libadwaitamm-7dc39d8f939b431e9f926622819fafb306956cc6.zip | |
adw: implement required AlertDialog functions
Diffstat (limited to 'include/adwaitamm/alertdialog.hpp')
| -rw-r--r-- | include/adwaitamm/alertdialog.hpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/include/adwaitamm/alertdialog.hpp b/include/adwaitamm/alertdialog.hpp index 9da8488..8608cc6 100644 --- a/include/adwaitamm/alertdialog.hpp +++ b/include/adwaitamm/alertdialog.hpp @@ -10,6 +10,9 @@ #include <glibmm/refptr.h> #include <glibmm/ustring.h> +#include <giomm/asyncresult.h> +#include <giomm/cancellable.h> + #include <gtkmm/widget.h> #include <glib-object.h> @@ -19,8 +22,6 @@ using AdwAlertDialogClass = struct _AdwAlertDialogClass; namespace Adwaita { - struct Dialog_Class; - struct AlertDialog : Dialog, helpers::gobj_mixin<AlertDialog, AdwAlertDialog> { @@ -37,6 +38,13 @@ namespace Adwaita auto static wrap_new(GObject * object) -> Glib::ObjectBase *; }; + enum struct ResponseAppearance : int + { + _default, + suggested, + destructive, + }; + using BaseObjectType = Class::BaseObjectType; using BaseClassType = Class::BaseClassType; using CppObjectType = Class::CppObjectType; @@ -52,9 +60,17 @@ namespace Adwaita auto operator=(AlertDialog const & other) noexcept -> AlertDialog & = delete; auto operator=(AlertDialog && other) noexcept -> AlertDialog & = default; + auto static create(Glib::ustring heading, Glib::ustring body) -> Glib::RefPtr<AlertDialog>; auto static get_type() -> GType; auto static get_base_type() -> GType; + auto add_response(Glib::ustring id, Glib::ustring label) -> void; + auto choose(Gtk::Widget & parent, Glib::RefPtr<Gio::Cancellable> const & cancellable, Gio::SlotAsyncReady const & slot) -> void; + auto choose_finish(Glib::RefPtr<Gio::AsyncResult> const & result) -> Glib::ustring; + auto set_close_response(Glib::ustring id) -> void; + auto set_default_response(Glib::ustring id) -> void; + auto set_response_appearance(Glib::ustring id, ResponseAppearance value) -> void; + protected: explicit AlertDialog(Glib::ConstructParams const & params); explicit AlertDialog(BaseObjectType * gobj); |
