summaryrefslogtreecommitdiff
path: root/adw/src/wrap_init.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'adw/src/wrap_init.cpp')
-rw-r--r--adw/src/wrap_init.cpp46
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