From 95dc7e43a23300b3eacbb7e1e0a9d4f31a8bd5a0 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Thu, 24 Apr 2025 20:12:26 +0200 Subject: adw: extract class definitions --- adw/include/adwaitamm/toast.hpp | 46 ++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'adw/include/adwaitamm/toast.hpp') diff --git a/adw/include/adwaitamm/toast.hpp b/adw/include/adwaitamm/toast.hpp index 2c4718b..4aee04d 100644 --- a/adw/include/adwaitamm/toast.hpp +++ b/adw/include/adwaitamm/toast.hpp @@ -21,47 +21,40 @@ #include #undef _ADWAITA_INSIDE -using AdwToast = struct _AdwToast; - namespace Adwaita { + struct Toast_Class; + enum struct ToastPriority; struct Toast final : Glib::Object, helpers::gobj_mixin { - struct Class : Glib::Class - { - using BaseClassParent = GObjectClass; - using BaseClassType = AdwToastClass; - using BaseObjectType = AdwToast; - using CppClassParent = struct Glib::Object_Class; - using CppObjectType = Toast; - - auto init() -> Glib::Class const &; - auto static class_init_function(void * gclass, void * data) -> void; - auto static wrap_new(GObject * object) -> Glib::ObjectBase *; - }; - - using BaseObjectType = Class::BaseObjectType; - using BaseClassType = Class::BaseClassType; - using CppObjectType = Class::CppObjectType; - using CppClassType = Class; - - using helpers::gobj_mixin::gobj; - using helpers::gobj_mixin::gobj_copy; + using BaseObjectType = AdwToast; + using BaseClassType = AdwToastClass; + using CppObjectType = Toast; + using CppClassType = Toast_Class; +#pragma mark - Special Member Functions Toast(Toast const & other) = delete; Toast(Toast && other) noexcept = default; auto operator=(Toast const & other) noexcept -> Toast & = delete; auto operator=(Toast && other) noexcept -> Toast & = default; - auto static create(Glib::ustring const & title) -> Glib::RefPtr; +#pragma mark - GObject Support + using helpers::gobj_mixin::gobj; + using helpers::gobj_mixin::gobj_copy; auto static get_type() -> GType; auto static get_base_type() -> GType; +#pragma mark - Factories + auto static create(Glib::ustring const & title) -> Glib::RefPtr; + +#pragma mark - Functions auto dismiss() -> void; + +#pragma mark - Getters auto get_action_name() const -> Glib::ustring; auto get_action_target_value() const -> Glib::VariantBase; auto get_button_label() const -> Glib::ustring; @@ -70,6 +63,8 @@ namespace Adwaita auto get_timeout() const -> unsigned; auto get_title() const -> Glib::ustring; auto get_use_markup() const -> bool; + +#pragma mark - Setters auto set_action_name(Glib::ustring value) -> void; auto set_action_target_value(Glib::VariantBase const & value) -> void; auto set_button_label(Glib::ustring value) -> void; @@ -80,6 +75,7 @@ namespace Adwaita auto set_title(Glib::ustring value) -> void; auto set_use_markup(bool value) -> void; +#pragma mark - Properties auto property_action_name() -> Glib::PropertyProxy; auto property_action_name() const -> Glib::PropertyProxy_ReadOnly; auto property_action_target() -> Glib::PropertyProxy; @@ -97,10 +93,14 @@ namespace Adwaita auto property_use_markup() -> Glib::PropertyProxy; auto property_use_markup() const -> Glib::PropertyProxy_ReadOnly; +#pragma mark - Signals auto signal_button_clicked() -> Glib::SignalProxy; auto signal_dismissed() -> Glib::SignalProxy; protected: + friend Toast_Class; + +#pragma mark - Constructors explicit Toast(Glib::ustring const & title); explicit Toast(Glib::ConstructParams const & params); explicit Toast(BaseObjectType * gobj); -- cgit v1.2.3