diff --git a/gtk4/Gir.toml b/gtk4/Gir.toml index 5deec8e0757e..0037f183a0fb 100644 --- a/gtk4/Gir.toml +++ b/gtk4/Gir.toml @@ -103,7 +103,6 @@ generate = [ "Gtk.EditableProperties", "Gtk.EmojiChooser", "Gtk.EntryIconPosition", - "Gtk.EventController", "Gtk.EventControllerFocus", "Gtk.EventControllerMotion", "Gtk.EventControllerScrollFlags", @@ -1174,6 +1173,14 @@ status = "generate" rename = "entry" manual = true # upcast to Entry +[[object]] +name = "Gtk.EventController" +status = "generate" +manual_traits = ["EventControllerExtManual"] + [[object.function]] + name = "set_static_name" + manual = true # to make use of a static lifetimed string + [[object]] name = "Gtk.EventControllerKey" status = "generate" diff --git a/gtk4/src/auto/event_controller.rs b/gtk4/src/auto/event_controller.rs index 5e5b7b4edb88..40dfc8dbe8a2 100644 --- a/gtk4/src/auto/event_controller.rs +++ b/gtk4/src/auto/event_controller.rs @@ -142,18 +142,6 @@ pub trait EventControllerExt: IsA + 'static { } } - #[cfg(feature = "v4_8")] - #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))] - #[doc(alias = "gtk_event_controller_set_static_name")] - fn set_static_name(&self, name: Option<&str>) { - unsafe { - ffi::gtk_event_controller_set_static_name( - self.as_ref().to_glib_none().0, - name.to_glib_none().0, - ); - } - } - #[doc(alias = "name")] fn connect_name_notify(&self, f: F) -> SignalHandlerId { unsafe extern "C" fn notify_name_trampoline< diff --git a/gtk4/src/event_controller.rs b/gtk4/src/event_controller.rs new file mode 100644 index 000000000000..970e637c2721 --- /dev/null +++ b/gtk4/src/event_controller.rs @@ -0,0 +1,24 @@ +// Take a look at the license at the top of the repository in the LICENSE file. + +#[cfg(feature = "v4_8")] +use glib::translate::*; + +#[cfg(feature = "v4_8")] +use crate::ffi; +use crate::{prelude::*, EventController}; + +pub trait EventControllerExtManual: IsA + 'static { + #[cfg(feature = "v4_8")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))] + #[doc(alias = "gtk_event_controller_set_static_name")] + fn set_static_name(&self, name: Option<&'static glib::GStr>) { + unsafe { + ffi::gtk_event_controller_set_static_name( + self.as_ref().to_glib_none().0, + name.to_glib_none().0, + ); + } + } +} + +impl> EventControllerExtManual for O {} diff --git a/gtk4/src/lib.rs b/gtk4/src/lib.rs index 1306bf03930e..5f1fad05b78b 100644 --- a/gtk4/src/lib.rs +++ b/gtk4/src/lib.rs @@ -139,6 +139,7 @@ mod entry; mod entry_buffer; mod entry_completion; mod enums; +mod event_controller; mod event_controller_key; mod expression_watch; mod file_chooser; diff --git a/gtk4/src/prelude.rs b/gtk4/src/prelude.rs index d2442a3afd37..c4d6fc119ba8 100644 --- a/gtk4/src/prelude.rs +++ b/gtk4/src/prelude.rs @@ -21,6 +21,7 @@ pub use crate::{ editable::EditableExtManual, entry::EntryExtManual, entry_buffer::EntryBufferExtManual, + event_controller::EventControllerExtManual, expression::{GObjectPropertyExpressionExt, IsExpression}, file_chooser::FileChooserExtManual, font_chooser::FontChooserExtManual,