[go: up one dir, main page]

gtk4/auto/
entry.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// DO NOT EDIT
4#![allow(deprecated)]
5
6use crate::{
7    ffi, Accessible, AccessibleRole, Align, Buildable, CellEditable, ConstraintTarget, Editable,
8    EntryBuffer, EntryCompletion, EntryIconPosition, ImageType, InputHints, InputPurpose,
9    LayoutManager, Overflow, Widget,
10};
11use glib::{
12    object::ObjectType as _,
13    prelude::*,
14    signal::{connect_raw, SignalHandlerId},
15    translate::*,
16};
17use std::boxed::Box as Box_;
18
19glib::wrapper! {
20    #[doc(alias = "GtkEntry")]
21    pub struct Entry(Object<ffi::GtkEntry, ffi::GtkEntryClass>) @extends Widget, @implements Accessible, Buildable, ConstraintTarget, CellEditable, Editable;
22
23    match fn {
24        type_ => || ffi::gtk_entry_get_type(),
25    }
26}
27
28impl Entry {
29    pub const NONE: Option<&'static Entry> = None;
30
31    #[doc(alias = "gtk_entry_new")]
32    pub fn new() -> Entry {
33        assert_initialized_main_thread!();
34        unsafe { Widget::from_glib_none(ffi::gtk_entry_new()).unsafe_cast() }
35    }
36
37    #[doc(alias = "gtk_entry_new_with_buffer")]
38    #[doc(alias = "new_with_buffer")]
39    pub fn with_buffer(buffer: &impl IsA<EntryBuffer>) -> Entry {
40        skip_assert_initialized!();
41        unsafe {
42            Widget::from_glib_none(ffi::gtk_entry_new_with_buffer(
43                buffer.as_ref().to_glib_none().0,
44            ))
45            .unsafe_cast()
46        }
47    }
48
49    // rustdoc-stripper-ignore-next
50    /// Creates a new builder-pattern struct instance to construct [`Entry`] objects.
51    ///
52    /// This method returns an instance of [`EntryBuilder`](crate::builders::EntryBuilder) which can be used to create [`Entry`] objects.
53    pub fn builder() -> EntryBuilder {
54        EntryBuilder::new()
55    }
56}
57
58impl Default for Entry {
59    fn default() -> Self {
60        Self::new()
61    }
62}
63
64// rustdoc-stripper-ignore-next
65/// A [builder-pattern] type to construct [`Entry`] objects.
66///
67/// [builder-pattern]: https://doc.rust-lang.org/1.0.0/style/ownership/builders.html
68#[must_use = "The builder must be built to be used"]
69pub struct EntryBuilder {
70    builder: glib::object::ObjectBuilder<'static, Entry>,
71}
72
73impl EntryBuilder {
74    fn new() -> Self {
75        Self {
76            builder: glib::object::Object::builder(),
77        }
78    }
79
80    pub fn activates_default(self, activates_default: bool) -> Self {
81        Self {
82            builder: self
83                .builder
84                .property("activates-default", activates_default),
85        }
86    }
87
88    pub fn attributes(self, attributes: &pango::AttrList) -> Self {
89        Self {
90            builder: self.builder.property("attributes", attributes.clone()),
91        }
92    }
93
94    pub fn buffer(self, buffer: &impl IsA<EntryBuffer>) -> Self {
95        Self {
96            builder: self.builder.property("buffer", buffer.clone().upcast()),
97        }
98    }
99
100    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
101    pub fn completion(self, completion: &EntryCompletion) -> Self {
102        Self {
103            builder: self.builder.property("completion", completion.clone()),
104        }
105    }
106
107    pub fn enable_emoji_completion(self, enable_emoji_completion: bool) -> Self {
108        Self {
109            builder: self
110                .builder
111                .property("enable-emoji-completion", enable_emoji_completion),
112        }
113    }
114
115    pub fn extra_menu(self, extra_menu: &impl IsA<gio::MenuModel>) -> Self {
116        Self {
117            builder: self
118                .builder
119                .property("extra-menu", extra_menu.clone().upcast()),
120        }
121    }
122
123    pub fn has_frame(self, has_frame: bool) -> Self {
124        Self {
125            builder: self.builder.property("has-frame", has_frame),
126        }
127    }
128
129    pub fn im_module(self, im_module: impl Into<glib::GString>) -> Self {
130        Self {
131            builder: self.builder.property("im-module", im_module.into()),
132        }
133    }
134
135    pub fn input_hints(self, input_hints: InputHints) -> Self {
136        Self {
137            builder: self.builder.property("input-hints", input_hints),
138        }
139    }
140
141    pub fn input_purpose(self, input_purpose: InputPurpose) -> Self {
142        Self {
143            builder: self.builder.property("input-purpose", input_purpose),
144        }
145    }
146
147    pub fn invisible_char(self, invisible_char: u32) -> Self {
148        Self {
149            builder: self.builder.property("invisible-char", invisible_char),
150        }
151    }
152
153    pub fn invisible_char_set(self, invisible_char_set: bool) -> Self {
154        Self {
155            builder: self
156                .builder
157                .property("invisible-char-set", invisible_char_set),
158        }
159    }
160
161    pub fn max_length(self, max_length: i32) -> Self {
162        Self {
163            builder: self.builder.property("max-length", max_length),
164        }
165    }
166
167    #[cfg(feature = "v4_20")]
168    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
169    pub fn menu_entry_icon_primary_text(
170        self,
171        menu_entry_icon_primary_text: impl Into<glib::GString>,
172    ) -> Self {
173        Self {
174            builder: self.builder.property(
175                "menu-entry-icon-primary-text",
176                menu_entry_icon_primary_text.into(),
177            ),
178        }
179    }
180
181    #[cfg(feature = "v4_20")]
182    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
183    pub fn menu_entry_icon_secondary_text(
184        self,
185        menu_entry_icon_secondary_text: impl Into<glib::GString>,
186    ) -> Self {
187        Self {
188            builder: self.builder.property(
189                "menu-entry-icon-secondary-text",
190                menu_entry_icon_secondary_text.into(),
191            ),
192        }
193    }
194
195    pub fn overwrite_mode(self, overwrite_mode: bool) -> Self {
196        Self {
197            builder: self.builder.property("overwrite-mode", overwrite_mode),
198        }
199    }
200
201    pub fn placeholder_text(self, placeholder_text: impl Into<glib::GString>) -> Self {
202        Self {
203            builder: self
204                .builder
205                .property("placeholder-text", placeholder_text.into()),
206        }
207    }
208
209    pub fn primary_icon_activatable(self, primary_icon_activatable: bool) -> Self {
210        Self {
211            builder: self
212                .builder
213                .property("primary-icon-activatable", primary_icon_activatable),
214        }
215    }
216
217    pub fn primary_icon_gicon(self, primary_icon_gicon: &impl IsA<gio::Icon>) -> Self {
218        Self {
219            builder: self
220                .builder
221                .property("primary-icon-gicon", primary_icon_gicon.clone().upcast()),
222        }
223    }
224
225    pub fn primary_icon_name(self, primary_icon_name: impl Into<glib::GString>) -> Self {
226        Self {
227            builder: self
228                .builder
229                .property("primary-icon-name", primary_icon_name.into()),
230        }
231    }
232
233    pub fn primary_icon_paintable(self, primary_icon_paintable: &impl IsA<gdk::Paintable>) -> Self {
234        Self {
235            builder: self.builder.property(
236                "primary-icon-paintable",
237                primary_icon_paintable.clone().upcast(),
238            ),
239        }
240    }
241
242    pub fn primary_icon_sensitive(self, primary_icon_sensitive: bool) -> Self {
243        Self {
244            builder: self
245                .builder
246                .property("primary-icon-sensitive", primary_icon_sensitive),
247        }
248    }
249
250    pub fn primary_icon_tooltip_markup(
251        self,
252        primary_icon_tooltip_markup: impl Into<glib::GString>,
253    ) -> Self {
254        Self {
255            builder: self.builder.property(
256                "primary-icon-tooltip-markup",
257                primary_icon_tooltip_markup.into(),
258            ),
259        }
260    }
261
262    pub fn primary_icon_tooltip_text(
263        self,
264        primary_icon_tooltip_text: impl Into<glib::GString>,
265    ) -> Self {
266        Self {
267            builder: self.builder.property(
268                "primary-icon-tooltip-text",
269                primary_icon_tooltip_text.into(),
270            ),
271        }
272    }
273
274    pub fn progress_fraction(self, progress_fraction: f64) -> Self {
275        Self {
276            builder: self
277                .builder
278                .property("progress-fraction", progress_fraction),
279        }
280    }
281
282    pub fn progress_pulse_step(self, progress_pulse_step: f64) -> Self {
283        Self {
284            builder: self
285                .builder
286                .property("progress-pulse-step", progress_pulse_step),
287        }
288    }
289
290    pub fn secondary_icon_activatable(self, secondary_icon_activatable: bool) -> Self {
291        Self {
292            builder: self
293                .builder
294                .property("secondary-icon-activatable", secondary_icon_activatable),
295        }
296    }
297
298    pub fn secondary_icon_gicon(self, secondary_icon_gicon: &impl IsA<gio::Icon>) -> Self {
299        Self {
300            builder: self.builder.property(
301                "secondary-icon-gicon",
302                secondary_icon_gicon.clone().upcast(),
303            ),
304        }
305    }
306
307    pub fn secondary_icon_name(self, secondary_icon_name: impl Into<glib::GString>) -> Self {
308        Self {
309            builder: self
310                .builder
311                .property("secondary-icon-name", secondary_icon_name.into()),
312        }
313    }
314
315    pub fn secondary_icon_paintable(
316        self,
317        secondary_icon_paintable: &impl IsA<gdk::Paintable>,
318    ) -> Self {
319        Self {
320            builder: self.builder.property(
321                "secondary-icon-paintable",
322                secondary_icon_paintable.clone().upcast(),
323            ),
324        }
325    }
326
327    pub fn secondary_icon_sensitive(self, secondary_icon_sensitive: bool) -> Self {
328        Self {
329            builder: self
330                .builder
331                .property("secondary-icon-sensitive", secondary_icon_sensitive),
332        }
333    }
334
335    pub fn secondary_icon_tooltip_markup(
336        self,
337        secondary_icon_tooltip_markup: impl Into<glib::GString>,
338    ) -> Self {
339        Self {
340            builder: self.builder.property(
341                "secondary-icon-tooltip-markup",
342                secondary_icon_tooltip_markup.into(),
343            ),
344        }
345    }
346
347    pub fn secondary_icon_tooltip_text(
348        self,
349        secondary_icon_tooltip_text: impl Into<glib::GString>,
350    ) -> Self {
351        Self {
352            builder: self.builder.property(
353                "secondary-icon-tooltip-text",
354                secondary_icon_tooltip_text.into(),
355            ),
356        }
357    }
358
359    pub fn show_emoji_icon(self, show_emoji_icon: bool) -> Self {
360        Self {
361            builder: self.builder.property("show-emoji-icon", show_emoji_icon),
362        }
363    }
364
365    pub fn tabs(self, tabs: &pango::TabArray) -> Self {
366        Self {
367            builder: self.builder.property("tabs", tabs),
368        }
369    }
370
371    pub fn truncate_multiline(self, truncate_multiline: bool) -> Self {
372        Self {
373            builder: self
374                .builder
375                .property("truncate-multiline", truncate_multiline),
376        }
377    }
378
379    pub fn visibility(self, visibility: bool) -> Self {
380        Self {
381            builder: self.builder.property("visibility", visibility),
382        }
383    }
384
385    pub fn can_focus(self, can_focus: bool) -> Self {
386        Self {
387            builder: self.builder.property("can-focus", can_focus),
388        }
389    }
390
391    pub fn can_target(self, can_target: bool) -> Self {
392        Self {
393            builder: self.builder.property("can-target", can_target),
394        }
395    }
396
397    pub fn css_classes(self, css_classes: impl Into<glib::StrV>) -> Self {
398        Self {
399            builder: self.builder.property("css-classes", css_classes.into()),
400        }
401    }
402
403    pub fn css_name(self, css_name: impl Into<glib::GString>) -> Self {
404        Self {
405            builder: self.builder.property("css-name", css_name.into()),
406        }
407    }
408
409    pub fn cursor(self, cursor: &gdk::Cursor) -> Self {
410        Self {
411            builder: self.builder.property("cursor", cursor.clone()),
412        }
413    }
414
415    pub fn focus_on_click(self, focus_on_click: bool) -> Self {
416        Self {
417            builder: self.builder.property("focus-on-click", focus_on_click),
418        }
419    }
420
421    pub fn focusable(self, focusable: bool) -> Self {
422        Self {
423            builder: self.builder.property("focusable", focusable),
424        }
425    }
426
427    pub fn halign(self, halign: Align) -> Self {
428        Self {
429            builder: self.builder.property("halign", halign),
430        }
431    }
432
433    pub fn has_tooltip(self, has_tooltip: bool) -> Self {
434        Self {
435            builder: self.builder.property("has-tooltip", has_tooltip),
436        }
437    }
438
439    pub fn height_request(self, height_request: i32) -> Self {
440        Self {
441            builder: self.builder.property("height-request", height_request),
442        }
443    }
444
445    pub fn hexpand(self, hexpand: bool) -> Self {
446        Self {
447            builder: self.builder.property("hexpand", hexpand),
448        }
449    }
450
451    pub fn hexpand_set(self, hexpand_set: bool) -> Self {
452        Self {
453            builder: self.builder.property("hexpand-set", hexpand_set),
454        }
455    }
456
457    pub fn layout_manager(self, layout_manager: &impl IsA<LayoutManager>) -> Self {
458        Self {
459            builder: self
460                .builder
461                .property("layout-manager", layout_manager.clone().upcast()),
462        }
463    }
464
465    #[cfg(feature = "v4_18")]
466    #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))]
467    pub fn limit_events(self, limit_events: bool) -> Self {
468        Self {
469            builder: self.builder.property("limit-events", limit_events),
470        }
471    }
472
473    pub fn margin_bottom(self, margin_bottom: i32) -> Self {
474        Self {
475            builder: self.builder.property("margin-bottom", margin_bottom),
476        }
477    }
478
479    pub fn margin_end(self, margin_end: i32) -> Self {
480        Self {
481            builder: self.builder.property("margin-end", margin_end),
482        }
483    }
484
485    pub fn margin_start(self, margin_start: i32) -> Self {
486        Self {
487            builder: self.builder.property("margin-start", margin_start),
488        }
489    }
490
491    pub fn margin_top(self, margin_top: i32) -> Self {
492        Self {
493            builder: self.builder.property("margin-top", margin_top),
494        }
495    }
496
497    pub fn name(self, name: impl Into<glib::GString>) -> Self {
498        Self {
499            builder: self.builder.property("name", name.into()),
500        }
501    }
502
503    pub fn opacity(self, opacity: f64) -> Self {
504        Self {
505            builder: self.builder.property("opacity", opacity),
506        }
507    }
508
509    pub fn overflow(self, overflow: Overflow) -> Self {
510        Self {
511            builder: self.builder.property("overflow", overflow),
512        }
513    }
514
515    pub fn receives_default(self, receives_default: bool) -> Self {
516        Self {
517            builder: self.builder.property("receives-default", receives_default),
518        }
519    }
520
521    pub fn sensitive(self, sensitive: bool) -> Self {
522        Self {
523            builder: self.builder.property("sensitive", sensitive),
524        }
525    }
526
527    pub fn tooltip_markup(self, tooltip_markup: impl Into<glib::GString>) -> Self {
528        Self {
529            builder: self
530                .builder
531                .property("tooltip-markup", tooltip_markup.into()),
532        }
533    }
534
535    pub fn tooltip_text(self, tooltip_text: impl Into<glib::GString>) -> Self {
536        Self {
537            builder: self.builder.property("tooltip-text", tooltip_text.into()),
538        }
539    }
540
541    pub fn valign(self, valign: Align) -> Self {
542        Self {
543            builder: self.builder.property("valign", valign),
544        }
545    }
546
547    pub fn vexpand(self, vexpand: bool) -> Self {
548        Self {
549            builder: self.builder.property("vexpand", vexpand),
550        }
551    }
552
553    pub fn vexpand_set(self, vexpand_set: bool) -> Self {
554        Self {
555            builder: self.builder.property("vexpand-set", vexpand_set),
556        }
557    }
558
559    pub fn visible(self, visible: bool) -> Self {
560        Self {
561            builder: self.builder.property("visible", visible),
562        }
563    }
564
565    pub fn width_request(self, width_request: i32) -> Self {
566        Self {
567            builder: self.builder.property("width-request", width_request),
568        }
569    }
570
571    pub fn accessible_role(self, accessible_role: AccessibleRole) -> Self {
572        Self {
573            builder: self.builder.property("accessible-role", accessible_role),
574        }
575    }
576
577    pub fn editing_canceled(self, editing_canceled: bool) -> Self {
578        Self {
579            builder: self.builder.property("editing-canceled", editing_canceled),
580        }
581    }
582
583    pub fn editable(self, editable: bool) -> Self {
584        Self {
585            builder: self.builder.property("editable", editable),
586        }
587    }
588
589    pub fn enable_undo(self, enable_undo: bool) -> Self {
590        Self {
591            builder: self.builder.property("enable-undo", enable_undo),
592        }
593    }
594
595    pub fn max_width_chars(self, max_width_chars: i32) -> Self {
596        Self {
597            builder: self.builder.property("max-width-chars", max_width_chars),
598        }
599    }
600
601    pub fn text(self, text: impl Into<glib::GString>) -> Self {
602        Self {
603            builder: self.builder.property("text", text.into()),
604        }
605    }
606
607    pub fn width_chars(self, width_chars: i32) -> Self {
608        Self {
609            builder: self.builder.property("width-chars", width_chars),
610        }
611    }
612
613    pub fn xalign(self, xalign: f32) -> Self {
614        Self {
615            builder: self.builder.property("xalign", xalign),
616        }
617    }
618
619    // rustdoc-stripper-ignore-next
620    /// Build the [`Entry`].
621    #[must_use = "Building the object from the builder is usually expensive and is not expected to have side effects"]
622    pub fn build(self) -> Entry {
623        assert_initialized_main_thread!();
624        self.builder.build()
625    }
626}
627
628pub trait EntryExt: IsA<Entry> + 'static {
629    #[doc(alias = "gtk_entry_get_activates_default")]
630    #[doc(alias = "get_activates_default")]
631    #[doc(alias = "activates-default")]
632    fn activates_default(&self) -> bool {
633        unsafe {
634            from_glib(ffi::gtk_entry_get_activates_default(
635                self.as_ref().to_glib_none().0,
636            ))
637        }
638    }
639
640    #[doc(alias = "gtk_entry_get_alignment")]
641    #[doc(alias = "get_alignment")]
642    fn alignment(&self) -> f32 {
643        unsafe { ffi::gtk_entry_get_alignment(self.as_ref().to_glib_none().0) }
644    }
645
646    #[doc(alias = "gtk_entry_get_attributes")]
647    #[doc(alias = "get_attributes")]
648    fn attributes(&self) -> Option<pango::AttrList> {
649        unsafe {
650            from_glib_none(ffi::gtk_entry_get_attributes(
651                self.as_ref().to_glib_none().0,
652            ))
653        }
654    }
655
656    #[doc(alias = "gtk_entry_get_buffer")]
657    #[doc(alias = "get_buffer")]
658    fn buffer(&self) -> EntryBuffer {
659        unsafe { from_glib_none(ffi::gtk_entry_get_buffer(self.as_ref().to_glib_none().0)) }
660    }
661
662    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
663    #[allow(deprecated)]
664    #[doc(alias = "gtk_entry_get_completion")]
665    #[doc(alias = "get_completion")]
666    fn completion(&self) -> Option<EntryCompletion> {
667        unsafe {
668            from_glib_none(ffi::gtk_entry_get_completion(
669                self.as_ref().to_glib_none().0,
670            ))
671        }
672    }
673
674    #[doc(alias = "gtk_entry_get_current_icon_drag_source")]
675    #[doc(alias = "get_current_icon_drag_source")]
676    fn current_icon_drag_source(&self) -> i32 {
677        unsafe { ffi::gtk_entry_get_current_icon_drag_source(self.as_ref().to_glib_none().0) }
678    }
679
680    #[doc(alias = "gtk_entry_get_extra_menu")]
681    #[doc(alias = "get_extra_menu")]
682    #[doc(alias = "extra-menu")]
683    fn extra_menu(&self) -> Option<gio::MenuModel> {
684        unsafe {
685            from_glib_none(ffi::gtk_entry_get_extra_menu(
686                self.as_ref().to_glib_none().0,
687            ))
688        }
689    }
690
691    #[doc(alias = "gtk_entry_get_has_frame")]
692    #[doc(alias = "get_has_frame")]
693    #[doc(alias = "has-frame")]
694    fn has_frame(&self) -> bool {
695        unsafe { from_glib(ffi::gtk_entry_get_has_frame(self.as_ref().to_glib_none().0)) }
696    }
697
698    #[doc(alias = "gtk_entry_get_icon_activatable")]
699    #[doc(alias = "get_icon_activatable")]
700    fn icon_is_activatable(&self, icon_pos: EntryIconPosition) -> bool {
701        unsafe {
702            from_glib(ffi::gtk_entry_get_icon_activatable(
703                self.as_ref().to_glib_none().0,
704                icon_pos.into_glib(),
705            ))
706        }
707    }
708
709    #[doc(alias = "gtk_entry_get_icon_area")]
710    #[doc(alias = "get_icon_area")]
711    fn icon_area(&self, icon_pos: EntryIconPosition) -> gdk::Rectangle {
712        unsafe {
713            let mut icon_area = gdk::Rectangle::uninitialized();
714            ffi::gtk_entry_get_icon_area(
715                self.as_ref().to_glib_none().0,
716                icon_pos.into_glib(),
717                icon_area.to_glib_none_mut().0,
718            );
719            icon_area
720        }
721    }
722
723    #[doc(alias = "gtk_entry_get_icon_at_pos")]
724    #[doc(alias = "get_icon_at_pos")]
725    fn icon_at_pos(&self, x: i32, y: i32) -> i32 {
726        unsafe { ffi::gtk_entry_get_icon_at_pos(self.as_ref().to_glib_none().0, x, y) }
727    }
728
729    #[doc(alias = "gtk_entry_get_icon_gicon")]
730    #[doc(alias = "get_icon_gicon")]
731    fn icon_gicon(&self, icon_pos: EntryIconPosition) -> Option<gio::Icon> {
732        unsafe {
733            from_glib_none(ffi::gtk_entry_get_icon_gicon(
734                self.as_ref().to_glib_none().0,
735                icon_pos.into_glib(),
736            ))
737        }
738    }
739
740    #[doc(alias = "gtk_entry_get_icon_name")]
741    #[doc(alias = "get_icon_name")]
742    fn icon_name(&self, icon_pos: EntryIconPosition) -> Option<glib::GString> {
743        unsafe {
744            from_glib_none(ffi::gtk_entry_get_icon_name(
745                self.as_ref().to_glib_none().0,
746                icon_pos.into_glib(),
747            ))
748        }
749    }
750
751    #[doc(alias = "gtk_entry_get_icon_paintable")]
752    #[doc(alias = "get_icon_paintable")]
753    fn icon_paintable(&self, icon_pos: EntryIconPosition) -> Option<gdk::Paintable> {
754        unsafe {
755            from_glib_none(ffi::gtk_entry_get_icon_paintable(
756                self.as_ref().to_glib_none().0,
757                icon_pos.into_glib(),
758            ))
759        }
760    }
761
762    #[doc(alias = "gtk_entry_get_icon_sensitive")]
763    #[doc(alias = "get_icon_sensitive")]
764    fn icon_is_sensitive(&self, icon_pos: EntryIconPosition) -> bool {
765        unsafe {
766            from_glib(ffi::gtk_entry_get_icon_sensitive(
767                self.as_ref().to_glib_none().0,
768                icon_pos.into_glib(),
769            ))
770        }
771    }
772
773    #[doc(alias = "gtk_entry_get_icon_storage_type")]
774    #[doc(alias = "get_icon_storage_type")]
775    fn icon_storage_type(&self, icon_pos: EntryIconPosition) -> ImageType {
776        unsafe {
777            from_glib(ffi::gtk_entry_get_icon_storage_type(
778                self.as_ref().to_glib_none().0,
779                icon_pos.into_glib(),
780            ))
781        }
782    }
783
784    #[doc(alias = "gtk_entry_get_icon_tooltip_markup")]
785    #[doc(alias = "get_icon_tooltip_markup")]
786    fn icon_tooltip_markup(&self, icon_pos: EntryIconPosition) -> Option<glib::GString> {
787        unsafe {
788            from_glib_full(ffi::gtk_entry_get_icon_tooltip_markup(
789                self.as_ref().to_glib_none().0,
790                icon_pos.into_glib(),
791            ))
792        }
793    }
794
795    #[doc(alias = "gtk_entry_get_icon_tooltip_text")]
796    #[doc(alias = "get_icon_tooltip_text")]
797    fn icon_tooltip_text(&self, icon_pos: EntryIconPosition) -> Option<glib::GString> {
798        unsafe {
799            from_glib_full(ffi::gtk_entry_get_icon_tooltip_text(
800                self.as_ref().to_glib_none().0,
801                icon_pos.into_glib(),
802            ))
803        }
804    }
805
806    #[doc(alias = "gtk_entry_get_input_hints")]
807    #[doc(alias = "get_input_hints")]
808    #[doc(alias = "input-hints")]
809    fn input_hints(&self) -> InputHints {
810        unsafe {
811            from_glib(ffi::gtk_entry_get_input_hints(
812                self.as_ref().to_glib_none().0,
813            ))
814        }
815    }
816
817    #[doc(alias = "gtk_entry_get_input_purpose")]
818    #[doc(alias = "get_input_purpose")]
819    #[doc(alias = "input-purpose")]
820    fn input_purpose(&self) -> InputPurpose {
821        unsafe {
822            from_glib(ffi::gtk_entry_get_input_purpose(
823                self.as_ref().to_glib_none().0,
824            ))
825        }
826    }
827
828    #[doc(alias = "gtk_entry_get_max_length")]
829    #[doc(alias = "get_max_length")]
830    #[doc(alias = "max-length")]
831    fn max_length(&self) -> i32 {
832        unsafe { ffi::gtk_entry_get_max_length(self.as_ref().to_glib_none().0) }
833    }
834
835    #[cfg(feature = "v4_20")]
836    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
837    #[doc(alias = "gtk_entry_get_menu_entry_icon_text")]
838    #[doc(alias = "get_menu_entry_icon_text")]
839    fn menu_entry_icon_text(&self, icon_pos: EntryIconPosition) -> Option<glib::GString> {
840        unsafe {
841            from_glib_none(ffi::gtk_entry_get_menu_entry_icon_text(
842                self.as_ref().to_glib_none().0,
843                icon_pos.into_glib(),
844            ))
845        }
846    }
847
848    #[doc(alias = "gtk_entry_get_overwrite_mode")]
849    #[doc(alias = "get_overwrite_mode")]
850    #[doc(alias = "overwrite-mode")]
851    fn is_overwrite_mode(&self) -> bool {
852        unsafe {
853            from_glib(ffi::gtk_entry_get_overwrite_mode(
854                self.as_ref().to_glib_none().0,
855            ))
856        }
857    }
858
859    #[doc(alias = "gtk_entry_get_placeholder_text")]
860    #[doc(alias = "get_placeholder_text")]
861    #[doc(alias = "placeholder-text")]
862    fn placeholder_text(&self) -> Option<glib::GString> {
863        unsafe {
864            from_glib_none(ffi::gtk_entry_get_placeholder_text(
865                self.as_ref().to_glib_none().0,
866            ))
867        }
868    }
869
870    #[doc(alias = "gtk_entry_get_progress_fraction")]
871    #[doc(alias = "get_progress_fraction")]
872    #[doc(alias = "progress-fraction")]
873    fn progress_fraction(&self) -> f64 {
874        unsafe { ffi::gtk_entry_get_progress_fraction(self.as_ref().to_glib_none().0) }
875    }
876
877    #[doc(alias = "gtk_entry_get_progress_pulse_step")]
878    #[doc(alias = "get_progress_pulse_step")]
879    #[doc(alias = "progress-pulse-step")]
880    fn progress_pulse_step(&self) -> f64 {
881        unsafe { ffi::gtk_entry_get_progress_pulse_step(self.as_ref().to_glib_none().0) }
882    }
883
884    #[doc(alias = "gtk_entry_get_tabs")]
885    #[doc(alias = "get_tabs")]
886    fn tabs(&self) -> Option<pango::TabArray> {
887        unsafe { from_glib_none(ffi::gtk_entry_get_tabs(self.as_ref().to_glib_none().0)) }
888    }
889
890    #[doc(alias = "gtk_entry_get_text_length")]
891    #[doc(alias = "get_text_length")]
892    #[doc(alias = "text-length")]
893    fn text_length(&self) -> u16 {
894        unsafe { ffi::gtk_entry_get_text_length(self.as_ref().to_glib_none().0) }
895    }
896
897    #[doc(alias = "gtk_entry_get_visibility")]
898    #[doc(alias = "get_visibility")]
899    #[doc(alias = "visibility")]
900    fn is_visible(&self) -> bool {
901        unsafe {
902            from_glib(ffi::gtk_entry_get_visibility(
903                self.as_ref().to_glib_none().0,
904            ))
905        }
906    }
907
908    #[doc(alias = "gtk_entry_grab_focus_without_selecting")]
909    fn grab_focus_without_selecting(&self) -> bool {
910        unsafe {
911            from_glib(ffi::gtk_entry_grab_focus_without_selecting(
912                self.as_ref().to_glib_none().0,
913            ))
914        }
915    }
916
917    #[doc(alias = "gtk_entry_progress_pulse")]
918    fn progress_pulse(&self) {
919        unsafe {
920            ffi::gtk_entry_progress_pulse(self.as_ref().to_glib_none().0);
921        }
922    }
923
924    #[doc(alias = "gtk_entry_reset_im_context")]
925    fn reset_im_context(&self) {
926        unsafe {
927            ffi::gtk_entry_reset_im_context(self.as_ref().to_glib_none().0);
928        }
929    }
930
931    #[doc(alias = "gtk_entry_set_activates_default")]
932    #[doc(alias = "activates-default")]
933    fn set_activates_default(&self, setting: bool) {
934        unsafe {
935            ffi::gtk_entry_set_activates_default(
936                self.as_ref().to_glib_none().0,
937                setting.into_glib(),
938            );
939        }
940    }
941
942    #[doc(alias = "gtk_entry_set_alignment")]
943    fn set_alignment(&self, xalign: f32) {
944        unsafe {
945            ffi::gtk_entry_set_alignment(self.as_ref().to_glib_none().0, xalign);
946        }
947    }
948
949    #[doc(alias = "gtk_entry_set_attributes")]
950    #[doc(alias = "attributes")]
951    fn set_attributes(&self, attrs: &pango::AttrList) {
952        unsafe {
953            ffi::gtk_entry_set_attributes(self.as_ref().to_glib_none().0, attrs.to_glib_none().0);
954        }
955    }
956
957    #[doc(alias = "gtk_entry_set_buffer")]
958    #[doc(alias = "buffer")]
959    fn set_buffer(&self, buffer: &impl IsA<EntryBuffer>) {
960        unsafe {
961            ffi::gtk_entry_set_buffer(
962                self.as_ref().to_glib_none().0,
963                buffer.as_ref().to_glib_none().0,
964            );
965        }
966    }
967
968    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
969    #[allow(deprecated)]
970    #[doc(alias = "gtk_entry_set_completion")]
971    #[doc(alias = "completion")]
972    fn set_completion(&self, completion: Option<&EntryCompletion>) {
973        unsafe {
974            ffi::gtk_entry_set_completion(
975                self.as_ref().to_glib_none().0,
976                completion.to_glib_none().0,
977            );
978        }
979    }
980
981    #[doc(alias = "gtk_entry_set_extra_menu")]
982    #[doc(alias = "extra-menu")]
983    fn set_extra_menu(&self, model: Option<&impl IsA<gio::MenuModel>>) {
984        unsafe {
985            ffi::gtk_entry_set_extra_menu(
986                self.as_ref().to_glib_none().0,
987                model.map(|p| p.as_ref()).to_glib_none().0,
988            );
989        }
990    }
991
992    #[doc(alias = "gtk_entry_set_has_frame")]
993    #[doc(alias = "has-frame")]
994    fn set_has_frame(&self, setting: bool) {
995        unsafe {
996            ffi::gtk_entry_set_has_frame(self.as_ref().to_glib_none().0, setting.into_glib());
997        }
998    }
999
1000    #[doc(alias = "gtk_entry_set_icon_activatable")]
1001    fn set_icon_activatable(&self, icon_pos: EntryIconPosition, activatable: bool) {
1002        unsafe {
1003            ffi::gtk_entry_set_icon_activatable(
1004                self.as_ref().to_glib_none().0,
1005                icon_pos.into_glib(),
1006                activatable.into_glib(),
1007            );
1008        }
1009    }
1010
1011    #[doc(alias = "gtk_entry_set_icon_drag_source")]
1012    fn set_icon_drag_source(
1013        &self,
1014        icon_pos: EntryIconPosition,
1015        provider: &impl IsA<gdk::ContentProvider>,
1016        actions: gdk::DragAction,
1017    ) {
1018        unsafe {
1019            ffi::gtk_entry_set_icon_drag_source(
1020                self.as_ref().to_glib_none().0,
1021                icon_pos.into_glib(),
1022                provider.as_ref().to_glib_none().0,
1023                actions.into_glib(),
1024            );
1025        }
1026    }
1027
1028    #[doc(alias = "gtk_entry_set_icon_from_gicon")]
1029    fn set_icon_from_gicon(&self, icon_pos: EntryIconPosition, icon: Option<&impl IsA<gio::Icon>>) {
1030        unsafe {
1031            ffi::gtk_entry_set_icon_from_gicon(
1032                self.as_ref().to_glib_none().0,
1033                icon_pos.into_glib(),
1034                icon.map(|p| p.as_ref()).to_glib_none().0,
1035            );
1036        }
1037    }
1038
1039    #[doc(alias = "gtk_entry_set_icon_from_icon_name")]
1040    fn set_icon_from_icon_name(&self, icon_pos: EntryIconPosition, icon_name: Option<&str>) {
1041        unsafe {
1042            ffi::gtk_entry_set_icon_from_icon_name(
1043                self.as_ref().to_glib_none().0,
1044                icon_pos.into_glib(),
1045                icon_name.to_glib_none().0,
1046            );
1047        }
1048    }
1049
1050    #[doc(alias = "gtk_entry_set_icon_from_paintable")]
1051    fn set_icon_from_paintable(
1052        &self,
1053        icon_pos: EntryIconPosition,
1054        paintable: Option<&impl IsA<gdk::Paintable>>,
1055    ) {
1056        unsafe {
1057            ffi::gtk_entry_set_icon_from_paintable(
1058                self.as_ref().to_glib_none().0,
1059                icon_pos.into_glib(),
1060                paintable.map(|p| p.as_ref()).to_glib_none().0,
1061            );
1062        }
1063    }
1064
1065    #[doc(alias = "gtk_entry_set_icon_sensitive")]
1066    fn set_icon_sensitive(&self, icon_pos: EntryIconPosition, sensitive: bool) {
1067        unsafe {
1068            ffi::gtk_entry_set_icon_sensitive(
1069                self.as_ref().to_glib_none().0,
1070                icon_pos.into_glib(),
1071                sensitive.into_glib(),
1072            );
1073        }
1074    }
1075
1076    #[doc(alias = "gtk_entry_set_icon_tooltip_markup")]
1077    fn set_icon_tooltip_markup(&self, icon_pos: EntryIconPosition, tooltip: Option<&str>) {
1078        unsafe {
1079            ffi::gtk_entry_set_icon_tooltip_markup(
1080                self.as_ref().to_glib_none().0,
1081                icon_pos.into_glib(),
1082                tooltip.to_glib_none().0,
1083            );
1084        }
1085    }
1086
1087    #[doc(alias = "gtk_entry_set_icon_tooltip_text")]
1088    fn set_icon_tooltip_text(&self, icon_pos: EntryIconPosition, tooltip: Option<&str>) {
1089        unsafe {
1090            ffi::gtk_entry_set_icon_tooltip_text(
1091                self.as_ref().to_glib_none().0,
1092                icon_pos.into_glib(),
1093                tooltip.to_glib_none().0,
1094            );
1095        }
1096    }
1097
1098    #[doc(alias = "gtk_entry_set_input_hints")]
1099    #[doc(alias = "input-hints")]
1100    fn set_input_hints(&self, hints: InputHints) {
1101        unsafe {
1102            ffi::gtk_entry_set_input_hints(self.as_ref().to_glib_none().0, hints.into_glib());
1103        }
1104    }
1105
1106    #[doc(alias = "gtk_entry_set_input_purpose")]
1107    #[doc(alias = "input-purpose")]
1108    fn set_input_purpose(&self, purpose: InputPurpose) {
1109        unsafe {
1110            ffi::gtk_entry_set_input_purpose(self.as_ref().to_glib_none().0, purpose.into_glib());
1111        }
1112    }
1113
1114    #[doc(alias = "gtk_entry_set_invisible_char")]
1115    #[doc(alias = "invisible-char")]
1116    fn set_invisible_char(&self, ch: Option<char>) {
1117        unsafe {
1118            ffi::gtk_entry_set_invisible_char(self.as_ref().to_glib_none().0, ch.into_glib());
1119        }
1120    }
1121
1122    #[doc(alias = "gtk_entry_set_max_length")]
1123    #[doc(alias = "max-length")]
1124    fn set_max_length(&self, max: i32) {
1125        unsafe {
1126            ffi::gtk_entry_set_max_length(self.as_ref().to_glib_none().0, max);
1127        }
1128    }
1129
1130    #[cfg(feature = "v4_20")]
1131    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1132    #[doc(alias = "gtk_entry_set_menu_entry_icon_text")]
1133    fn set_menu_entry_icon_text(&self, icon_pos: EntryIconPosition, text: &str) {
1134        unsafe {
1135            ffi::gtk_entry_set_menu_entry_icon_text(
1136                self.as_ref().to_glib_none().0,
1137                icon_pos.into_glib(),
1138                text.to_glib_none().0,
1139            );
1140        }
1141    }
1142
1143    #[doc(alias = "gtk_entry_set_overwrite_mode")]
1144    #[doc(alias = "overwrite-mode")]
1145    fn set_overwrite_mode(&self, overwrite: bool) {
1146        unsafe {
1147            ffi::gtk_entry_set_overwrite_mode(
1148                self.as_ref().to_glib_none().0,
1149                overwrite.into_glib(),
1150            );
1151        }
1152    }
1153
1154    #[doc(alias = "gtk_entry_set_placeholder_text")]
1155    #[doc(alias = "placeholder-text")]
1156    fn set_placeholder_text(&self, text: Option<&str>) {
1157        unsafe {
1158            ffi::gtk_entry_set_placeholder_text(
1159                self.as_ref().to_glib_none().0,
1160                text.to_glib_none().0,
1161            );
1162        }
1163    }
1164
1165    #[doc(alias = "gtk_entry_set_progress_fraction")]
1166    #[doc(alias = "progress-fraction")]
1167    fn set_progress_fraction(&self, fraction: f64) {
1168        unsafe {
1169            ffi::gtk_entry_set_progress_fraction(self.as_ref().to_glib_none().0, fraction);
1170        }
1171    }
1172
1173    #[doc(alias = "gtk_entry_set_progress_pulse_step")]
1174    #[doc(alias = "progress-pulse-step")]
1175    fn set_progress_pulse_step(&self, fraction: f64) {
1176        unsafe {
1177            ffi::gtk_entry_set_progress_pulse_step(self.as_ref().to_glib_none().0, fraction);
1178        }
1179    }
1180
1181    #[doc(alias = "gtk_entry_set_tabs")]
1182    #[doc(alias = "tabs")]
1183    fn set_tabs(&self, tabs: Option<&pango::TabArray>) {
1184        unsafe {
1185            ffi::gtk_entry_set_tabs(
1186                self.as_ref().to_glib_none().0,
1187                mut_override(tabs.to_glib_none().0),
1188            );
1189        }
1190    }
1191
1192    #[doc(alias = "gtk_entry_set_visibility")]
1193    #[doc(alias = "visibility")]
1194    fn set_visibility(&self, visible: bool) {
1195        unsafe {
1196            ffi::gtk_entry_set_visibility(self.as_ref().to_glib_none().0, visible.into_glib());
1197        }
1198    }
1199
1200    #[doc(alias = "gtk_entry_unset_invisible_char")]
1201    fn unset_invisible_char(&self) {
1202        unsafe {
1203            ffi::gtk_entry_unset_invisible_char(self.as_ref().to_glib_none().0);
1204        }
1205    }
1206
1207    #[doc(alias = "enable-emoji-completion")]
1208    fn enables_emoji_completion(&self) -> bool {
1209        ObjectExt::property(self.as_ref(), "enable-emoji-completion")
1210    }
1211
1212    #[doc(alias = "enable-emoji-completion")]
1213    fn set_enable_emoji_completion(&self, enable_emoji_completion: bool) {
1214        ObjectExt::set_property(
1215            self.as_ref(),
1216            "enable-emoji-completion",
1217            enable_emoji_completion,
1218        )
1219    }
1220
1221    #[doc(alias = "im-module")]
1222    fn im_module(&self) -> Option<glib::GString> {
1223        ObjectExt::property(self.as_ref(), "im-module")
1224    }
1225
1226    #[doc(alias = "im-module")]
1227    fn set_im_module(&self, im_module: Option<&str>) {
1228        ObjectExt::set_property(self.as_ref(), "im-module", im_module)
1229    }
1230
1231    #[doc(alias = "invisible-char-set")]
1232    fn is_invisible_char_set(&self) -> bool {
1233        ObjectExt::property(self.as_ref(), "invisible-char-set")
1234    }
1235
1236    #[cfg(feature = "v4_20")]
1237    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1238    #[doc(alias = "menu-entry-icon-primary-text")]
1239    fn menu_entry_icon_primary_text(&self) -> Option<glib::GString> {
1240        ObjectExt::property(self.as_ref(), "menu-entry-icon-primary-text")
1241    }
1242
1243    #[cfg(feature = "v4_20")]
1244    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1245    #[doc(alias = "menu-entry-icon-primary-text")]
1246    fn set_menu_entry_icon_primary_text(&self, menu_entry_icon_primary_text: Option<&str>) {
1247        ObjectExt::set_property(
1248            self.as_ref(),
1249            "menu-entry-icon-primary-text",
1250            menu_entry_icon_primary_text,
1251        )
1252    }
1253
1254    #[cfg(feature = "v4_20")]
1255    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1256    #[doc(alias = "menu-entry-icon-secondary-text")]
1257    fn menu_entry_icon_secondary_text(&self) -> Option<glib::GString> {
1258        ObjectExt::property(self.as_ref(), "menu-entry-icon-secondary-text")
1259    }
1260
1261    #[cfg(feature = "v4_20")]
1262    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1263    #[doc(alias = "menu-entry-icon-secondary-text")]
1264    fn set_menu_entry_icon_secondary_text(&self, menu_entry_icon_secondary_text: Option<&str>) {
1265        ObjectExt::set_property(
1266            self.as_ref(),
1267            "menu-entry-icon-secondary-text",
1268            menu_entry_icon_secondary_text,
1269        )
1270    }
1271
1272    #[doc(alias = "primary-icon-activatable")]
1273    fn is_primary_icon_activatable(&self) -> bool {
1274        ObjectExt::property(self.as_ref(), "primary-icon-activatable")
1275    }
1276
1277    #[doc(alias = "primary-icon-activatable")]
1278    fn set_primary_icon_activatable(&self, primary_icon_activatable: bool) {
1279        ObjectExt::set_property(
1280            self.as_ref(),
1281            "primary-icon-activatable",
1282            primary_icon_activatable,
1283        )
1284    }
1285
1286    #[doc(alias = "primary-icon-gicon")]
1287    fn primary_icon_gicon(&self) -> Option<gio::Icon> {
1288        ObjectExt::property(self.as_ref(), "primary-icon-gicon")
1289    }
1290
1291    #[doc(alias = "primary-icon-gicon")]
1292    fn set_primary_icon_gicon<P: IsA<gio::Icon>>(&self, primary_icon_gicon: Option<&P>) {
1293        ObjectExt::set_property(self.as_ref(), "primary-icon-gicon", primary_icon_gicon)
1294    }
1295
1296    #[doc(alias = "primary-icon-name")]
1297    fn primary_icon_name(&self) -> Option<glib::GString> {
1298        ObjectExt::property(self.as_ref(), "primary-icon-name")
1299    }
1300
1301    #[doc(alias = "primary-icon-name")]
1302    fn set_primary_icon_name(&self, primary_icon_name: Option<&str>) {
1303        ObjectExt::set_property(self.as_ref(), "primary-icon-name", primary_icon_name)
1304    }
1305
1306    #[doc(alias = "primary-icon-paintable")]
1307    fn primary_icon_paintable(&self) -> Option<gdk::Paintable> {
1308        ObjectExt::property(self.as_ref(), "primary-icon-paintable")
1309    }
1310
1311    #[doc(alias = "primary-icon-paintable")]
1312    fn set_primary_icon_paintable<P: IsA<gdk::Paintable>>(
1313        &self,
1314        primary_icon_paintable: Option<&P>,
1315    ) {
1316        ObjectExt::set_property(
1317            self.as_ref(),
1318            "primary-icon-paintable",
1319            primary_icon_paintable,
1320        )
1321    }
1322
1323    #[doc(alias = "primary-icon-sensitive")]
1324    fn is_primary_icon_sensitive(&self) -> bool {
1325        ObjectExt::property(self.as_ref(), "primary-icon-sensitive")
1326    }
1327
1328    #[doc(alias = "primary-icon-sensitive")]
1329    fn set_primary_icon_sensitive(&self, primary_icon_sensitive: bool) {
1330        ObjectExt::set_property(
1331            self.as_ref(),
1332            "primary-icon-sensitive",
1333            primary_icon_sensitive,
1334        )
1335    }
1336
1337    #[doc(alias = "primary-icon-storage-type")]
1338    fn primary_icon_storage_type(&self) -> ImageType {
1339        ObjectExt::property(self.as_ref(), "primary-icon-storage-type")
1340    }
1341
1342    #[doc(alias = "primary-icon-tooltip-markup")]
1343    fn primary_icon_tooltip_markup(&self) -> Option<glib::GString> {
1344        ObjectExt::property(self.as_ref(), "primary-icon-tooltip-markup")
1345    }
1346
1347    #[doc(alias = "primary-icon-tooltip-markup")]
1348    fn set_primary_icon_tooltip_markup(&self, primary_icon_tooltip_markup: Option<&str>) {
1349        ObjectExt::set_property(
1350            self.as_ref(),
1351            "primary-icon-tooltip-markup",
1352            primary_icon_tooltip_markup,
1353        )
1354    }
1355
1356    #[doc(alias = "primary-icon-tooltip-text")]
1357    fn primary_icon_tooltip_text(&self) -> Option<glib::GString> {
1358        ObjectExt::property(self.as_ref(), "primary-icon-tooltip-text")
1359    }
1360
1361    #[doc(alias = "primary-icon-tooltip-text")]
1362    fn set_primary_icon_tooltip_text(&self, primary_icon_tooltip_text: Option<&str>) {
1363        ObjectExt::set_property(
1364            self.as_ref(),
1365            "primary-icon-tooltip-text",
1366            primary_icon_tooltip_text,
1367        )
1368    }
1369
1370    #[doc(alias = "scroll-offset")]
1371    fn scroll_offset(&self) -> i32 {
1372        ObjectExt::property(self.as_ref(), "scroll-offset")
1373    }
1374
1375    #[doc(alias = "secondary-icon-activatable")]
1376    fn is_secondary_icon_activatable(&self) -> bool {
1377        ObjectExt::property(self.as_ref(), "secondary-icon-activatable")
1378    }
1379
1380    #[doc(alias = "secondary-icon-activatable")]
1381    fn set_secondary_icon_activatable(&self, secondary_icon_activatable: bool) {
1382        ObjectExt::set_property(
1383            self.as_ref(),
1384            "secondary-icon-activatable",
1385            secondary_icon_activatable,
1386        )
1387    }
1388
1389    #[doc(alias = "secondary-icon-gicon")]
1390    fn secondary_icon_gicon(&self) -> Option<gio::Icon> {
1391        ObjectExt::property(self.as_ref(), "secondary-icon-gicon")
1392    }
1393
1394    #[doc(alias = "secondary-icon-gicon")]
1395    fn set_secondary_icon_gicon<P: IsA<gio::Icon>>(&self, secondary_icon_gicon: Option<&P>) {
1396        ObjectExt::set_property(self.as_ref(), "secondary-icon-gicon", secondary_icon_gicon)
1397    }
1398
1399    #[doc(alias = "secondary-icon-name")]
1400    fn secondary_icon_name(&self) -> Option<glib::GString> {
1401        ObjectExt::property(self.as_ref(), "secondary-icon-name")
1402    }
1403
1404    #[doc(alias = "secondary-icon-name")]
1405    fn set_secondary_icon_name(&self, secondary_icon_name: Option<&str>) {
1406        ObjectExt::set_property(self.as_ref(), "secondary-icon-name", secondary_icon_name)
1407    }
1408
1409    #[doc(alias = "secondary-icon-paintable")]
1410    fn secondary_icon_paintable(&self) -> Option<gdk::Paintable> {
1411        ObjectExt::property(self.as_ref(), "secondary-icon-paintable")
1412    }
1413
1414    #[doc(alias = "secondary-icon-paintable")]
1415    fn set_secondary_icon_paintable<P: IsA<gdk::Paintable>>(
1416        &self,
1417        secondary_icon_paintable: Option<&P>,
1418    ) {
1419        ObjectExt::set_property(
1420            self.as_ref(),
1421            "secondary-icon-paintable",
1422            secondary_icon_paintable,
1423        )
1424    }
1425
1426    #[doc(alias = "secondary-icon-sensitive")]
1427    fn is_secondary_icon_sensitive(&self) -> bool {
1428        ObjectExt::property(self.as_ref(), "secondary-icon-sensitive")
1429    }
1430
1431    #[doc(alias = "secondary-icon-sensitive")]
1432    fn set_secondary_icon_sensitive(&self, secondary_icon_sensitive: bool) {
1433        ObjectExt::set_property(
1434            self.as_ref(),
1435            "secondary-icon-sensitive",
1436            secondary_icon_sensitive,
1437        )
1438    }
1439
1440    #[doc(alias = "secondary-icon-storage-type")]
1441    fn secondary_icon_storage_type(&self) -> ImageType {
1442        ObjectExt::property(self.as_ref(), "secondary-icon-storage-type")
1443    }
1444
1445    #[doc(alias = "secondary-icon-tooltip-markup")]
1446    fn secondary_icon_tooltip_markup(&self) -> Option<glib::GString> {
1447        ObjectExt::property(self.as_ref(), "secondary-icon-tooltip-markup")
1448    }
1449
1450    #[doc(alias = "secondary-icon-tooltip-markup")]
1451    fn set_secondary_icon_tooltip_markup(&self, secondary_icon_tooltip_markup: Option<&str>) {
1452        ObjectExt::set_property(
1453            self.as_ref(),
1454            "secondary-icon-tooltip-markup",
1455            secondary_icon_tooltip_markup,
1456        )
1457    }
1458
1459    #[doc(alias = "secondary-icon-tooltip-text")]
1460    fn secondary_icon_tooltip_text(&self) -> Option<glib::GString> {
1461        ObjectExt::property(self.as_ref(), "secondary-icon-tooltip-text")
1462    }
1463
1464    #[doc(alias = "secondary-icon-tooltip-text")]
1465    fn set_secondary_icon_tooltip_text(&self, secondary_icon_tooltip_text: Option<&str>) {
1466        ObjectExt::set_property(
1467            self.as_ref(),
1468            "secondary-icon-tooltip-text",
1469            secondary_icon_tooltip_text,
1470        )
1471    }
1472
1473    #[doc(alias = "show-emoji-icon")]
1474    fn shows_emoji_icon(&self) -> bool {
1475        ObjectExt::property(self.as_ref(), "show-emoji-icon")
1476    }
1477
1478    #[doc(alias = "show-emoji-icon")]
1479    fn set_show_emoji_icon(&self, show_emoji_icon: bool) {
1480        ObjectExt::set_property(self.as_ref(), "show-emoji-icon", show_emoji_icon)
1481    }
1482
1483    #[doc(alias = "truncate-multiline")]
1484    fn must_truncate_multiline(&self) -> bool {
1485        ObjectExt::property(self.as_ref(), "truncate-multiline")
1486    }
1487
1488    #[doc(alias = "truncate-multiline")]
1489    fn set_truncate_multiline(&self, truncate_multiline: bool) {
1490        ObjectExt::set_property(self.as_ref(), "truncate-multiline", truncate_multiline)
1491    }
1492
1493    #[doc(alias = "activate")]
1494    fn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1495        unsafe extern "C" fn activate_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1496            this: *mut ffi::GtkEntry,
1497            f: glib::ffi::gpointer,
1498        ) {
1499            let f: &F = &*(f as *const F);
1500            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1501        }
1502        unsafe {
1503            let f: Box_<F> = Box_::new(f);
1504            connect_raw(
1505                self.as_ptr() as *mut _,
1506                c"activate".as_ptr() as *const _,
1507                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1508                    activate_trampoline::<Self, F> as *const (),
1509                )),
1510                Box_::into_raw(f),
1511            )
1512        }
1513    }
1514
1515    fn emit_activate(&self) {
1516        self.emit_by_name::<()>("activate", &[]);
1517    }
1518
1519    #[doc(alias = "icon-press")]
1520    fn connect_icon_press<F: Fn(&Self, EntryIconPosition) + 'static>(
1521        &self,
1522        f: F,
1523    ) -> SignalHandlerId {
1524        unsafe extern "C" fn icon_press_trampoline<
1525            P: IsA<Entry>,
1526            F: Fn(&P, EntryIconPosition) + 'static,
1527        >(
1528            this: *mut ffi::GtkEntry,
1529            icon_pos: ffi::GtkEntryIconPosition,
1530            f: glib::ffi::gpointer,
1531        ) {
1532            let f: &F = &*(f as *const F);
1533            f(
1534                Entry::from_glib_borrow(this).unsafe_cast_ref(),
1535                from_glib(icon_pos),
1536            )
1537        }
1538        unsafe {
1539            let f: Box_<F> = Box_::new(f);
1540            connect_raw(
1541                self.as_ptr() as *mut _,
1542                c"icon-press".as_ptr() as *const _,
1543                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1544                    icon_press_trampoline::<Self, F> as *const (),
1545                )),
1546                Box_::into_raw(f),
1547            )
1548        }
1549    }
1550
1551    #[doc(alias = "icon-release")]
1552    fn connect_icon_release<F: Fn(&Self, EntryIconPosition) + 'static>(
1553        &self,
1554        f: F,
1555    ) -> SignalHandlerId {
1556        unsafe extern "C" fn icon_release_trampoline<
1557            P: IsA<Entry>,
1558            F: Fn(&P, EntryIconPosition) + 'static,
1559        >(
1560            this: *mut ffi::GtkEntry,
1561            icon_pos: ffi::GtkEntryIconPosition,
1562            f: glib::ffi::gpointer,
1563        ) {
1564            let f: &F = &*(f as *const F);
1565            f(
1566                Entry::from_glib_borrow(this).unsafe_cast_ref(),
1567                from_glib(icon_pos),
1568            )
1569        }
1570        unsafe {
1571            let f: Box_<F> = Box_::new(f);
1572            connect_raw(
1573                self.as_ptr() as *mut _,
1574                c"icon-release".as_ptr() as *const _,
1575                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1576                    icon_release_trampoline::<Self, F> as *const (),
1577                )),
1578                Box_::into_raw(f),
1579            )
1580        }
1581    }
1582
1583    #[doc(alias = "activates-default")]
1584    fn connect_activates_default_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1585        unsafe extern "C" fn notify_activates_default_trampoline<
1586            P: IsA<Entry>,
1587            F: Fn(&P) + 'static,
1588        >(
1589            this: *mut ffi::GtkEntry,
1590            _param_spec: glib::ffi::gpointer,
1591            f: glib::ffi::gpointer,
1592        ) {
1593            let f: &F = &*(f as *const F);
1594            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1595        }
1596        unsafe {
1597            let f: Box_<F> = Box_::new(f);
1598            connect_raw(
1599                self.as_ptr() as *mut _,
1600                c"notify::activates-default".as_ptr() as *const _,
1601                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1602                    notify_activates_default_trampoline::<Self, F> as *const (),
1603                )),
1604                Box_::into_raw(f),
1605            )
1606        }
1607    }
1608
1609    #[doc(alias = "attributes")]
1610    fn connect_attributes_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1611        unsafe extern "C" fn notify_attributes_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1612            this: *mut ffi::GtkEntry,
1613            _param_spec: glib::ffi::gpointer,
1614            f: glib::ffi::gpointer,
1615        ) {
1616            let f: &F = &*(f as *const F);
1617            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1618        }
1619        unsafe {
1620            let f: Box_<F> = Box_::new(f);
1621            connect_raw(
1622                self.as_ptr() as *mut _,
1623                c"notify::attributes".as_ptr() as *const _,
1624                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1625                    notify_attributes_trampoline::<Self, F> as *const (),
1626                )),
1627                Box_::into_raw(f),
1628            )
1629        }
1630    }
1631
1632    #[doc(alias = "buffer")]
1633    fn connect_buffer_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1634        unsafe extern "C" fn notify_buffer_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1635            this: *mut ffi::GtkEntry,
1636            _param_spec: glib::ffi::gpointer,
1637            f: glib::ffi::gpointer,
1638        ) {
1639            let f: &F = &*(f as *const F);
1640            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1641        }
1642        unsafe {
1643            let f: Box_<F> = Box_::new(f);
1644            connect_raw(
1645                self.as_ptr() as *mut _,
1646                c"notify::buffer".as_ptr() as *const _,
1647                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1648                    notify_buffer_trampoline::<Self, F> as *const (),
1649                )),
1650                Box_::into_raw(f),
1651            )
1652        }
1653    }
1654
1655    #[cfg_attr(feature = "v4_10", deprecated = "Since 4.10")]
1656    #[doc(alias = "completion")]
1657    fn connect_completion_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1658        unsafe extern "C" fn notify_completion_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1659            this: *mut ffi::GtkEntry,
1660            _param_spec: glib::ffi::gpointer,
1661            f: glib::ffi::gpointer,
1662        ) {
1663            let f: &F = &*(f as *const F);
1664            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1665        }
1666        unsafe {
1667            let f: Box_<F> = Box_::new(f);
1668            connect_raw(
1669                self.as_ptr() as *mut _,
1670                c"notify::completion".as_ptr() as *const _,
1671                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1672                    notify_completion_trampoline::<Self, F> as *const (),
1673                )),
1674                Box_::into_raw(f),
1675            )
1676        }
1677    }
1678
1679    #[doc(alias = "enable-emoji-completion")]
1680    fn connect_enable_emoji_completion_notify<F: Fn(&Self) + 'static>(
1681        &self,
1682        f: F,
1683    ) -> SignalHandlerId {
1684        unsafe extern "C" fn notify_enable_emoji_completion_trampoline<
1685            P: IsA<Entry>,
1686            F: Fn(&P) + 'static,
1687        >(
1688            this: *mut ffi::GtkEntry,
1689            _param_spec: glib::ffi::gpointer,
1690            f: glib::ffi::gpointer,
1691        ) {
1692            let f: &F = &*(f as *const F);
1693            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1694        }
1695        unsafe {
1696            let f: Box_<F> = Box_::new(f);
1697            connect_raw(
1698                self.as_ptr() as *mut _,
1699                c"notify::enable-emoji-completion".as_ptr() as *const _,
1700                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1701                    notify_enable_emoji_completion_trampoline::<Self, F> as *const (),
1702                )),
1703                Box_::into_raw(f),
1704            )
1705        }
1706    }
1707
1708    #[doc(alias = "extra-menu")]
1709    fn connect_extra_menu_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1710        unsafe extern "C" fn notify_extra_menu_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1711            this: *mut ffi::GtkEntry,
1712            _param_spec: glib::ffi::gpointer,
1713            f: glib::ffi::gpointer,
1714        ) {
1715            let f: &F = &*(f as *const F);
1716            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1717        }
1718        unsafe {
1719            let f: Box_<F> = Box_::new(f);
1720            connect_raw(
1721                self.as_ptr() as *mut _,
1722                c"notify::extra-menu".as_ptr() as *const _,
1723                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1724                    notify_extra_menu_trampoline::<Self, F> as *const (),
1725                )),
1726                Box_::into_raw(f),
1727            )
1728        }
1729    }
1730
1731    #[doc(alias = "has-frame")]
1732    fn connect_has_frame_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1733        unsafe extern "C" fn notify_has_frame_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1734            this: *mut ffi::GtkEntry,
1735            _param_spec: glib::ffi::gpointer,
1736            f: glib::ffi::gpointer,
1737        ) {
1738            let f: &F = &*(f as *const F);
1739            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1740        }
1741        unsafe {
1742            let f: Box_<F> = Box_::new(f);
1743            connect_raw(
1744                self.as_ptr() as *mut _,
1745                c"notify::has-frame".as_ptr() as *const _,
1746                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1747                    notify_has_frame_trampoline::<Self, F> as *const (),
1748                )),
1749                Box_::into_raw(f),
1750            )
1751        }
1752    }
1753
1754    #[doc(alias = "im-module")]
1755    fn connect_im_module_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1756        unsafe extern "C" fn notify_im_module_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1757            this: *mut ffi::GtkEntry,
1758            _param_spec: glib::ffi::gpointer,
1759            f: glib::ffi::gpointer,
1760        ) {
1761            let f: &F = &*(f as *const F);
1762            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1763        }
1764        unsafe {
1765            let f: Box_<F> = Box_::new(f);
1766            connect_raw(
1767                self.as_ptr() as *mut _,
1768                c"notify::im-module".as_ptr() as *const _,
1769                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1770                    notify_im_module_trampoline::<Self, F> as *const (),
1771                )),
1772                Box_::into_raw(f),
1773            )
1774        }
1775    }
1776
1777    #[doc(alias = "input-hints")]
1778    fn connect_input_hints_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1779        unsafe extern "C" fn notify_input_hints_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1780            this: *mut ffi::GtkEntry,
1781            _param_spec: glib::ffi::gpointer,
1782            f: glib::ffi::gpointer,
1783        ) {
1784            let f: &F = &*(f as *const F);
1785            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1786        }
1787        unsafe {
1788            let f: Box_<F> = Box_::new(f);
1789            connect_raw(
1790                self.as_ptr() as *mut _,
1791                c"notify::input-hints".as_ptr() as *const _,
1792                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1793                    notify_input_hints_trampoline::<Self, F> as *const (),
1794                )),
1795                Box_::into_raw(f),
1796            )
1797        }
1798    }
1799
1800    #[doc(alias = "input-purpose")]
1801    fn connect_input_purpose_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1802        unsafe extern "C" fn notify_input_purpose_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1803            this: *mut ffi::GtkEntry,
1804            _param_spec: glib::ffi::gpointer,
1805            f: glib::ffi::gpointer,
1806        ) {
1807            let f: &F = &*(f as *const F);
1808            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1809        }
1810        unsafe {
1811            let f: Box_<F> = Box_::new(f);
1812            connect_raw(
1813                self.as_ptr() as *mut _,
1814                c"notify::input-purpose".as_ptr() as *const _,
1815                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1816                    notify_input_purpose_trampoline::<Self, F> as *const (),
1817                )),
1818                Box_::into_raw(f),
1819            )
1820        }
1821    }
1822
1823    #[doc(alias = "invisible-char")]
1824    fn connect_invisible_char_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1825        unsafe extern "C" fn notify_invisible_char_trampoline<
1826            P: IsA<Entry>,
1827            F: Fn(&P) + 'static,
1828        >(
1829            this: *mut ffi::GtkEntry,
1830            _param_spec: glib::ffi::gpointer,
1831            f: glib::ffi::gpointer,
1832        ) {
1833            let f: &F = &*(f as *const F);
1834            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1835        }
1836        unsafe {
1837            let f: Box_<F> = Box_::new(f);
1838            connect_raw(
1839                self.as_ptr() as *mut _,
1840                c"notify::invisible-char".as_ptr() as *const _,
1841                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1842                    notify_invisible_char_trampoline::<Self, F> as *const (),
1843                )),
1844                Box_::into_raw(f),
1845            )
1846        }
1847    }
1848
1849    #[doc(alias = "invisible-char-set")]
1850    fn connect_invisible_char_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1851        unsafe extern "C" fn notify_invisible_char_set_trampoline<
1852            P: IsA<Entry>,
1853            F: Fn(&P) + 'static,
1854        >(
1855            this: *mut ffi::GtkEntry,
1856            _param_spec: glib::ffi::gpointer,
1857            f: glib::ffi::gpointer,
1858        ) {
1859            let f: &F = &*(f as *const F);
1860            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1861        }
1862        unsafe {
1863            let f: Box_<F> = Box_::new(f);
1864            connect_raw(
1865                self.as_ptr() as *mut _,
1866                c"notify::invisible-char-set".as_ptr() as *const _,
1867                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1868                    notify_invisible_char_set_trampoline::<Self, F> as *const (),
1869                )),
1870                Box_::into_raw(f),
1871            )
1872        }
1873    }
1874
1875    #[doc(alias = "max-length")]
1876    fn connect_max_length_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1877        unsafe extern "C" fn notify_max_length_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
1878            this: *mut ffi::GtkEntry,
1879            _param_spec: glib::ffi::gpointer,
1880            f: glib::ffi::gpointer,
1881        ) {
1882            let f: &F = &*(f as *const F);
1883            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1884        }
1885        unsafe {
1886            let f: Box_<F> = Box_::new(f);
1887            connect_raw(
1888                self.as_ptr() as *mut _,
1889                c"notify::max-length".as_ptr() as *const _,
1890                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1891                    notify_max_length_trampoline::<Self, F> as *const (),
1892                )),
1893                Box_::into_raw(f),
1894            )
1895        }
1896    }
1897
1898    #[cfg(feature = "v4_20")]
1899    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1900    #[doc(alias = "menu-entry-icon-primary-text")]
1901    fn connect_menu_entry_icon_primary_text_notify<F: Fn(&Self) + 'static>(
1902        &self,
1903        f: F,
1904    ) -> SignalHandlerId {
1905        unsafe extern "C" fn notify_menu_entry_icon_primary_text_trampoline<
1906            P: IsA<Entry>,
1907            F: Fn(&P) + 'static,
1908        >(
1909            this: *mut ffi::GtkEntry,
1910            _param_spec: glib::ffi::gpointer,
1911            f: glib::ffi::gpointer,
1912        ) {
1913            let f: &F = &*(f as *const F);
1914            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1915        }
1916        unsafe {
1917            let f: Box_<F> = Box_::new(f);
1918            connect_raw(
1919                self.as_ptr() as *mut _,
1920                c"notify::menu-entry-icon-primary-text".as_ptr() as *const _,
1921                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1922                    notify_menu_entry_icon_primary_text_trampoline::<Self, F> as *const (),
1923                )),
1924                Box_::into_raw(f),
1925            )
1926        }
1927    }
1928
1929    #[cfg(feature = "v4_20")]
1930    #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))]
1931    #[doc(alias = "menu-entry-icon-secondary-text")]
1932    fn connect_menu_entry_icon_secondary_text_notify<F: Fn(&Self) + 'static>(
1933        &self,
1934        f: F,
1935    ) -> SignalHandlerId {
1936        unsafe extern "C" fn notify_menu_entry_icon_secondary_text_trampoline<
1937            P: IsA<Entry>,
1938            F: Fn(&P) + 'static,
1939        >(
1940            this: *mut ffi::GtkEntry,
1941            _param_spec: glib::ffi::gpointer,
1942            f: glib::ffi::gpointer,
1943        ) {
1944            let f: &F = &*(f as *const F);
1945            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1946        }
1947        unsafe {
1948            let f: Box_<F> = Box_::new(f);
1949            connect_raw(
1950                self.as_ptr() as *mut _,
1951                c"notify::menu-entry-icon-secondary-text".as_ptr() as *const _,
1952                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1953                    notify_menu_entry_icon_secondary_text_trampoline::<Self, F> as *const (),
1954                )),
1955                Box_::into_raw(f),
1956            )
1957        }
1958    }
1959
1960    #[doc(alias = "overwrite-mode")]
1961    fn connect_overwrite_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1962        unsafe extern "C" fn notify_overwrite_mode_trampoline<
1963            P: IsA<Entry>,
1964            F: Fn(&P) + 'static,
1965        >(
1966            this: *mut ffi::GtkEntry,
1967            _param_spec: glib::ffi::gpointer,
1968            f: glib::ffi::gpointer,
1969        ) {
1970            let f: &F = &*(f as *const F);
1971            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1972        }
1973        unsafe {
1974            let f: Box_<F> = Box_::new(f);
1975            connect_raw(
1976                self.as_ptr() as *mut _,
1977                c"notify::overwrite-mode".as_ptr() as *const _,
1978                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1979                    notify_overwrite_mode_trampoline::<Self, F> as *const (),
1980                )),
1981                Box_::into_raw(f),
1982            )
1983        }
1984    }
1985
1986    #[doc(alias = "placeholder-text")]
1987    fn connect_placeholder_text_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1988        unsafe extern "C" fn notify_placeholder_text_trampoline<
1989            P: IsA<Entry>,
1990            F: Fn(&P) + 'static,
1991        >(
1992            this: *mut ffi::GtkEntry,
1993            _param_spec: glib::ffi::gpointer,
1994            f: glib::ffi::gpointer,
1995        ) {
1996            let f: &F = &*(f as *const F);
1997            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
1998        }
1999        unsafe {
2000            let f: Box_<F> = Box_::new(f);
2001            connect_raw(
2002                self.as_ptr() as *mut _,
2003                c"notify::placeholder-text".as_ptr() as *const _,
2004                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2005                    notify_placeholder_text_trampoline::<Self, F> as *const (),
2006                )),
2007                Box_::into_raw(f),
2008            )
2009        }
2010    }
2011
2012    #[doc(alias = "primary-icon-activatable")]
2013    fn connect_primary_icon_activatable_notify<F: Fn(&Self) + 'static>(
2014        &self,
2015        f: F,
2016    ) -> SignalHandlerId {
2017        unsafe extern "C" fn notify_primary_icon_activatable_trampoline<
2018            P: IsA<Entry>,
2019            F: Fn(&P) + 'static,
2020        >(
2021            this: *mut ffi::GtkEntry,
2022            _param_spec: glib::ffi::gpointer,
2023            f: glib::ffi::gpointer,
2024        ) {
2025            let f: &F = &*(f as *const F);
2026            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2027        }
2028        unsafe {
2029            let f: Box_<F> = Box_::new(f);
2030            connect_raw(
2031                self.as_ptr() as *mut _,
2032                c"notify::primary-icon-activatable".as_ptr() as *const _,
2033                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2034                    notify_primary_icon_activatable_trampoline::<Self, F> as *const (),
2035                )),
2036                Box_::into_raw(f),
2037            )
2038        }
2039    }
2040
2041    #[doc(alias = "primary-icon-gicon")]
2042    fn connect_primary_icon_gicon_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2043        unsafe extern "C" fn notify_primary_icon_gicon_trampoline<
2044            P: IsA<Entry>,
2045            F: Fn(&P) + 'static,
2046        >(
2047            this: *mut ffi::GtkEntry,
2048            _param_spec: glib::ffi::gpointer,
2049            f: glib::ffi::gpointer,
2050        ) {
2051            let f: &F = &*(f as *const F);
2052            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2053        }
2054        unsafe {
2055            let f: Box_<F> = Box_::new(f);
2056            connect_raw(
2057                self.as_ptr() as *mut _,
2058                c"notify::primary-icon-gicon".as_ptr() as *const _,
2059                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2060                    notify_primary_icon_gicon_trampoline::<Self, F> as *const (),
2061                )),
2062                Box_::into_raw(f),
2063            )
2064        }
2065    }
2066
2067    #[doc(alias = "primary-icon-name")]
2068    fn connect_primary_icon_name_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2069        unsafe extern "C" fn notify_primary_icon_name_trampoline<
2070            P: IsA<Entry>,
2071            F: Fn(&P) + 'static,
2072        >(
2073            this: *mut ffi::GtkEntry,
2074            _param_spec: glib::ffi::gpointer,
2075            f: glib::ffi::gpointer,
2076        ) {
2077            let f: &F = &*(f as *const F);
2078            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2079        }
2080        unsafe {
2081            let f: Box_<F> = Box_::new(f);
2082            connect_raw(
2083                self.as_ptr() as *mut _,
2084                c"notify::primary-icon-name".as_ptr() as *const _,
2085                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2086                    notify_primary_icon_name_trampoline::<Self, F> as *const (),
2087                )),
2088                Box_::into_raw(f),
2089            )
2090        }
2091    }
2092
2093    #[doc(alias = "primary-icon-paintable")]
2094    fn connect_primary_icon_paintable_notify<F: Fn(&Self) + 'static>(
2095        &self,
2096        f: F,
2097    ) -> SignalHandlerId {
2098        unsafe extern "C" fn notify_primary_icon_paintable_trampoline<
2099            P: IsA<Entry>,
2100            F: Fn(&P) + 'static,
2101        >(
2102            this: *mut ffi::GtkEntry,
2103            _param_spec: glib::ffi::gpointer,
2104            f: glib::ffi::gpointer,
2105        ) {
2106            let f: &F = &*(f as *const F);
2107            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2108        }
2109        unsafe {
2110            let f: Box_<F> = Box_::new(f);
2111            connect_raw(
2112                self.as_ptr() as *mut _,
2113                c"notify::primary-icon-paintable".as_ptr() as *const _,
2114                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2115                    notify_primary_icon_paintable_trampoline::<Self, F> as *const (),
2116                )),
2117                Box_::into_raw(f),
2118            )
2119        }
2120    }
2121
2122    #[doc(alias = "primary-icon-sensitive")]
2123    fn connect_primary_icon_sensitive_notify<F: Fn(&Self) + 'static>(
2124        &self,
2125        f: F,
2126    ) -> SignalHandlerId {
2127        unsafe extern "C" fn notify_primary_icon_sensitive_trampoline<
2128            P: IsA<Entry>,
2129            F: Fn(&P) + 'static,
2130        >(
2131            this: *mut ffi::GtkEntry,
2132            _param_spec: glib::ffi::gpointer,
2133            f: glib::ffi::gpointer,
2134        ) {
2135            let f: &F = &*(f as *const F);
2136            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2137        }
2138        unsafe {
2139            let f: Box_<F> = Box_::new(f);
2140            connect_raw(
2141                self.as_ptr() as *mut _,
2142                c"notify::primary-icon-sensitive".as_ptr() as *const _,
2143                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2144                    notify_primary_icon_sensitive_trampoline::<Self, F> as *const (),
2145                )),
2146                Box_::into_raw(f),
2147            )
2148        }
2149    }
2150
2151    #[doc(alias = "primary-icon-storage-type")]
2152    fn connect_primary_icon_storage_type_notify<F: Fn(&Self) + 'static>(
2153        &self,
2154        f: F,
2155    ) -> SignalHandlerId {
2156        unsafe extern "C" fn notify_primary_icon_storage_type_trampoline<
2157            P: IsA<Entry>,
2158            F: Fn(&P) + 'static,
2159        >(
2160            this: *mut ffi::GtkEntry,
2161            _param_spec: glib::ffi::gpointer,
2162            f: glib::ffi::gpointer,
2163        ) {
2164            let f: &F = &*(f as *const F);
2165            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2166        }
2167        unsafe {
2168            let f: Box_<F> = Box_::new(f);
2169            connect_raw(
2170                self.as_ptr() as *mut _,
2171                c"notify::primary-icon-storage-type".as_ptr() as *const _,
2172                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2173                    notify_primary_icon_storage_type_trampoline::<Self, F> as *const (),
2174                )),
2175                Box_::into_raw(f),
2176            )
2177        }
2178    }
2179
2180    #[doc(alias = "primary-icon-tooltip-markup")]
2181    fn connect_primary_icon_tooltip_markup_notify<F: Fn(&Self) + 'static>(
2182        &self,
2183        f: F,
2184    ) -> SignalHandlerId {
2185        unsafe extern "C" fn notify_primary_icon_tooltip_markup_trampoline<
2186            P: IsA<Entry>,
2187            F: Fn(&P) + 'static,
2188        >(
2189            this: *mut ffi::GtkEntry,
2190            _param_spec: glib::ffi::gpointer,
2191            f: glib::ffi::gpointer,
2192        ) {
2193            let f: &F = &*(f as *const F);
2194            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2195        }
2196        unsafe {
2197            let f: Box_<F> = Box_::new(f);
2198            connect_raw(
2199                self.as_ptr() as *mut _,
2200                c"notify::primary-icon-tooltip-markup".as_ptr() as *const _,
2201                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2202                    notify_primary_icon_tooltip_markup_trampoline::<Self, F> as *const (),
2203                )),
2204                Box_::into_raw(f),
2205            )
2206        }
2207    }
2208
2209    #[doc(alias = "primary-icon-tooltip-text")]
2210    fn connect_primary_icon_tooltip_text_notify<F: Fn(&Self) + 'static>(
2211        &self,
2212        f: F,
2213    ) -> SignalHandlerId {
2214        unsafe extern "C" fn notify_primary_icon_tooltip_text_trampoline<
2215            P: IsA<Entry>,
2216            F: Fn(&P) + 'static,
2217        >(
2218            this: *mut ffi::GtkEntry,
2219            _param_spec: glib::ffi::gpointer,
2220            f: glib::ffi::gpointer,
2221        ) {
2222            let f: &F = &*(f as *const F);
2223            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2224        }
2225        unsafe {
2226            let f: Box_<F> = Box_::new(f);
2227            connect_raw(
2228                self.as_ptr() as *mut _,
2229                c"notify::primary-icon-tooltip-text".as_ptr() as *const _,
2230                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2231                    notify_primary_icon_tooltip_text_trampoline::<Self, F> as *const (),
2232                )),
2233                Box_::into_raw(f),
2234            )
2235        }
2236    }
2237
2238    #[doc(alias = "progress-fraction")]
2239    fn connect_progress_fraction_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2240        unsafe extern "C" fn notify_progress_fraction_trampoline<
2241            P: IsA<Entry>,
2242            F: Fn(&P) + 'static,
2243        >(
2244            this: *mut ffi::GtkEntry,
2245            _param_spec: glib::ffi::gpointer,
2246            f: glib::ffi::gpointer,
2247        ) {
2248            let f: &F = &*(f as *const F);
2249            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2250        }
2251        unsafe {
2252            let f: Box_<F> = Box_::new(f);
2253            connect_raw(
2254                self.as_ptr() as *mut _,
2255                c"notify::progress-fraction".as_ptr() as *const _,
2256                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2257                    notify_progress_fraction_trampoline::<Self, F> as *const (),
2258                )),
2259                Box_::into_raw(f),
2260            )
2261        }
2262    }
2263
2264    #[doc(alias = "progress-pulse-step")]
2265    fn connect_progress_pulse_step_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2266        unsafe extern "C" fn notify_progress_pulse_step_trampoline<
2267            P: IsA<Entry>,
2268            F: Fn(&P) + 'static,
2269        >(
2270            this: *mut ffi::GtkEntry,
2271            _param_spec: glib::ffi::gpointer,
2272            f: glib::ffi::gpointer,
2273        ) {
2274            let f: &F = &*(f as *const F);
2275            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2276        }
2277        unsafe {
2278            let f: Box_<F> = Box_::new(f);
2279            connect_raw(
2280                self.as_ptr() as *mut _,
2281                c"notify::progress-pulse-step".as_ptr() as *const _,
2282                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2283                    notify_progress_pulse_step_trampoline::<Self, F> as *const (),
2284                )),
2285                Box_::into_raw(f),
2286            )
2287        }
2288    }
2289
2290    #[doc(alias = "scroll-offset")]
2291    fn connect_scroll_offset_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2292        unsafe extern "C" fn notify_scroll_offset_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
2293            this: *mut ffi::GtkEntry,
2294            _param_spec: glib::ffi::gpointer,
2295            f: glib::ffi::gpointer,
2296        ) {
2297            let f: &F = &*(f as *const F);
2298            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2299        }
2300        unsafe {
2301            let f: Box_<F> = Box_::new(f);
2302            connect_raw(
2303                self.as_ptr() as *mut _,
2304                c"notify::scroll-offset".as_ptr() as *const _,
2305                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2306                    notify_scroll_offset_trampoline::<Self, F> as *const (),
2307                )),
2308                Box_::into_raw(f),
2309            )
2310        }
2311    }
2312
2313    #[doc(alias = "secondary-icon-activatable")]
2314    fn connect_secondary_icon_activatable_notify<F: Fn(&Self) + 'static>(
2315        &self,
2316        f: F,
2317    ) -> SignalHandlerId {
2318        unsafe extern "C" fn notify_secondary_icon_activatable_trampoline<
2319            P: IsA<Entry>,
2320            F: Fn(&P) + 'static,
2321        >(
2322            this: *mut ffi::GtkEntry,
2323            _param_spec: glib::ffi::gpointer,
2324            f: glib::ffi::gpointer,
2325        ) {
2326            let f: &F = &*(f as *const F);
2327            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2328        }
2329        unsafe {
2330            let f: Box_<F> = Box_::new(f);
2331            connect_raw(
2332                self.as_ptr() as *mut _,
2333                c"notify::secondary-icon-activatable".as_ptr() as *const _,
2334                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2335                    notify_secondary_icon_activatable_trampoline::<Self, F> as *const (),
2336                )),
2337                Box_::into_raw(f),
2338            )
2339        }
2340    }
2341
2342    #[doc(alias = "secondary-icon-gicon")]
2343    fn connect_secondary_icon_gicon_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2344        unsafe extern "C" fn notify_secondary_icon_gicon_trampoline<
2345            P: IsA<Entry>,
2346            F: Fn(&P) + 'static,
2347        >(
2348            this: *mut ffi::GtkEntry,
2349            _param_spec: glib::ffi::gpointer,
2350            f: glib::ffi::gpointer,
2351        ) {
2352            let f: &F = &*(f as *const F);
2353            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2354        }
2355        unsafe {
2356            let f: Box_<F> = Box_::new(f);
2357            connect_raw(
2358                self.as_ptr() as *mut _,
2359                c"notify::secondary-icon-gicon".as_ptr() as *const _,
2360                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2361                    notify_secondary_icon_gicon_trampoline::<Self, F> as *const (),
2362                )),
2363                Box_::into_raw(f),
2364            )
2365        }
2366    }
2367
2368    #[doc(alias = "secondary-icon-name")]
2369    fn connect_secondary_icon_name_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2370        unsafe extern "C" fn notify_secondary_icon_name_trampoline<
2371            P: IsA<Entry>,
2372            F: Fn(&P) + 'static,
2373        >(
2374            this: *mut ffi::GtkEntry,
2375            _param_spec: glib::ffi::gpointer,
2376            f: glib::ffi::gpointer,
2377        ) {
2378            let f: &F = &*(f as *const F);
2379            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2380        }
2381        unsafe {
2382            let f: Box_<F> = Box_::new(f);
2383            connect_raw(
2384                self.as_ptr() as *mut _,
2385                c"notify::secondary-icon-name".as_ptr() as *const _,
2386                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2387                    notify_secondary_icon_name_trampoline::<Self, F> as *const (),
2388                )),
2389                Box_::into_raw(f),
2390            )
2391        }
2392    }
2393
2394    #[doc(alias = "secondary-icon-paintable")]
2395    fn connect_secondary_icon_paintable_notify<F: Fn(&Self) + 'static>(
2396        &self,
2397        f: F,
2398    ) -> SignalHandlerId {
2399        unsafe extern "C" fn notify_secondary_icon_paintable_trampoline<
2400            P: IsA<Entry>,
2401            F: Fn(&P) + 'static,
2402        >(
2403            this: *mut ffi::GtkEntry,
2404            _param_spec: glib::ffi::gpointer,
2405            f: glib::ffi::gpointer,
2406        ) {
2407            let f: &F = &*(f as *const F);
2408            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2409        }
2410        unsafe {
2411            let f: Box_<F> = Box_::new(f);
2412            connect_raw(
2413                self.as_ptr() as *mut _,
2414                c"notify::secondary-icon-paintable".as_ptr() as *const _,
2415                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2416                    notify_secondary_icon_paintable_trampoline::<Self, F> as *const (),
2417                )),
2418                Box_::into_raw(f),
2419            )
2420        }
2421    }
2422
2423    #[doc(alias = "secondary-icon-sensitive")]
2424    fn connect_secondary_icon_sensitive_notify<F: Fn(&Self) + 'static>(
2425        &self,
2426        f: F,
2427    ) -> SignalHandlerId {
2428        unsafe extern "C" fn notify_secondary_icon_sensitive_trampoline<
2429            P: IsA<Entry>,
2430            F: Fn(&P) + 'static,
2431        >(
2432            this: *mut ffi::GtkEntry,
2433            _param_spec: glib::ffi::gpointer,
2434            f: glib::ffi::gpointer,
2435        ) {
2436            let f: &F = &*(f as *const F);
2437            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2438        }
2439        unsafe {
2440            let f: Box_<F> = Box_::new(f);
2441            connect_raw(
2442                self.as_ptr() as *mut _,
2443                c"notify::secondary-icon-sensitive".as_ptr() as *const _,
2444                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2445                    notify_secondary_icon_sensitive_trampoline::<Self, F> as *const (),
2446                )),
2447                Box_::into_raw(f),
2448            )
2449        }
2450    }
2451
2452    #[doc(alias = "secondary-icon-storage-type")]
2453    fn connect_secondary_icon_storage_type_notify<F: Fn(&Self) + 'static>(
2454        &self,
2455        f: F,
2456    ) -> SignalHandlerId {
2457        unsafe extern "C" fn notify_secondary_icon_storage_type_trampoline<
2458            P: IsA<Entry>,
2459            F: Fn(&P) + 'static,
2460        >(
2461            this: *mut ffi::GtkEntry,
2462            _param_spec: glib::ffi::gpointer,
2463            f: glib::ffi::gpointer,
2464        ) {
2465            let f: &F = &*(f as *const F);
2466            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2467        }
2468        unsafe {
2469            let f: Box_<F> = Box_::new(f);
2470            connect_raw(
2471                self.as_ptr() as *mut _,
2472                c"notify::secondary-icon-storage-type".as_ptr() as *const _,
2473                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2474                    notify_secondary_icon_storage_type_trampoline::<Self, F> as *const (),
2475                )),
2476                Box_::into_raw(f),
2477            )
2478        }
2479    }
2480
2481    #[doc(alias = "secondary-icon-tooltip-markup")]
2482    fn connect_secondary_icon_tooltip_markup_notify<F: Fn(&Self) + 'static>(
2483        &self,
2484        f: F,
2485    ) -> SignalHandlerId {
2486        unsafe extern "C" fn notify_secondary_icon_tooltip_markup_trampoline<
2487            P: IsA<Entry>,
2488            F: Fn(&P) + 'static,
2489        >(
2490            this: *mut ffi::GtkEntry,
2491            _param_spec: glib::ffi::gpointer,
2492            f: glib::ffi::gpointer,
2493        ) {
2494            let f: &F = &*(f as *const F);
2495            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2496        }
2497        unsafe {
2498            let f: Box_<F> = Box_::new(f);
2499            connect_raw(
2500                self.as_ptr() as *mut _,
2501                c"notify::secondary-icon-tooltip-markup".as_ptr() as *const _,
2502                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2503                    notify_secondary_icon_tooltip_markup_trampoline::<Self, F> as *const (),
2504                )),
2505                Box_::into_raw(f),
2506            )
2507        }
2508    }
2509
2510    #[doc(alias = "secondary-icon-tooltip-text")]
2511    fn connect_secondary_icon_tooltip_text_notify<F: Fn(&Self) + 'static>(
2512        &self,
2513        f: F,
2514    ) -> SignalHandlerId {
2515        unsafe extern "C" fn notify_secondary_icon_tooltip_text_trampoline<
2516            P: IsA<Entry>,
2517            F: Fn(&P) + 'static,
2518        >(
2519            this: *mut ffi::GtkEntry,
2520            _param_spec: glib::ffi::gpointer,
2521            f: glib::ffi::gpointer,
2522        ) {
2523            let f: &F = &*(f as *const F);
2524            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2525        }
2526        unsafe {
2527            let f: Box_<F> = Box_::new(f);
2528            connect_raw(
2529                self.as_ptr() as *mut _,
2530                c"notify::secondary-icon-tooltip-text".as_ptr() as *const _,
2531                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2532                    notify_secondary_icon_tooltip_text_trampoline::<Self, F> as *const (),
2533                )),
2534                Box_::into_raw(f),
2535            )
2536        }
2537    }
2538
2539    #[doc(alias = "show-emoji-icon")]
2540    fn connect_show_emoji_icon_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2541        unsafe extern "C" fn notify_show_emoji_icon_trampoline<
2542            P: IsA<Entry>,
2543            F: Fn(&P) + 'static,
2544        >(
2545            this: *mut ffi::GtkEntry,
2546            _param_spec: glib::ffi::gpointer,
2547            f: glib::ffi::gpointer,
2548        ) {
2549            let f: &F = &*(f as *const F);
2550            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2551        }
2552        unsafe {
2553            let f: Box_<F> = Box_::new(f);
2554            connect_raw(
2555                self.as_ptr() as *mut _,
2556                c"notify::show-emoji-icon".as_ptr() as *const _,
2557                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2558                    notify_show_emoji_icon_trampoline::<Self, F> as *const (),
2559                )),
2560                Box_::into_raw(f),
2561            )
2562        }
2563    }
2564
2565    #[doc(alias = "tabs")]
2566    fn connect_tabs_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2567        unsafe extern "C" fn notify_tabs_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
2568            this: *mut ffi::GtkEntry,
2569            _param_spec: glib::ffi::gpointer,
2570            f: glib::ffi::gpointer,
2571        ) {
2572            let f: &F = &*(f as *const F);
2573            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2574        }
2575        unsafe {
2576            let f: Box_<F> = Box_::new(f);
2577            connect_raw(
2578                self.as_ptr() as *mut _,
2579                c"notify::tabs".as_ptr() as *const _,
2580                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2581                    notify_tabs_trampoline::<Self, F> as *const (),
2582                )),
2583                Box_::into_raw(f),
2584            )
2585        }
2586    }
2587
2588    #[doc(alias = "text-length")]
2589    fn connect_text_length_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2590        unsafe extern "C" fn notify_text_length_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
2591            this: *mut ffi::GtkEntry,
2592            _param_spec: glib::ffi::gpointer,
2593            f: glib::ffi::gpointer,
2594        ) {
2595            let f: &F = &*(f as *const F);
2596            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2597        }
2598        unsafe {
2599            let f: Box_<F> = Box_::new(f);
2600            connect_raw(
2601                self.as_ptr() as *mut _,
2602                c"notify::text-length".as_ptr() as *const _,
2603                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2604                    notify_text_length_trampoline::<Self, F> as *const (),
2605                )),
2606                Box_::into_raw(f),
2607            )
2608        }
2609    }
2610
2611    #[doc(alias = "truncate-multiline")]
2612    fn connect_truncate_multiline_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2613        unsafe extern "C" fn notify_truncate_multiline_trampoline<
2614            P: IsA<Entry>,
2615            F: Fn(&P) + 'static,
2616        >(
2617            this: *mut ffi::GtkEntry,
2618            _param_spec: glib::ffi::gpointer,
2619            f: glib::ffi::gpointer,
2620        ) {
2621            let f: &F = &*(f as *const F);
2622            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2623        }
2624        unsafe {
2625            let f: Box_<F> = Box_::new(f);
2626            connect_raw(
2627                self.as_ptr() as *mut _,
2628                c"notify::truncate-multiline".as_ptr() as *const _,
2629                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2630                    notify_truncate_multiline_trampoline::<Self, F> as *const (),
2631                )),
2632                Box_::into_raw(f),
2633            )
2634        }
2635    }
2636
2637    #[doc(alias = "visibility")]
2638    fn connect_visibility_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2639        unsafe extern "C" fn notify_visibility_trampoline<P: IsA<Entry>, F: Fn(&P) + 'static>(
2640            this: *mut ffi::GtkEntry,
2641            _param_spec: glib::ffi::gpointer,
2642            f: glib::ffi::gpointer,
2643        ) {
2644            let f: &F = &*(f as *const F);
2645            f(Entry::from_glib_borrow(this).unsafe_cast_ref())
2646        }
2647        unsafe {
2648            let f: Box_<F> = Box_::new(f);
2649            connect_raw(
2650                self.as_ptr() as *mut _,
2651                c"notify::visibility".as_ptr() as *const _,
2652                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2653                    notify_visibility_trampoline::<Self, F> as *const (),
2654                )),
2655                Box_::into_raw(f),
2656            )
2657        }
2658    }
2659}
2660
2661impl<O: IsA<Entry>> EntryExt for O {}