#ifndef TURNS_ADW_ACTION_ROW_HPP #define TURNS_ADW_ACTION_ROW_HPP #include "helpers/gobj_mixin.hpp" #include "turns/adw/helpers/properties.hpp" #include "turns/adw/preferencesrow.hpp" #include #include #include #include using AdwActionRow = struct _AdwActionRow; namespace turns::adw { struct ActionRow : adw::PreferencesRow, helpers::gobj_mixin { struct Class : Glib::Class { using BaseClassParent = AdwPreferencesRowClass; using BaseClassType = struct AdwActionRowClass; using BaseObjectType = AdwActionRow; using CppClassParent = adw::PreferencesRow; using CppObjectType = ActionRow; 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; explicit ActionRow(); ActionRow(ActionRow const & other) = delete; ActionRow(ActionRow && other) noexcept = default; auto operator=(ActionRow const & other) noexcept -> ActionRow & = delete; auto operator=(ActionRow && other) noexcept -> ActionRow & = default; auto static get_type() -> GType; auto static get_base_type() -> GType; auto add_prefix(Gtk::Widget & widget) -> ActionRow &; auto add_suffix(Gtk::Widget & widget) -> ActionRow &; auto remove(Gtk::Widget & widget) -> ActionRow &; auto get_activatable_widget(this auto && self) noexcept; [[deprecated("replaced by add_prefix")]] auto get_icon_name(this auto && self); auto get_subtitle(this auto && self); auto get_subtitle_lines(this auto && self) noexcept; auto get_subtitle_selectable(this auto && self) noexcept; auto get_title_lines(this auto && self) noexcept; auto set_activatable_widget(Gtk::Widget & widget) noexcept -> CppObjectType &; [[deprecated("replaced by add_prefix")]] auto set_icon_name(Glib::ustring const & name) -> CppObjectType &; auto set_subtitle(Glib::ustring const & subtitle) -> CppObjectType &; auto set_subtitle_lines(int subtitle_lines) noexcept -> CppObjectType &; auto set_subtitle_selectable(bool subtitle_selectable) noexcept -> CppObjectType &; auto set_title_lines(int title_lines) noexcept -> CppObjectType &; auto property_activatable_widget(this auto && self); [[deprecated("replaced by add_prefix")]] auto property_icon_name(this auto && self); auto property_subtitle(this auto && self); auto property_subtitle_lines(this auto && self); auto property_subtitle_selectable(this auto && self); auto property_title_lines(this auto && self); protected: explicit ActionRow(Glib::ConstructParams const & params); explicit ActionRow(BaseObjectType * gobj); }; auto ActionRow::get_activatable_widget(this auto && self) noexcept { return self.property_activatable_widget().value(); } auto ActionRow::get_icon_name(this auto && self) { return self.property_icon_name().value(); } auto ActionRow::get_subtitle(this auto && self) { return self.property_subtitle().value(); } auto ActionRow::get_subtitle_lines(this auto && self) noexcept { return self.property_subtitle_lines().value(); } auto ActionRow::get_subtitle_selectable(this auto && self) noexcept { return self.property_subtitle_selectable().value(); } auto ActionRow::get_title_lines(this auto && self) noexcept { return self.property_title_lines().value(); } auto ActionRow::property_activatable_widget(this auto && self) { return helpers::make_property_proxy(self, "activatable-widget"); } auto ActionRow::property_icon_name(this auto && self) { return helpers::make_property_proxy(self, "icon-name"); } auto ActionRow::property_subtitle(this auto && self) { return helpers::make_property_proxy(self, "subtitle"); } auto ActionRow::property_subtitle_lines(this auto && self) { return helpers::make_property_proxy(self, "subtitle-lines"); } auto ActionRow::property_subtitle_selectable(this auto && self) { return helpers::make_property_proxy(self, "subtitle-selectable"); } auto ActionRow::property_title_lines(this auto && self) { return helpers::make_property_proxy(self, "title-lines"); } } // namespace turns::adw namespace Glib { auto wrap(AdwActionRow * object, bool copy = false) -> Glib::RefPtr; } // namespace Glib #endif