#include "turns/adw/toast.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include namespace turns::adw { static_assert(static_cast(Toast::Priority::NORMAL) == ADW_TOAST_PRIORITY_NORMAL); static_assert(static_cast(Toast::Priority::HIGH) == ADW_TOAST_PRIORITY_HIGH); namespace { auto constinit _class = Toast::Class{}; } // namespace auto Toast::Class::init() -> Glib::Class const & { if (!gtype_) { gtype_ = adw_toast_get_type(); } return *this; } auto Toast::Class::wrap_new(GObject * object) -> Glib::ObjectBase * { return new Toast(ADW_TOAST(object)); } Toast::Toast(Glib::ustring const & title) : Glib::ObjectBase{nullptr} , Glib::Object{Glib::ConstructParams{_class.init(), "title", Glib::c_str_or_nullptr(title), nullptr}} { } auto Toast::get_type() -> GType { return _class.init().get_type(); } auto Toast::get_base_type() -> GType { return adw_toast_get_type(); } auto Toast::dismiss() -> void { return adw_toast_dismiss(gobj()); } Toast::Toast(Glib::ConstructParams const & params) : Glib::Object{params} { } Toast::Toast(BaseObjectType * gobj) : Glib::ObjectBase{nullptr} , Glib::Object((GObject *)gobj) { } } // namespace turns::adw namespace Glib { auto wrap(AdwToast * object, bool copy) -> Glib::RefPtr { return Glib::make_refptr_for_instance(dynamic_cast(Glib::wrap_auto(G_OBJECT(object), copy))); } } // namespace Glib