diff options
Diffstat (limited to 'adw/src/wrap_init.cpp')
| -rw-r--r-- | adw/src/wrap_init.cpp | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/adw/src/wrap_init.cpp b/adw/src/wrap_init.cpp index 546f31e..6998f90 100644 --- a/adw/src/wrap_init.cpp +++ b/adw/src/wrap_init.cpp @@ -1,6 +1,11 @@ #include "turns/adw/wrap_init.hpp" +#include "turns/adw/actionrow.hpp" #include "turns/adw/application.hpp" +#include "turns/adw/dialog.hpp" +#include "turns/adw/preferencesdialog.hpp" +#include "turns/adw/preferencespage.hpp" +#include "turns/adw/preferencesrow.hpp" #include "turns/adw/toast.hpp" #include "turns/adw/toastoverlay.hpp" @@ -9,32 +14,31 @@ #include <adwaita.h> #include <glib-object.h> +#define WRAP_CLASS(Name, name) Glib::wrap_register(adw_##name##_get_type(), &Name::Class::wrap_new) +#define ENSURE_TYPE(Name) g_type_ensure(Name::get_type()) + namespace turns::adw { - struct Application_Class - { - auto static wrap_new(GObject * object) -> Glib::ObjectBase *; - }; - - struct Toast_Class - { - auto static wrap_new(GObject * object) -> Glib::ObjectBase *; - }; - - struct ToastOverlay_Class - { - auto static wrap_new(GObject * object) -> Glib::ObjectBase *; - }; - auto wrap_init() -> void { adw_init(); - Glib::wrap_register(adw_application_get_type(), &Application_Class::wrap_new); - g_type_ensure(Application::get_type()); - Glib::wrap_register(adw_toast_get_type(), &Toast_Class::wrap_new); - g_type_ensure(Toast::get_type()); - Glib::wrap_register(adw_toast_overlay_get_type(), &ToastOverlay_Class::wrap_new); - g_type_ensure(ToastOverlay::get_type()); + WRAP_CLASS(ActionRow, action_row); + WRAP_CLASS(Application, application); + WRAP_CLASS(Dialog, dialog); + WRAP_CLASS(Toast, toast); + WRAP_CLASS(PreferencesDialog, preferences_dialog); + WRAP_CLASS(PreferencesPage, preferences_page); + WRAP_CLASS(PreferencesRow, preferences_row); + WRAP_CLASS(ToastOverlay, toast_overlay); + + ENSURE_TYPE(ActionRow); + ENSURE_TYPE(Application); + ENSURE_TYPE(Dialog); + ENSURE_TYPE(Toast); + ENSURE_TYPE(PreferencesDialog); + ENSURE_TYPE(PreferencesPage); + ENSURE_TYPE(PreferencesRow); + ENSURE_TYPE(ToastOverlay); } } // namespace turns::adw
\ No newline at end of file |
