Skip to content

Commit 7ca71d0

Browse files
gtk: drop unecessary manual code
gdk::Event (and fundamental types) code can now be generated correctly
1 parent 7177845 commit 7ca71d0

15 files changed

+178
-269
lines changed

gtk4/Gir.toml

+2-42
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ generate = [
5555
"Gtk.BuilderScope",
5656
"Gtk.ButtonsType",
5757
"Gtk.CellAreaBox",
58+
"Gtk.CellEditable",
5859
"Gtk.CellRendererAccelMode",
5960
"Gtk.CellRendererMode",
6061
"Gtk.CellRendererPixbuf",
@@ -130,6 +131,7 @@ generate = [
130131
"Gtk.IconThemeError",
131132
"Gtk.IconViewDropPosition",
132133
"Gtk.ImageType",
134+
"Gtk.IMContext",
133135
"Gtk.IMMulticontext",
134136
"Gtk.InputHints",
135137
"Gtk.InputPurpose",
@@ -671,14 +673,6 @@ manual_traits = ["CellAreaExtManual"]
671673
pattern = "cell_[gs]et_property"
672674
manual = true
673675
[[object.function]]
674-
name = "activate_cell"
675-
manual = true # to handlndle gdk::Event
676-
doc_trait_name = "CellAreaExtManual"
677-
[[object.function]]
678-
name = "event"
679-
manual = true # to handlndle gdk::Event
680-
doc_trait_name = "CellAreaExtManual"
681-
[[object.function]]
682676
name = "apply_attributes"
683677
[[object.function.parameter]]
684678
name = "iter"
@@ -705,15 +699,6 @@ name = "Gtk.CellAreaContext"
705699
status = "generate"
706700
generate_builder = false
707701

708-
[[object]]
709-
name = "Gtk.CellEditable"
710-
status = "generate"
711-
manual_traits = ["CellEditableExtManual"]
712-
[[object.function]]
713-
name = "start_editing"
714-
manual = true # to handle gdk::Event
715-
doc_trait_name = "CellEditableExtManual"
716-
717702
[[object]]
718703
name = "Gtk.CellLayout"
719704
status = "generate"
@@ -734,20 +719,12 @@ manual_traits = ["CellRendererExtManual"]
734719
[[object.property]]
735720
pattern = "*-set" # those properties are read only
736721
generate = ["get", "notify"]
737-
[[object.function]]
738-
name = "activate"
739-
manual = true # to handle gdk::Event
740-
doc_trait_name = "CellRendererExtManual"
741722
[[object.signal]]
742723
name = "editing-started"
743724
[[object.signal.parameter]]
744725
name = "path"
745726
transformation = "treepath"
746727
[[object.function]]
747-
name = "start_editing"
748-
manual = true # to handle gdk::Event
749-
doc_trait_name = "CellRendererExtManual"
750-
[[object.function]]
751728
name = "render"
752729
ignore = true # docs only
753730

@@ -1278,14 +1255,6 @@ status = "generate"
12781255
name = "pixbuf"
12791256
nullable = false
12801257

1281-
[[object]]
1282-
name = "Gtk.IMContext"
1283-
status = "generate"
1284-
manual_traits = ["IMContextExtManual"]
1285-
[[object.function]]
1286-
name = "filter_keypress"
1287-
manual = true # to handle gdk::Event
1288-
doc_trait_name = "IMContextExtManual"
12891258

12901259
[[object]]
12911260
name = "Gtk.IMContextSimple"
@@ -1816,10 +1785,6 @@ manual_traits = ["ShortcutTriggerExtManual"]
18161785
name = "compare"
18171786
manual = true # complains about the trait IsA<T> being so generic
18181787
doc_trait_name = "ShortcutTriggerExtManual"
1819-
[[object.function]]
1820-
name = "trigger"
1821-
manual = true # to handle gdk::Event
1822-
doc_trait_name = "ShortcutTriggerExtManual"
18231788

18241789
[[object]]
18251790
name = "Gtk.SignalAction"
@@ -1961,11 +1926,6 @@ status = "generate"
19611926
[[object]]
19621927
name = "Gtk.TextView"
19631928
status = "generate"
1964-
manual_traits = ["TextViewExtManual"]
1965-
[[object.function]]
1966-
name = "im_context_filter_keypress"
1967-
manual = true # to handle gdk::Event
1968-
doc_trait_name = "TextViewExtManual"
19691929
[[object.signal]]
19701930
name = "extend-selection"
19711931
inhibit = true

gtk4/src/auto/cell_area.rs

+60
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,16 @@ pub trait CellAreaExt: 'static {
5050
edit_only: bool,
5151
) -> bool;
5252

53+
#[doc(alias = "gtk_cell_area_activate_cell")]
54+
fn activate_cell(
55+
&self,
56+
widget: &impl IsA<Widget>,
57+
renderer: &impl IsA<CellRenderer>,
58+
event: impl AsRef<gdk::Event>,
59+
cell_area: &gdk::Rectangle,
60+
flags: CellRendererState,
61+
) -> bool;
62+
5363
#[doc(alias = "gtk_cell_area_add")]
5464
fn add(&self, renderer: &impl IsA<CellRenderer>);
5565

@@ -84,6 +94,16 @@ pub trait CellAreaExt: 'static {
8494
#[doc(alias = "gtk_cell_area_create_context")]
8595
fn create_context(&self) -> CellAreaContext;
8696

97+
#[doc(alias = "gtk_cell_area_event")]
98+
fn event(
99+
&self,
100+
context: &impl IsA<CellAreaContext>,
101+
widget: &impl IsA<Widget>,
102+
event: impl AsRef<gdk::Event>,
103+
cell_area: &gdk::Rectangle,
104+
flags: CellRendererState,
105+
) -> i32;
106+
87107
#[doc(alias = "gtk_cell_area_focus")]
88108
fn focus(&self, direction: DirectionType) -> bool;
89109

@@ -297,6 +317,26 @@ impl<O: IsA<CellArea>> CellAreaExt for O {
297317
}
298318
}
299319

