diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2025-03-27 19:44:46 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2025-03-27 19:44:46 +0100 |
| commit | 3a4e781aa4ec052b819a33ba27e2f6a5b78696ff (patch) | |
| tree | 5f6eeefaa608f89db37a9b76df802e257f008730 /adw/src/dialog.cpp | |
| parent | 0d9e3328a2e1b017b712c30ccb144d5ea0b45f33 (diff) | |
| download | turns-3a4e781aa4ec052b819a33ba27e2f6a5b78696ff.tar.xz turns-3a4e781aa4ec052b819a33ba27e2f6a5b78696ff.zip | |
adw: add more dialog functions
Diffstat (limited to 'adw/src/dialog.cpp')
| -rw-r--r-- | adw/src/dialog.cpp | 50 |
1 files changed, 45 insertions, 5 deletions
diff --git a/adw/src/dialog.cpp b/adw/src/dialog.cpp index 8047d65..868ad22 100644 --- a/adw/src/dialog.cpp +++ b/adw/src/dialog.cpp @@ -74,10 +74,10 @@ namespace turns::adw { } - auto Dialog::add_breakpoint(adw::Breakpoint && breakpoint) -> void + auto Dialog::add_breakpoint(Glib::RefPtr<Breakpoint> const & breakpoint) -> void { - breakpoint.reference(); - adw_dialog_add_breakpoint(Glib::unwrap(this), Glib::unwrap(&breakpoint)); + // Take a copy because the dialog will take ownership of the breakpoint. + adw_dialog_add_breakpoint(Glib::unwrap(this), Glib::unwrap_copy(breakpoint)); } auto Dialog::close() -> void @@ -85,6 +85,46 @@ namespace turns::adw adw_dialog_close(Glib::unwrap(this)); } + auto Dialog::force_close() -> void + { + adw_dialog_force_close(Glib::unwrap(this)); + } + + auto Dialog::get_can_close() const -> bool + { + return adw_dialog_get_can_close(const_cast<BaseObjectType *>(Glib::unwrap(this))); + } + + auto Dialog::get_child() const -> Gtk::Widget * + { + return Glib::wrap(adw_dialog_get_child(const_cast<BaseObjectType *>(Glib::unwrap(this))), true); + } + + auto Dialog::get_content_height() const -> int + { + return adw_dialog_get_content_height(const_cast<BaseObjectType *>(Glib::unwrap(this))); + } + + auto Dialog::get_content_width() const -> int + { + return adw_dialog_get_content_width(const_cast<BaseObjectType *>(Glib::unwrap(this))); + } + + auto Dialog::get_current_breakpoint() const -> Glib::RefPtr<Breakpoint> + { + return Glib::wrap(adw_dialog_get_current_breakpoint(const_cast<BaseObjectType *>(Glib::unwrap(this))), true); + } + + auto Dialog::get_default_widget() const -> Gtk::Widget * + { + return Glib::wrap(adw_dialog_get_default_widget(const_cast<BaseObjectType *>(Glib::unwrap(this)))); + } + + auto Dialog::get_focus() const -> Gtk::Widget * + { + return Glib::wrap(adw_dialog_get_focus(const_cast<BaseObjectType *>(Glib::unwrap(this)))); + } + auto Dialog::present(Gtk::Widget * parent) -> void { adw_dialog_present(Glib::unwrap(this), Glib::unwrap(parent)); @@ -99,8 +139,8 @@ namespace turns::adw namespace Glib { - auto wrap(AdwDialog * object, bool copy) -> Glib::RefPtr<turns::adw::Dialog> + auto wrap(AdwDialog * object, bool copy) -> turns::adw::Dialog * { - return Glib::make_refptr_for_instance(dynamic_cast<turns::adw::Dialog *>(Glib::wrap_auto(G_OBJECT(object), copy))); + return dynamic_cast<turns::adw::Dialog *>(Glib::wrap_auto(G_OBJECT(object), copy)); } } // namespace Glib
\ No newline at end of file |
