diff --git a/gtk4/Gir.toml b/gtk4/Gir.toml index 1a21f36c8f88..4c84305fe25b 100644 --- a/gtk4/Gir.toml +++ b/gtk4/Gir.toml @@ -55,6 +55,7 @@ generate = [ "Gtk.BuilderScope", "Gtk.ButtonsType", "Gtk.CellAreaBox", + "Gtk.CellEditable", "Gtk.CellRendererAccelMode", "Gtk.CellRendererMode", "Gtk.CellRendererPixbuf", @@ -130,6 +131,7 @@ generate = [ "Gtk.IconThemeError", "Gtk.IconViewDropPosition", "Gtk.ImageType", + "Gtk.IMContext", "Gtk.IMMulticontext", "Gtk.InputHints", "Gtk.InputPurpose", @@ -671,14 +673,6 @@ manual_traits = ["CellAreaExtManual"] pattern = "cell_[gs]et_property" manual = true [[object.function]] - name = "activate_cell" - manual = true # to handlndle gdk::Event - doc_trait_name = "CellAreaExtManual" - [[object.function]] - name = "event" - manual = true # to handlndle gdk::Event - doc_trait_name = "CellAreaExtManual" - [[object.function]] name = "apply_attributes" [[object.function.parameter]] name = "iter" @@ -705,15 +699,6 @@ name = "Gtk.CellAreaContext" status = "generate" generate_builder = false -[[object]] -name = "Gtk.CellEditable" -status = "generate" -manual_traits = ["CellEditableExtManual"] - [[object.function]] - name = "start_editing" - manual = true # to handle gdk::Event - doc_trait_name = "CellEditableExtManual" - [[object]] name = "Gtk.CellLayout" status = "generate" @@ -734,20 +719,12 @@ manual_traits = ["CellRendererExtManual"] [[object.property]] pattern = "*-set" # those properties are read only generate = ["get", "notify"] - [[object.function]] - name = "activate" - manual = true # to handle gdk::Event - doc_trait_name = "CellRendererExtManual" [[object.signal]] name = "editing-started" [[object.signal.parameter]] name = "path" transformation = "treepath" [[object.function]] - name = "start_editing" - manual = true # to handle gdk::Event - doc_trait_name = "CellRendererExtManual" - [[object.function]] name = "render" ignore = true # docs only @@ -1278,14 +1255,6 @@ status = "generate" name = "pixbuf" nullable = false -[[object]] -name = "Gtk.IMContext" -status = "generate" -manual_traits = ["IMContextExtManual"] - [[object.function]] - name = "filter_keypress" - manual = true # to handle gdk::Event - doc_trait_name = "IMContextExtManual" [[object]] name = "Gtk.IMContextSimple" @@ -1816,10 +1785,6 @@ manual_traits = ["ShortcutTriggerExtManual"] name = "compare" manual = true # complains about the trait IsA being so generic doc_trait_name = "ShortcutTriggerExtManual" - [[object.function]] - name = "trigger" - manual = true # to handle gdk::Event - doc_trait_name = "ShortcutTriggerExtManual" [[object]] name = "Gtk.SignalAction" @@ -1961,11 +1926,6 @@ status = "generate" [[object]] name = "Gtk.TextView" status = "generate" -manual_traits = ["TextViewExtManual"] - [[object.function]] - name = "im_context_filter_keypress" - manual = true # to handle gdk::Event - doc_trait_name = "TextViewExtManual" [[object.signal]] name = "extend-selection" inhibit = true diff --git a/gtk4/src/auto/cell_area.rs b/gtk4/src/auto/cell_area.rs index de7170bcf678..60ac75740807 100644 --- a/gtk4/src/auto/cell_area.rs +++ b/gtk4/src/auto/cell_area.rs @@ -50,6 +50,16 @@ pub trait CellAreaExt: 'static { edit_only: bool, ) -> bool; + #[doc(alias = "gtk_cell_area_activate_cell")] + fn activate_cell( + &self, + widget: &impl IsA, + renderer: &impl IsA, + event: impl AsRef, + cell_area: &gdk::Rectangle, + flags: CellRendererState, + ) -> bool; + #[doc(alias = "gtk_cell_area_add")] fn add(&self, renderer: &impl IsA); @@ -84,6 +94,16 @@ pub trait CellAreaExt: 'static { #[doc(alias = "gtk_cell_area_create_context")] fn create_context(&self) -> CellAreaContext; + #[doc(alias = "gtk_cell_area_event")] + fn event( + &self, + context: &impl IsA, + widget: &impl IsA, + event: impl AsRef, + cell_area: &gdk::Rectangle, + flags: CellRendererState, + ) -> i32; + #[doc(alias = "gtk_cell_area_focus")] fn focus(&self, direction: DirectionType) -> bool; @@ -297,6 +317,26 @@ impl> CellAreaExt for O { } } + fn activate_cell( + &self, + widget: &impl IsA, + renderer: &impl IsA, + event: impl AsRef, + cell_area: &gdk::Rectangle, + flags: CellRendererState, + ) -> bool { + unsafe { + from_glib(ffi::gtk_cell_area_activate_cell( + self.as_ref().to_glib_none().0, + widget.as_ref().to_glib_none().0, + renderer.as_ref().to_glib_none().0, + event.as_ref().to_glib_none().0, + cell_area.to_glib_none().0, + flags.into_glib(), + )) + } + } + fn add(&self, renderer: &impl IsA) { unsafe { ffi::gtk_cell_area_add( @@ -386,6 +426,26 @@ impl> CellAreaExt for O { } } + fn event( + &self, + context: &impl IsA, + widget: &impl IsA, + event: impl AsRef, + cell_area: &gdk::Rectangle, + flags: CellRendererState, + ) -> i32 { + unsafe { + ffi::gtk_cell_area_event( + self.as_ref().to_glib_none().0, + context.as_ref().to_glib_none().0, + widget.as_ref().to_glib_none().0, + event.as_ref().to_glib_none().0, + cell_area.to_glib_none().0, + flags.into_glib(), + ) + } + } + fn focus(&self, direction: DirectionType) -> bool { unsafe { from_glib(ffi::gtk_cell_area_focus( diff --git a/gtk4/src/auto/cell_editable.rs b/gtk4/src/auto/cell_editable.rs index 36fc2745644b..f8bb785a94ce 100644 --- a/gtk4/src/auto/cell_editable.rs +++ b/gtk4/src/auto/cell_editable.rs @@ -37,6 +37,9 @@ pub trait CellEditableExt: 'static { #[doc(alias = "gtk_cell_editable_remove_widget")] fn remove_widget(&self); + #[doc(alias = "gtk_cell_editable_start_editing")] + fn start_editing(&self, event: Option>); + #[doc(alias = "editing-canceled")] fn is_editing_canceled(&self) -> bool; @@ -66,6 +69,15 @@ impl> CellEditableExt for O { } } + fn start_editing(&self, event: Option>) { + unsafe { + ffi::gtk_cell_editable_start_editing( + self.as_ref().to_glib_none().0, + event.as_ref().map(|p| p.as_ref()).to_glib_none().0, + ); + } + } + fn is_editing_canceled(&self) -> bool { glib::ObjectExt::property(self.as_ref(), "editing-canceled") } diff --git a/gtk4/src/auto/cell_renderer.rs b/gtk4/src/auto/cell_renderer.rs index 9665c2ef9bd7..6936ef5b7a98 100644 --- a/gtk4/src/auto/cell_renderer.rs +++ b/gtk4/src/auto/cell_renderer.rs @@ -37,6 +37,17 @@ impl CellRenderer { } pub trait CellRendererExt: 'static { + #[doc(alias = "gtk_cell_renderer_activate")] + fn activate( + &self, + event: impl AsRef, + widget: &impl IsA, + path: &str, + background_area: &gdk::Rectangle, + cell_area: &gdk::Rectangle, + flags: CellRendererState, + ) -> bool; + #[doc(alias = "gtk_cell_renderer_get_aligned_area")] #[doc(alias = "get_aligned_area")] fn aligned_area( @@ -137,6 +148,17 @@ pub trait CellRendererExt: 'static { flags: CellRendererState, ); + #[doc(alias = "gtk_cell_renderer_start_editing")] + fn start_editing( + &self, + event: Option>, + widget: &impl IsA, + path: &str, + background_area: &gdk::Rectangle, + cell_area: &gdk::Rectangle, + flags: CellRendererState, + ) -> Option; + #[doc(alias = "gtk_cell_renderer_stop_editing")] fn stop_editing(&self, canceled: bool); @@ -238,6 +260,28 @@ pub trait CellRendererExt: 'static { } impl> CellRendererExt for O { + fn activate( + &self, + event: impl AsRef, + widget: &impl IsA, + path: &str, + background_area: &gdk::Rectangle, + cell_area: &gdk::Rectangle, + flags: CellRendererState, + ) -> bool { + unsafe { + from_glib(ffi::gtk_cell_renderer_activate( + self.as_ref().to_glib_none().0, + event.as_ref().to_glib_none().0, + widget.as_ref().to_glib_none().0, + path.to_glib_none().0, + background_area.to_glib_none().0, + cell_area.to_glib_none().0, + flags.into_glib(), + )) + } + } + fn aligned_area( &self, widget: &impl IsA, @@ -515,6 +559,28 @@ impl> CellRendererExt for O { } } + fn start_editing( + &self, + event: Option>, + widget: &impl IsA, + path: &str, + background_area: &gdk::Rectangle, + cell_area: &gdk::Rectangle, + flags: CellRendererState, + ) -> Option { + unsafe { + from_glib_none(ffi::gtk_cell_renderer_start_editing( + self.as_ref().to_glib_none().0, + event.as_ref().map(|p| p.as_ref()).to_glib_none().0, + widget.as_ref().to_glib_none().0, + path.to_glib_none().0, + background_area.to_glib_none().0, + cell_area.to_glib_none().0, + flags.into_glib(), + )) + } + } + fn stop_editing(&self, canceled: bool) { unsafe { ffi::gtk_cell_renderer_stop_editing( diff --git a/gtk4/src/auto/im_context.rs b/gtk4/src/auto/im_context.rs index 55fa6f1ac9d6..0967ea783163 100644 --- a/gtk4/src/auto/im_context.rs +++ b/gtk4/src/auto/im_context.rs @@ -47,6 +47,9 @@ pub trait IMContextExt: 'static { group: i32, ) -> bool; + #[doc(alias = "gtk_im_context_filter_keypress")] + fn filter_keypress(&self, event: impl AsRef) -> bool; + #[doc(alias = "gtk_im_context_focus_in")] fn focus_in(&self); @@ -165,6 +168,15 @@ impl> IMContextExt for O { } } + fn filter_keypress(&self, event: impl AsRef) -> bool { + unsafe { + from_glib(ffi::gtk_im_context_filter_keypress( + self.as_ref().to_glib_none().0, + event.as_ref().to_glib_none().0, + )) + } + } + fn focus_in(&self) { unsafe { ffi::gtk_im_context_focus_in(self.as_ref().to_glib_none().0); diff --git a/gtk4/src/auto/shortcut_trigger.rs b/gtk4/src/auto/shortcut_trigger.rs index c4d3cfd1a2c0..5a21582b6874 100644 --- a/gtk4/src/auto/shortcut_trigger.rs +++ b/gtk4/src/auto/shortcut_trigger.rs @@ -43,6 +43,9 @@ pub trait ShortcutTriggerExt: 'static { #[doc(alias = "gtk_shortcut_trigger_to_string")] #[doc(alias = "to_string")] fn to_str(&self) -> glib::GString; + + #[doc(alias = "gtk_shortcut_trigger_trigger")] + fn trigger(&self, event: impl AsRef, enable_mnemonics: bool) -> gdk::KeyMatch; } impl> ShortcutTriggerExt for O { @@ -62,4 +65,14 @@ impl> ShortcutTriggerExt for O { )) } } + + fn trigger(&self, event: impl AsRef, enable_mnemonics: bool) -> gdk::KeyMatch { + unsafe { + from_glib(ffi::gtk_shortcut_trigger_trigger( + self.as_ref().to_glib_none().0, + event.as_ref().to_glib_none().0, + enable_mnemonics.into_glib(), + )) + } + } } diff --git a/gtk4/src/auto/text_view.rs b/gtk4/src/auto/text_view.rs index a02805826732..be69471e7568 100644 --- a/gtk4/src/auto/text_view.rs +++ b/gtk4/src/auto/text_view.rs @@ -756,6 +756,9 @@ pub trait TextViewExt: 'static { #[doc(alias = "get_wrap_mode")] fn wrap_mode(&self) -> WrapMode; + #[doc(alias = "gtk_text_view_im_context_filter_keypress")] + fn im_context_filter_keypress(&self, event: impl AsRef) -> bool; + #[doc(alias = "gtk_text_view_move_mark_onscreen")] fn move_mark_onscreen(&self, mark: &impl IsA) -> bool; @@ -1371,6 +1374,15 @@ impl> TextViewExt for O { } } + fn im_context_filter_keypress(&self, event: impl AsRef) -> bool { + unsafe { + from_glib(ffi::gtk_text_view_im_context_filter_keypress( + self.as_ref().to_glib_none().0, + event.as_ref().to_glib_none().0, + )) + } + } + fn move_mark_onscreen(&self, mark: &impl IsA) -> bool { unsafe { from_glib(ffi::gtk_text_view_move_mark_onscreen( diff --git a/gtk4/src/cell_area.rs b/gtk4/src/cell_area.rs index 0202e57d023a..ec31db7b4d5b 100644 --- a/gtk4/src/cell_area.rs +++ b/gtk4/src/cell_area.rs @@ -1,8 +1,7 @@ // Take a look at the license at the top of the repository in the LICENSE file. use crate::prelude::*; -use crate::{CellArea, CellAreaContext, CellRenderer, CellRendererState, Widget}; -use gdk::Event; +use crate::{CellArea, CellRenderer}; use glib::translate::*; use glib::{value::FromValue, IsA, ToValue}; @@ -16,26 +15,6 @@ pub trait CellAreaExtManual { properties: &[(&str, &dyn ToValue)], ); - #[doc(alias = "gtk_cell_area_activate_cell")] - fn activate_cell( - &self, - widget: &impl IsA, - renderer: &impl IsA, - event: &impl AsRef, - cell_area: &gdk::Rectangle, - flags: CellRendererState, - ) -> bool; - - #[doc(alias = "gtk_cell_area_event")] - fn event( - &self, - context: &impl IsA, - widget: &impl IsA, - event: &impl AsRef, - cell_area: &gdk::Rectangle, - flags: CellRendererState, - ) -> i32; - #[doc(alias = "gtk_cell_area_cell_get_valist")] #[doc(alias = "gtk_cell_area_cell_get_property")] fn cell_get_value(&self, renderer: &impl IsA, property_name: &str) @@ -67,25 +46,6 @@ impl> CellAreaExtManual for O { self.as_ref().cell_set(renderer, property_name, *value); }); } - fn activate_cell( - &self, - widget: &impl IsA, - renderer: &impl IsA, - event: &impl AsRef, - cell_area: &gdk::Rectangle, - flags: CellRendererState, - ) -> bool { - unsafe { - from_glib(ffi::gtk_cell_area_activate_cell( - self.as_ref().to_glib_none().0, - widget.as_ref().to_glib_none().0, - renderer.as_ref().to_glib_none().0, - event.as_ref().to_glib_none().0, - cell_area.to_glib_none().0, - flags.into_glib(), - )) - } - } fn cell_get_value( &self, @@ -156,24 +116,4 @@ impl> CellAreaExtManual for O { ); } } - - fn event( - &self, - context: &impl IsA, - widget: &impl IsA, - event: &impl AsRef, - cell_area: &gdk::Rectangle, - flags: CellRendererState, - ) -> i32 { - unsafe { - ffi::gtk_cell_area_event( - self.as_ref().to_glib_none().0, - context.as_ref().to_glib_none().0, - widget.as_ref().to_glib_none().0, - event.as_ref().to_glib_none().0, - cell_area.to_glib_none().0, - flags.into_glib(), - ) - } - } } diff --git a/gtk4/src/cell_editable.rs b/gtk4/src/cell_editable.rs deleted file mode 100644 index 0a29b6abb887..000000000000 --- a/gtk4/src/cell_editable.rs +++ /dev/null @@ -1,21 +0,0 @@ -// Take a look at the license at the top of the repository in the LICENSE file. - -use crate::CellEditable; -use glib::translate::*; -use glib::IsA; - -pub trait CellEditableExtManual { - #[doc(alias = "gtk_cell_editable_start_editing")] - fn start_editing(&self, event: Option<&impl AsRef>); -} - -impl> CellEditableExtManual for O { - fn start_editing(&self, event: Option<&impl AsRef>) { - unsafe { - ffi::gtk_cell_editable_start_editing( - self.as_ref().to_glib_none().0, - event.map(|e| e.as_ref()).to_glib_none().0, - ); - } - } -} diff --git a/gtk4/src/cell_renderer.rs b/gtk4/src/cell_renderer.rs deleted file mode 100644 index 13680d1a8fc5..000000000000 --- a/gtk4/src/cell_renderer.rs +++ /dev/null @@ -1,77 +0,0 @@ -// Take a look at the license at the top of the repository in the LICENSE file. - -use crate::{CellEditable, CellRenderer, CellRendererState, Widget}; -use glib::translate::*; -use glib::IsA; - -// rustdoc-stripper-ignore-next -/// Trait containing manually implemented methods of [`CellRenderer`](crate::CellRenderer). -pub trait CellRendererExtManual { - #[doc(alias = "gtk_cell_renderer_activate")] - fn activate( - &self, - event: &impl AsRef, - widget: &impl IsA, - path: &str, - background_area: &gdk::Rectangle, - cell_area: &gdk::Rectangle, - flags: CellRendererState, - ) -> bool; - - #[doc(alias = "gtk_cell_renderer_start_editing")] - fn start_editing( - &self, - event: Option<&impl AsRef>, - widget: &impl IsA, - path: &str, - background_area: &gdk::Rectangle, - cell_area: &gdk::Rectangle, - flags: CellRendererState, - ) -> Option; -} - -impl> CellRendererExtManual for O { - fn activate( - &self, - event: &impl AsRef, - widget: &impl IsA, - path: &str, - background_area: &gdk::Rectangle, - cell_area: &gdk::Rectangle, - flags: CellRendererState, - ) -> bool { - unsafe { - from_glib(ffi::gtk_cell_renderer_activate( - self.as_ref().to_glib_none().0, - event.as_ref().to_glib_none().0, - widget.as_ref().to_glib_none().0, - path.to_glib_none().0, - background_area.to_glib_none().0, - cell_area.to_glib_none().0, - flags.into_glib(), - )) - } - } - - fn start_editing( - &self, - event: Option<&impl AsRef>, - widget: &impl IsA, - path: &str, - background_area: &gdk::Rectangle, - cell_area: &gdk::Rectangle, - flags: CellRendererState, - ) -> Option { - unsafe { - from_glib_none(ffi::gtk_cell_renderer_start_editing( - self.as_ref().to_glib_none().0, - event.map(|e| e.as_ref()).to_glib_none().0, - widget.as_ref().to_glib_none().0, - path.to_glib_none().0, - background_area.to_glib_none().0, - cell_area.to_glib_none().0, - flags.into_glib(), - )) - } - } -} diff --git a/gtk4/src/im_context.rs b/gtk4/src/im_context.rs deleted file mode 100644 index 3ca2c4cf279e..000000000000 --- a/gtk4/src/im_context.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Take a look at the license at the top of the repository in the LICENSE file. - -use crate::IMContext; -use glib::translate::*; -use glib::IsA; - -// rustdoc-stripper-ignore-next -/// Trait containing manually implemented methods of [`IMContext`](crate::IMContext). -#[allow(clippy::upper_case_acronyms)] -pub trait IMContextExtManual { - #[doc(alias = "gtk_im_context_filter_keypress")] - fn filter_keypress(&self, event: &impl AsRef) -> bool; -} - -impl> IMContextExtManual for O { - fn filter_keypress(&self, event: &impl AsRef) -> bool { - unsafe { - from_glib(ffi::gtk_im_context_filter_keypress( - self.as_ref().to_glib_none().0, - event.as_ref().to_glib_none().0, - )) - } - } -} diff --git a/gtk4/src/lib.rs b/gtk4/src/lib.rs index 80d9e9d3e1fc..90203eb4b4ad 100644 --- a/gtk4/src/lib.rs +++ b/gtk4/src/lib.rs @@ -123,9 +123,7 @@ mod border; mod builder; mod builder_rust_scope; mod cell_area; -mod cell_editable; mod cell_layout; -mod cell_renderer; mod closure_expression; mod color_chooser; mod combo_box; @@ -153,7 +151,6 @@ mod font_chooser; mod functions; mod gesture_stylus; mod icon_theme; -mod im_context; mod im_context_simple; mod info_bar; mod keyval_trigger; @@ -191,7 +188,6 @@ mod spin_button; mod string_list; mod text; mod text_buffer; -mod text_view; mod tree_model; mod tree_model_filter; mod tree_path; diff --git a/gtk4/src/prelude.rs b/gtk4/src/prelude.rs index 1e43511435c2..779ecd751743 100644 --- a/gtk4/src/prelude.rs +++ b/gtk4/src/prelude.rs @@ -8,9 +8,7 @@ pub use crate::auto::traits::*; pub use crate::accessible::AccessibleExtManual; pub use crate::actionable::ActionableExtManual; pub use crate::cell_area::CellAreaExtManual; -pub use crate::cell_editable::CellEditableExtManual; pub use crate::cell_layout::CellLayoutExtManual; -pub use crate::cell_renderer::CellRendererExtManual; pub use crate::color_chooser::ColorChooserExtManual; pub use crate::combo_box::ComboBoxExtManual; pub use crate::dialog::DialogExtManual; @@ -21,13 +19,11 @@ pub use crate::entry_buffer::EntryBufferExtManual; pub use crate::expression::{GObjectPropertyExpressionExt, IsExpression}; pub use crate::file_chooser::FileChooserExtManual; pub use crate::font_chooser::FontChooserExtManual; -pub use crate::im_context::IMContextExtManual; pub use crate::media_stream::MediaStreamExtManual; pub use crate::native_dialog::NativeDialogExtManual; pub use crate::scale::ScaleExtManual; pub use crate::shortcut_trigger::ShortcutTriggerExtManual; pub use crate::text_buffer::TextBufferExtManual; -pub use crate::text_view::TextViewExtManual; pub use crate::tree_model::TreeModelExtManual; pub use crate::tree_model_filter::TreeModelFilterExtManual; pub use crate::tree_sortable::TreeSortableExtManual; diff --git a/gtk4/src/shortcut_trigger.rs b/gtk4/src/shortcut_trigger.rs index d1426fea4fc4..bf13406ba96a 100644 --- a/gtk4/src/shortcut_trigger.rs +++ b/gtk4/src/shortcut_trigger.rs @@ -15,9 +15,6 @@ pub trait ShortcutTriggerExtManual { #[doc(alias = "gtk_shortcut_trigger_hash")] fn hash(&self) -> u32; - - #[doc(alias = "gtk_shortcut_trigger_trigger")] - fn trigger(&self, event: &gdk::Event, enable_mnemonics: bool) -> gdk::KeyMatch; } impl> ShortcutTriggerExtManual for O { @@ -51,14 +48,4 @@ impl> ShortcutTriggerExtManual for O { ) } } - - fn trigger(&self, event: &gdk::Event, enable_mnemonics: bool) -> gdk::KeyMatch { - unsafe { - from_glib(ffi::gtk_shortcut_trigger_trigger( - self.as_ref().to_glib_none().0, - event.to_glib_none().0, - enable_mnemonics.into_glib(), - )) - } - } } diff --git a/gtk4/src/text_view.rs b/gtk4/src/text_view.rs deleted file mode 100644 index 5d7b6fe6064e..000000000000 --- a/gtk4/src/text_view.rs +++ /dev/null @@ -1,23 +0,0 @@ -// Take a look at the license at the top of the repository in the LICENSE file. - -use crate::TextView; -use glib::translate::*; -use glib::IsA; - -// rustdoc-stripper-ignore-next -/// Trait containing manually implemented methods of [`TextView`](crate::TextView). -pub trait TextViewExtManual { - #[doc(alias = "gtk_text_view_im_context_filter_keypress")] - fn im_context_filter_keypress(&self, event: &impl AsRef) -> bool; -} - -impl> TextViewExtManual for O { - fn im_context_filter_keypress(&self, event: &impl AsRef) -> bool { - unsafe { - from_glib(ffi::gtk_text_view_im_context_filter_keypress( - self.as_ref().to_glib_none().0, - event.as_ref().to_glib_none().0, - )) - } - } -}