320+
fn activate_cell(
321+
&self,
322+
widget: &impl IsA<Widget>,
323+
renderer: &impl IsA<CellRenderer>,
324+
event: impl AsRef<gdk::Event>,
325+
cell_area: &gdk::Rectangle,
326+
flags: CellRendererState,
327+
) -> bool {
328+
unsafe {
329+
from_glib(ffi::gtk_cell_area_activate_cell(
330+
self.as_ref().to_glib_none().0,
331+
widget.as_ref().to_glib_none().0,
332+
renderer.as_ref().to_glib_none().0,
333+
event.as_ref().to_glib_none().0,
334+
cell_area.to_glib_none().0,
335+
flags.into_glib(),
336+
))
337+
}
338+
}
339+
300340
fn add(&self, renderer: &impl IsA<CellRenderer>) {
301341
unsafe {
302342
ffi::gtk_cell_area_add(
@@ -386,6 +426,26 @@ impl<O: IsA<CellArea>> CellAreaExt for O {
386426
}
387427
}
388428

429+
fn event(
430+
&self,
431+
context: &impl IsA<CellAreaContext>,
432+
widget: &impl IsA<Widget>,
433+
event: impl AsRef<gdk::Event>,
434+
cell_area: &gdk::Rectangle,
435+
flags: CellRendererState,
436+
) -> i32 {
437+
unsafe {
438+
ffi::gtk_cell_area_event(
439+
self.as_ref().to_glib_none().0,
440+
context.as_ref().to_glib_none().0,
441+
widget.as_ref().to_glib_none().0,
442+
event.as_ref().to_glib_none().0,
443+
cell_area.to_glib_none().0,
444+
flags.into_glib(),
445+
)
446+
}
447+
}
448+
389449
fn focus(&self, direction: DirectionType) -> bool {
390450
unsafe {
391451
from_glib(ffi::gtk_cell_area_focus(

gtk4/src/auto/cell_editable.rs

+12
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ pub trait CellEditableExt: 'static {
3737
#[doc(alias = "gtk_cell_editable_remove_widget")]
3838
fn remove_widget(&self);
3939

40+
#[doc(alias = "gtk_cell_editable_start_editing")]
41+
fn start_editing(&self, event: Option<impl AsRef<gdk::Event>>);
42+
4043
#[doc(alias = "editing-canceled")]
4144
fn is_editing_canceled(&self) -> bool;
4245

@@ -66,6 +69,15 @@ impl<O: IsA<CellEditable>> CellEditableExt for O {
6669
}
6770
}
6871

72+
fn start_editing(&self, event: Option<impl AsRef<gdk::Event>>) {
73+
unsafe {
74+
ffi::gtk_cell_editable_start_editing(
75+
self.as_ref().to_glib_none().0,
76+
event.as_ref().map(|p| p.as_ref()).to_glib_none().0,
77+
);
78+
}
79+
}
80+
6981
fn is_editing_canceled(&self) -> bool {
7082
glib::ObjectExt::property(self.as_ref(), "editing-canceled")
7183
}

gtk4/src/auto/cell_renderer.rs

+66
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,17 @@ impl CellRenderer {
3737
}
3838

3939
pub trait CellRendererExt: 'static {
40+
#[doc(alias = "gtk_cell_renderer_activate")]
41+
fn activate(
42+
&self,
43+
event: impl AsRef<gdk::Event>,
44+
widget: &impl IsA<Widget>,
45+
path: &str,
46+
background_area: &gdk::Rectangle,
47+
cell_area: &gdk::Rectangle,
48+
flags: CellRendererState,
49+
) -> bool;
50+
4051
#[doc(alias = "gtk_cell_renderer_get_aligned_area")]
4152
#[doc(alias = "get_aligned_area")]
4253
fn aligned_area(
@@ -137,6 +148,17 @@ pub trait CellRendererExt: 'static {
137148
flags: CellRendererState,
138149
);
139150

151+
#[doc(alias = "gtk_cell_renderer_start_editing")]
152+
fn start_editing(
153+
&self,
154+
event: Option<impl AsRef<gdk::Event>>,
155+
widget: &impl IsA<Widget>,
156+
path: &str,
157+
background_area: &gdk::Rectangle,
158+
cell_area: &gdk::Rectangle,
159+
flags: CellRendererState,
160+
) -> Option<CellEditable>;
161+
140162
#[doc(alias = "gtk_cell_renderer_stop_editing")]
141163
fn stop_editing(&self, canceled: bool);
142164

@@ -238,6 +260,28 @@ pub trait CellRendererExt: 'static {
238260
}
239261

240262
impl<O: IsA<CellRenderer>> CellRendererExt for O {
263+
fn activate(
264+
&self,
265+
event: impl AsRef<gdk::Event>,
266+
widget: &impl IsA<Widget>,
267+
path: &str,
268+
background_area: &gdk::Rectangle,
269+
cell_area: &gdk::Rectangle,
270+
flags: CellRendererState,
271+
) -> bool {
272+
unsafe {
273+
from_glib(ffi::gtk_cell_renderer_activate(
274+
self.as_ref().to_glib_none().0,
275+
event.as_ref().to_glib_none().0,
276+
widget.as_ref().to_glib_none().0,
277+
path.to_glib_none().0,
278+
background_area.to_glib_none().0,
279+
cell_area.to_glib_none().0,
280+
flags.into_glib(),
281+
))
282+
}
283+
}
284+
241285
fn aligned_area(
242286
&self,
243287
widget: &impl IsA<Widget>,
@@ -515,6 +559,28 @@ impl<O: IsA<CellRenderer>> CellRendererExt for O {
515559
}
516560
}
517561

562+
fn start_editing(
563+
&self,
564+
event: Option<impl AsRef<gdk::Event>>,
565+
widget: &impl IsA<Widget>,
566+
path: &str,
567+
background_area: &gdk::Rectangle,
568+
cell_area: &gdk::Rectangle,
569+
flags: CellRendererState,
570+
) -> Option<CellEditable> {
571+
unsafe {
572+
from_glib_none(ffi::gtk_cell_renderer_start_editing(
573+
self.as_ref().to_glib_none().0,
574+
event.as_ref().map(|p| p.as_ref()).to_glib_none().0,
575+
widget.as_ref().to_glib_none().0,
576+
path.to_glib_none().0,
577+
background_area.to_glib_none().0,
578+
cell_area.to_glib_none().0,
579+
flags.into_glib(),
580+
))
581+
}
582+
}
583+
518584
fn stop_editing(&self, canceled: bool) {
519585
unsafe {
520586
ffi::gtk_cell_renderer_stop_editing(

gtk4/src/auto/im_context.rs

+12
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,9 @@ pub trait IMContextExt: 'static {
4747
group: i32,
4848
) -> bool;
4949

50+
#[doc(alias = "gtk_im_context_filter_keypress")]
51+
fn filter_keypress(&self, event: impl AsRef<gdk::Event>) -> bool;
52+
5053
#[doc(alias = "gtk_im_context_focus_in")]
5154
fn focus_in(&self);
5255

@@ -165,6 +168,15 @@ impl<O: IsA<IMContext>> IMContextExt for O {
165168
}
166169
}
167170

171+
fn filter_keypress(&self, event: impl AsRef<gdk::Event>) -> bool {
172+
unsafe {
173+
from_glib(ffi::gtk_im_context_filter_keypress(
174+
self.as_ref().to_glib_none().0,
175+
event.as_ref().to_glib_none().0,
176+
))
177+
}
178+
}
179+
168180
fn focus_in(&self) {
169181
unsafe {
170182
ffi::gtk_im_context_focus_in(self.as_ref().to_glib_none().0);

gtk4/src/auto/shortcut_trigger.rs

+13
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ pub trait ShortcutTriggerExt: 'static {
4343
#[doc(alias = "gtk_shortcut_trigger_to_string")]
4444
#[doc(alias = "to_string")]
4545
fn to_str(&self) -> glib::GString;
46+
47+
#[doc(alias = "gtk_shortcut_trigger_trigger")]
48+
fn trigger(&self, event: impl AsRef<gdk::Event>, enable_mnemonics: bool) -> gdk::KeyMatch;
4649
}
4750

4851
impl<O: IsA<ShortcutTrigger>> ShortcutTriggerExt for O {
@@ -62,4 +65,14 @@ impl<O: IsA<ShortcutTrigger>> ShortcutTriggerExt for O {
6265
))
6366
}
6467
}
68+
69+
fn trigger(&self, event: impl AsRef<gdk::Event>, enable_mnemonics: bool) -> gdk::KeyMatch {
70+
unsafe {
71+
from_glib(ffi::gtk_shortcut_trigger_trigger(
72+
self.as_ref().to_glib_none().0,
73+
event.as_ref().to_glib_none().0,
74+
enable_mnemonics.into_glib(),
75+
))
76+
}
77+
}
6578
}

gtk4/src/auto/text_view.rs

+12
Original file line numberDiff line numberDiff line change
@@ -756,6 +756,9 @@ pub trait TextViewExt: 'static {
756756
#[doc(alias = "get_wrap_mode")]
757757
fn wrap_mode(&self) -> WrapMode;
758758

759+
#[doc(alias = "gtk_text_view_im_context_filter_keypress")]
760+
fn im_context_filter_keypress(&self, event: impl AsRef<gdk::Event>) -> bool;
761+
759762
#[doc(alias = "gtk_text_view_move_mark_onscreen")]
760763
fn move_mark_onscreen(&self, mark: &impl IsA<TextMark>) -> bool;
761764

@@ -1371,6 +1374,15 @@ impl<O: IsA<TextView>> TextViewExt for O {
13711374
}
13721375
}
13731376

1377+
fn im_context_filter_keypress(&self, event: impl AsRef<gdk::Event>) -> bool {
1378+
unsafe {
1379+
from_glib(ffi::gtk_text_view_im_context_filter_keypress(
1380+
self.as_ref().to_glib_none().0,
1381+
event.as_ref().to_glib_none().0,
1382+
))
1383+
}
1384+
}
1385+
13741386
fn move_mark_onscreen(&self, mark: &impl IsA<TextMark>) -> bool {
13751387
unsafe {
13761388
from_glib(ffi::gtk_text_view_move_mark_onscreen(

0 commit comments

Comments
 (0)