gtk4/auto/
text_tag.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
5use crate::{ffi, Justification, TextDirection, WrapMode};
6use glib::{
7    prelude::*,
8    signal::{connect_raw, SignalHandlerId},
9    translate::*,
10};
11use std::boxed::Box as Box_;
12
13glib::wrapper! {
14    #[doc(alias = "GtkTextTag")]
15    pub struct TextTag(Object<ffi::GtkTextTag, ffi::GtkTextTagClass>);
16
17    match fn {
18        type_ => || ffi::gtk_text_tag_get_type(),
19    }
20}
21
22impl TextTag {
23    pub const NONE: Option<&'static TextTag> = None;
24
25    #[doc(alias = "gtk_text_tag_new")]
26    pub fn new(name: Option<&str>) -> TextTag {
27        assert_initialized_main_thread!();
28        unsafe { from_glib_full(ffi::gtk_text_tag_new(name.to_glib_none().0)) }
29    }
30
31    // rustdoc-stripper-ignore-next
32    /// Creates a new builder-pattern struct instance to construct [`TextTag`] objects.
33    ///
34    /// This method returns an instance of [`TextTagBuilder`](crate::builders::TextTagBuilder) which can be used to create [`TextTag`] objects.
35    pub fn builder() -> TextTagBuilder {
36        TextTagBuilder::new()
37    }
38}
39
40impl Default for TextTag {
41    fn default() -> Self {
42        glib::object::Object::new::<Self>()
43    }
44}
45
46// rustdoc-stripper-ignore-next
47/// A [builder-pattern] type to construct [`TextTag`] objects.
48///
49/// [builder-pattern]: https://doc.rust-lang.org/1.0.0/style/ownership/builders.html
50#[must_use = "The builder must be built to be used"]
51pub struct TextTagBuilder {
52    builder: glib::object::ObjectBuilder<'static, TextTag>,
53}
54
55impl TextTagBuilder {
56    fn new() -> Self {
57        Self {
58            builder: glib::object::Object::builder(),
59        }
60    }
61
62    pub fn accumulative_margin(self, accumulative_margin: bool) -> Self {
63        Self {
64            builder: self
65                .builder
66                .property("accumulative-margin", accumulative_margin),
67        }
68    }
69
70    pub fn allow_breaks(self, allow_breaks: bool) -> Self {
71        Self {
72            builder: self.builder.property("allow-breaks", allow_breaks),
73        }
74    }
75
76    pub fn allow_breaks_set(self, allow_breaks_set: bool) -> Self {
77        Self {
78            builder: self.builder.property("allow-breaks-set", allow_breaks_set),
79        }
80    }
81
82    pub fn background(self, background: impl Into<glib::GString>) -> Self {
83        Self {
84            builder: self.builder.property("background", background.into()),
85        }
86    }
87
88    pub fn background_full_height(self, background_full_height: bool) -> Self {
89        Self {
90            builder: self
91                .builder
92                .property("background-full-height", background_full_height),
93        }
94    }
95
96    pub fn background_full_height_set(self, background_full_height_set: bool) -> Self {
97        Self {
98            builder: self
99                .builder
100                .property("background-full-height-set", background_full_height_set),
101        }
102    }
103
104    pub fn background_rgba(self, background_rgba: &gdk::RGBA) -> Self {
105        Self {
106            builder: self.builder.property("background-rgba", background_rgba),
107        }
108    }
109
110    pub fn background_set(self, background_set: bool) -> Self {
111        Self {
112            builder: self.builder.property("background-set", background_set),
113        }
114    }
115
116    pub fn direction(self, direction: TextDirection) -> Self {
117        Self {
118            builder: self.builder.property("direction", direction),
119        }
120    }
121
122    pub fn editable(self, editable: bool) -> Self {
123        Self {
124            builder: self.builder.property("editable", editable),
125        }
126    }
127
128    pub fn editable_set(self, editable_set: bool) -> Self {
129        Self {
130            builder: self.builder.property("editable-set", editable_set),
131        }
132    }
133
134    pub fn fallback(self, fallback: bool) -> Self {
135        Self {
136            builder: self.builder.property("fallback", fallback),
137        }
138    }
139
140    pub fn fallback_set(self, fallback_set: bool) -> Self {
141        Self {
142            builder: self.builder.property("fallback-set", fallback_set),
143        }
144    }
145
146    pub fn family(self, family: impl Into<glib::GString>) -> Self {
147        Self {
148            builder: self.builder.property("family", family.into()),
149        }
150    }
151
152    pub fn family_set(self, family_set: bool) -> Self {
153        Self {
154            builder: self.builder.property("family-set", family_set),
155        }
156    }
157
158    pub fn font(self, font: impl Into<glib::GString>) -> Self {
159        Self {
160            builder: self.builder.property("font", font.into()),
161        }
162    }
163
164    pub fn font_desc(self, font_desc: &pango::FontDescription) -> Self {
165        Self {
166            builder: self.builder.property("font-desc", font_desc),
167        }
168    }
169
170    pub fn font_features(self, font_features: impl Into<glib::GString>) -> Self {
171        Self {
172            builder: self.builder.property("font-features", font_features.into()),
173        }
174    }
175
176    pub fn font_features_set(self, font_features_set: bool) -> Self {
177        Self {
178            builder: self
179                .builder
180                .property("font-features-set", font_features_set),
181        }
182    }
183
184    pub fn foreground(self, foreground: impl Into<glib::GString>) -> Self {
185        Self {
186            builder: self.builder.property("foreground", foreground.into()),
187        }
188    }
189
190    pub fn foreground_rgba(self, foreground_rgba: &gdk::RGBA) -> Self {
191        Self {
192            builder: self.builder.property("foreground-rgba", foreground_rgba),
193        }
194    }
195
196    pub fn foreground_set(self, foreground_set: bool) -> Self {
197        Self {
198            builder: self.builder.property("foreground-set", foreground_set),
199        }
200    }
201
202    pub fn indent(self, indent: i32) -> Self {
203        Self {
204            builder: self.builder.property("indent", indent),
205        }
206    }
207
208    pub fn indent_set(self, indent_set: bool) -> Self {
209        Self {
210            builder: self.builder.property("indent-set", indent_set),
211        }
212    }
213
214    pub fn insert_hyphens(self, insert_hyphens: bool) -> Self {
215        Self {
216            builder: self.builder.property("insert-hyphens", insert_hyphens),
217        }
218    }
219
220    pub fn insert_hyphens_set(self, insert_hyphens_set: bool) -> Self {
221        Self {
222            builder: self
223                .builder
224                .property("insert-hyphens-set", insert_hyphens_set),
225        }
226    }
227
228    pub fn invisible(self, invisible: bool) -> Self {
229        Self {
230            builder: self.builder.property("invisible", invisible),
231        }
232    }
233
234    pub fn invisible_set(self, invisible_set: bool) -> Self {
235        Self {
236            builder: self.builder.property("invisible-set", invisible_set),
237        }
238    }
239
240    pub fn justification(self, justification: Justification) -> Self {
241        Self {
242            builder: self.builder.property("justification", justification),
243        }
244    }
245
246    pub fn justification_set(self, justification_set: bool) -> Self {
247        Self {
248            builder: self
249                .builder
250                .property("justification-set", justification_set),
251        }
252    }
253
254    pub fn language(self, language: impl Into<glib::GString>) -> Self {
255        Self {
256            builder: self.builder.property("language", language.into()),
257        }
258    }
259
260    pub fn language_set(self, language_set: bool) -> Self {
261        Self {
262            builder: self.builder.property("language-set", language_set),
263        }
264    }
265
266    pub fn left_margin(self, left_margin: i32) -> Self {
267        Self {
268            builder: self.builder.property("left-margin", left_margin),
269        }
270    }
271
272    pub fn left_margin_set(self, left_margin_set: bool) -> Self {
273        Self {
274            builder: self.builder.property("left-margin-set", left_margin_set),
275        }
276    }
277
278    pub fn letter_spacing(self, letter_spacing: i32) -> Self {
279        Self {
280            builder: self.builder.property("letter-spacing", letter_spacing),
281        }
282    }
283
284    pub fn letter_spacing_set(self, letter_spacing_set: bool) -> Self {
285        Self {
286            builder: self
287                .builder
288                .property("letter-spacing-set", letter_spacing_set),
289        }
290    }
291
292    #[cfg(feature = "v4_6")]
293    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
294    pub fn line_height(self, line_height: f32) -> Self {
295        Self {
296            builder: self.builder.property("line-height", line_height),
297        }
298    }
299
300    #[cfg(feature = "v4_6")]
301    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
302    pub fn line_height_set(self, line_height_set: bool) -> Self {
303        Self {
304            builder: self.builder.property("line-height-set", line_height_set),
305        }
306    }
307
308    pub fn name(self, name: impl Into<glib::GString>) -> Self {
309        Self {
310            builder: self.builder.property("name", name.into()),
311        }
312    }
313
314    pub fn overline(self, overline: pango::Overline) -> Self {
315        Self {
316            builder: self.builder.property("overline", overline),
317        }
318    }
319
320    pub fn overline_rgba(self, overline_rgba: &gdk::RGBA) -> Self {
321        Self {
322            builder: self.builder.property("overline-rgba", overline_rgba),
323        }
324    }
325
326    pub fn overline_rgba_set(self, overline_rgba_set: bool) -> Self {
327        Self {
328            builder: self
329                .builder
330                .property("overline-rgba-set", overline_rgba_set),
331        }
332    }
333
334    pub fn overline_set(self, overline_set: bool) -> Self {
335        Self {
336            builder: self.builder.property("overline-set", overline_set),
337        }
338    }
339
340    pub fn paragraph_background(self, paragraph_background: impl Into<glib::GString>) -> Self {
341        Self {
342            builder: self
343                .builder
344                .property("paragraph-background", paragraph_background.into()),
345        }
346    }
347
348    pub fn paragraph_background_rgba(self, paragraph_background_rgba: &gdk::RGBA) -> Self {
349        Self {
350            builder: self
351                .builder
352                .property("paragraph-background-rgba", paragraph_background_rgba),
353        }
354    }
355
356    pub fn paragraph_background_set(self, paragraph_background_set: bool) -> Self {
357        Self {
358            builder: self
359                .builder
360                .property("paragraph-background-set", paragraph_background_set),
361        }
362    }
363
364    pub fn pixels_above_lines(self, pixels_above_lines: i32) -> Self {
365        Self {
366            builder: self
367                .builder
368                .property("pixels-above-lines", pixels_above_lines),
369        }
370    }
371
372    pub fn pixels_above_lines_set(self, pixels_above_lines_set: bool) -> Self {
373        Self {
374            builder: self
375                .builder
376                .property("pixels-above-lines-set", pixels_above_lines_set),
377        }
378    }
379
380    pub fn pixels_below_lines(self, pixels_below_lines: i32) -> Self {
381        Self {
382            builder: self
383                .builder
384                .property("pixels-below-lines", pixels_below_lines),
385        }
386    }
387
388    pub fn pixels_below_lines_set(self, pixels_below_lines_set: bool) -> Self {
389        Self {
390            builder: self
391                .builder
392                .property("pixels-below-lines-set", pixels_below_lines_set),
393        }
394    }
395
396    pub fn pixels_inside_wrap(self, pixels_inside_wrap: i32) -> Self {
397        Self {
398            builder: self
399                .builder
400                .property("pixels-inside-wrap", pixels_inside_wrap),
401        }
402    }
403
404    pub fn pixels_inside_wrap_set(self, pixels_inside_wrap_set: bool) -> Self {
405        Self {
406            builder: self
407                .builder
408                .property("pixels-inside-wrap-set", pixels_inside_wrap_set),
409        }
410    }
411
412    pub fn right_margin(self, right_margin: i32) -> Self {
413        Self {
414            builder: self.builder.property("right-margin", right_margin),
415        }
416    }
417
418    pub fn right_margin_set(self, right_margin_set: bool) -> Self {
419        Self {
420            builder: self.builder.property("right-margin-set", right_margin_set),
421        }
422    }
423
424    pub fn rise(self, rise: i32) -> Self {
425        Self {
426            builder: self.builder.property("rise", rise),
427        }
428    }
429
430    pub fn rise_set(self, rise_set: bool) -> Self {
431        Self {
432            builder: self.builder.property("rise-set", rise_set),
433        }
434    }
435
436    pub fn scale(self, scale: f64) -> Self {
437        Self {
438            builder: self.builder.property("scale", scale),
439        }
440    }
441
442    pub fn scale_set(self, scale_set: bool) -> Self {
443        Self {
444            builder: self.builder.property("scale-set", scale_set),
445        }
446    }
447
448    #[cfg(feature = "v4_6")]
449    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
450    pub fn sentence(self, sentence: bool) -> Self {
451        Self {
452            builder: self.builder.property("sentence", sentence),
453        }
454    }
455
456    #[cfg(feature = "v4_6")]
457    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
458    pub fn sentence_set(self, sentence_set: bool) -> Self {
459        Self {
460            builder: self.builder.property("sentence-set", sentence_set),
461        }
462    }
463
464    pub fn show_spaces(self, show_spaces: pango::ShowFlags) -> Self {
465        Self {
466            builder: self.builder.property("show-spaces", show_spaces),
467        }
468    }
469
470    pub fn show_spaces_set(self, show_spaces_set: bool) -> Self {
471        Self {
472            builder: self.builder.property("show-spaces-set", show_spaces_set),
473        }
474    }
475
476    pub fn size(self, size: i32) -> Self {
477        Self {
478            builder: self.builder.property("size", size),
479        }
480    }
481
482    pub fn size_points(self, size_points: f64) -> Self {
483        Self {
484            builder: self.builder.property("size-points", size_points),
485        }
486    }
487
488    pub fn size_set(self, size_set: bool) -> Self {
489        Self {
490            builder: self.builder.property("size-set", size_set),
491        }
492    }
493
494    pub fn stretch(self, stretch: pango::Stretch) -> Self {
495        Self {
496            builder: self.builder.property("stretch", stretch),
497        }
498    }
499
500    pub fn stretch_set(self, stretch_set: bool) -> Self {
501        Self {
502            builder: self.builder.property("stretch-set", stretch_set),
503        }
504    }
505
506    pub fn strikethrough(self, strikethrough: bool) -> Self {
507        Self {
508            builder: self.builder.property("strikethrough", strikethrough),
509        }
510    }
511
512    pub fn strikethrough_rgba(self, strikethrough_rgba: &gdk::RGBA) -> Self {
513        Self {
514            builder: self
515                .builder
516                .property("strikethrough-rgba", strikethrough_rgba),
517        }
518    }
519
520    pub fn strikethrough_rgba_set(self, strikethrough_rgba_set: bool) -> Self {
521        Self {
522            builder: self
523                .builder
524                .property("strikethrough-rgba-set", strikethrough_rgba_set),
525        }
526    }
527
528    pub fn strikethrough_set(self, strikethrough_set: bool) -> Self {
529        Self {
530            builder: self
531                .builder
532                .property("strikethrough-set", strikethrough_set),
533        }
534    }
535
536    pub fn style(self, style: pango::Style) -> Self {
537        Self {
538            builder: self.builder.property("style", style),
539        }
540    }
541
542    pub fn style_set(self, style_set: bool) -> Self {
543        Self {
544            builder: self.builder.property("style-set", style_set),
545        }
546    }
547
548    pub fn tabs(self, tabs: &pango::TabArray) -> Self {
549        Self {
550            builder: self.builder.property("tabs", tabs),
551        }
552    }
553
554    pub fn tabs_set(self, tabs_set: bool) -> Self {
555        Self {
556            builder: self.builder.property("tabs-set", tabs_set),
557        }
558    }
559
560    #[cfg(feature = "v4_6")]
561    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
562    pub fn text_transform(self, text_transform: pango::TextTransform) -> Self {
563        Self {
564            builder: self.builder.property("text-transform", text_transform),
565        }
566    }
567
568    #[cfg(feature = "v4_6")]
569    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
570    pub fn text_transform_set(self, text_transform_set: bool) -> Self {
571        Self {
572            builder: self
573                .builder
574                .property("text-transform-set", text_transform_set),
575        }
576    }
577
578    pub fn underline(self, underline: pango::Underline) -> Self {
579        Self {
580            builder: self.builder.property("underline", underline),
581        }
582    }
583
584    pub fn underline_rgba(self, underline_rgba: &gdk::RGBA) -> Self {
585        Self {
586            builder: self.builder.property("underline-rgba", underline_rgba),
587        }
588    }
589
590    pub fn underline_rgba_set(self, underline_rgba_set: bool) -> Self {
591        Self {
592            builder: self
593                .builder
594                .property("underline-rgba-set", underline_rgba_set),
595        }
596    }
597
598    pub fn underline_set(self, underline_set: bool) -> Self {
599        Self {
600            builder: self.builder.property("underline-set", underline_set),
601        }
602    }
603
604    pub fn variant(self, variant: pango::Variant) -> Self {
605        Self {
606            builder: self.builder.property("variant", variant),
607        }
608    }
609
610    pub fn variant_set(self, variant_set: bool) -> Self {
611        Self {
612            builder: self.builder.property("variant-set", variant_set),
613        }
614    }
615
616    pub fn weight(self, weight: i32) -> Self {
617        Self {
618            builder: self.builder.property("weight", weight),
619        }
620    }
621
622    pub fn weight_set(self, weight_set: bool) -> Self {
623        Self {
624            builder: self.builder.property("weight-set", weight_set),
625        }
626    }
627
628    #[cfg(feature = "v4_6")]
629    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
630    pub fn word(self, word: bool) -> Self {
631        Self {
632            builder: self.builder.property("word", word),
633        }
634    }
635
636    #[cfg(feature = "v4_6")]
637    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
638    pub fn word_set(self, word_set: bool) -> Self {
639        Self {
640            builder: self.builder.property("word-set", word_set),
641        }
642    }
643
644    pub fn wrap_mode(self, wrap_mode: WrapMode) -> Self {
645        Self {
646            builder: self.builder.property("wrap-mode", wrap_mode),
647        }
648    }
649
650    pub fn wrap_mode_set(self, wrap_mode_set: bool) -> Self {
651        Self {
652            builder: self.builder.property("wrap-mode-set", wrap_mode_set),
653        }
654    }
655
656    // rustdoc-stripper-ignore-next
657    /// Build the [`TextTag`].
658    #[must_use = "Building the object from the builder is usually expensive and is not expected to have side effects"]
659    pub fn build(self) -> TextTag {
660        assert_initialized_main_thread!();
661        self.builder.build()
662    }
663}
664
665mod sealed {
666    pub trait Sealed {}
667    impl<T: super::IsA<super::TextTag>> Sealed for T {}
668}
669
670pub trait TextTagExt: IsA<TextTag> + sealed::Sealed + 'static {
671    #[doc(alias = "gtk_text_tag_changed")]
672    fn changed(&self, size_changed: bool) {
673        unsafe {
674            ffi::gtk_text_tag_changed(self.as_ref().to_glib_none().0, size_changed.into_glib());
675        }
676    }
677
678    #[doc(alias = "gtk_text_tag_get_priority")]
679    #[doc(alias = "get_priority")]
680    fn priority(&self) -> i32 {
681        unsafe { ffi::gtk_text_tag_get_priority(self.as_ref().to_glib_none().0) }
682    }
683
684    #[doc(alias = "gtk_text_tag_set_priority")]
685    fn set_priority(&self, priority: i32) {
686        unsafe {
687            ffi::gtk_text_tag_set_priority(self.as_ref().to_glib_none().0, priority);
688        }
689    }
690
691    #[doc(alias = "accumulative-margin")]
692    fn is_accumulative_margin(&self) -> bool {
693        ObjectExt::property(self.as_ref(), "accumulative-margin")
694    }
695
696    #[doc(alias = "accumulative-margin")]
697    fn set_accumulative_margin(&self, accumulative_margin: bool) {
698        ObjectExt::set_property(self.as_ref(), "accumulative-margin", accumulative_margin)
699    }
700
701    #[doc(alias = "allow-breaks")]
702    fn allows_breaks(&self) -> bool {
703        ObjectExt::property(self.as_ref(), "allow-breaks")
704    }
705
706    #[doc(alias = "allow-breaks")]
707    fn set_allow_breaks(&self, allow_breaks: bool) {
708        ObjectExt::set_property(self.as_ref(), "allow-breaks", allow_breaks)
709    }
710
711    #[doc(alias = "allow-breaks-set")]
712    fn allows_breaks_set(&self) -> bool {
713        ObjectExt::property(self.as_ref(), "allow-breaks-set")
714    }
715
716    fn set_background(&self, background: Option<&str>) {
717        ObjectExt::set_property(self.as_ref(), "background", background)
718    }
719
720    #[doc(alias = "background-full-height")]
721    fn is_background_full_height(&self) -> bool {
722        ObjectExt::property(self.as_ref(), "background-full-height")
723    }
724
725    #[doc(alias = "background-full-height")]
726    fn set_background_full_height(&self, background_full_height: bool) {
727        ObjectExt::set_property(
728            self.as_ref(),
729            "background-full-height",
730            background_full_height,
731        )
732    }
733
734    #[doc(alias = "background-full-height-set")]
735    fn is_background_full_height_set(&self) -> bool {
736        ObjectExt::property(self.as_ref(), "background-full-height-set")
737    }
738
739    #[doc(alias = "background-rgba")]
740    fn background_rgba(&self) -> Option<gdk::RGBA> {
741        ObjectExt::property(self.as_ref(), "background-rgba")
742    }
743
744    #[doc(alias = "background-rgba")]
745    fn set_background_rgba(&self, background_rgba: Option<&gdk::RGBA>) {
746        ObjectExt::set_property(self.as_ref(), "background-rgba", background_rgba)
747    }
748
749    #[doc(alias = "background-set")]
750    fn is_background_set(&self) -> bool {
751        ObjectExt::property(self.as_ref(), "background-set")
752    }
753
754    fn direction(&self) -> TextDirection {
755        ObjectExt::property(self.as_ref(), "direction")
756    }
757
758    fn set_direction(&self, direction: TextDirection) {
759        ObjectExt::set_property(self.as_ref(), "direction", direction)
760    }
761
762    fn is_editable(&self) -> bool {
763        ObjectExt::property(self.as_ref(), "editable")
764    }
765
766    fn set_editable(&self, editable: bool) {
767        ObjectExt::set_property(self.as_ref(), "editable", editable)
768    }
769
770    #[doc(alias = "editable-set")]
771    fn is_editable_set(&self) -> bool {
772        ObjectExt::property(self.as_ref(), "editable-set")
773    }
774
775    fn is_fallback(&self) -> bool {
776        ObjectExt::property(self.as_ref(), "fallback")
777    }
778
779    fn set_fallback(&self, fallback: bool) {
780        ObjectExt::set_property(self.as_ref(), "fallback", fallback)
781    }
782
783    #[doc(alias = "fallback-set")]
784    fn is_fallback_set(&self) -> bool {
785        ObjectExt::property(self.as_ref(), "fallback-set")
786    }
787
788    fn family(&self) -> Option<glib::GString> {
789        ObjectExt::property(self.as_ref(), "family")
790    }
791
792    fn set_family(&self, family: Option<&str>) {
793        ObjectExt::set_property(self.as_ref(), "family", family)
794    }
795
796    #[doc(alias = "family-set")]
797    fn is_family_set(&self) -> bool {
798        ObjectExt::property(self.as_ref(), "family-set")
799    }
800
801    fn font(&self) -> Option<glib::GString> {
802        ObjectExt::property(self.as_ref(), "font")
803    }
804
805    fn set_font(&self, font: Option<&str>) {
806        ObjectExt::set_property(self.as_ref(), "font", font)
807    }
808
809    #[doc(alias = "font-desc")]
810    fn font_desc(&self) -> Option<pango::FontDescription> {
811        ObjectExt::property(self.as_ref(), "font-desc")
812    }
813
814    #[doc(alias = "font-desc")]
815    fn set_font_desc(&self, font_desc: Option<&pango::FontDescription>) {
816        ObjectExt::set_property(self.as_ref(), "font-desc", font_desc)
817    }
818
819    #[doc(alias = "font-features")]
820    fn font_features(&self) -> Option<glib::GString> {
821        ObjectExt::property(self.as_ref(), "font-features")
822    }
823
824    #[doc(alias = "font-features")]
825    fn set_font_features(&self, font_features: Option<&str>) {
826        ObjectExt::set_property(self.as_ref(), "font-features", font_features)
827    }
828
829    #[doc(alias = "font-features-set")]
830    fn is_font_features_set(&self) -> bool {
831        ObjectExt::property(self.as_ref(), "font-features-set")
832    }
833
834    fn set_foreground(&self, foreground: Option<&str>) {
835        ObjectExt::set_property(self.as_ref(), "foreground", foreground)
836    }
837
838    #[doc(alias = "foreground-rgba")]
839    fn foreground_rgba(&self) -> Option<gdk::RGBA> {
840        ObjectExt::property(self.as_ref(), "foreground-rgba")
841    }
842
843    #[doc(alias = "foreground-rgba")]
844    fn set_foreground_rgba(&self, foreground_rgba: Option<&gdk::RGBA>) {
845        ObjectExt::set_property(self.as_ref(), "foreground-rgba", foreground_rgba)
846    }
847
848    #[doc(alias = "foreground-set")]
849    fn is_foreground_set(&self) -> bool {
850        ObjectExt::property(self.as_ref(), "foreground-set")
851    }
852
853    fn indent(&self) -> i32 {
854        ObjectExt::property(self.as_ref(), "indent")
855    }
856
857    fn set_indent(&self, indent: i32) {
858        ObjectExt::set_property(self.as_ref(), "indent", indent)
859    }
860
861    #[doc(alias = "indent-set")]
862    fn is_indent_set(&self) -> bool {
863        ObjectExt::property(self.as_ref(), "indent-set")
864    }
865
866    #[doc(alias = "insert-hyphens")]
867    fn is_insert_hyphens(&self) -> bool {
868        ObjectExt::property(self.as_ref(), "insert-hyphens")
869    }
870
871    #[doc(alias = "insert-hyphens")]
872    fn set_insert_hyphens(&self, insert_hyphens: bool) {
873        ObjectExt::set_property(self.as_ref(), "insert-hyphens", insert_hyphens)
874    }
875
876    #[doc(alias = "insert-hyphens-set")]
877    fn is_insert_hyphens_set(&self) -> bool {
878        ObjectExt::property(self.as_ref(), "insert-hyphens-set")
879    }
880
881    fn is_invisible(&self) -> bool {
882        ObjectExt::property(self.as_ref(), "invisible")
883    }
884
885    fn set_invisible(&self, invisible: bool) {
886        ObjectExt::set_property(self.as_ref(), "invisible", invisible)
887    }
888
889    #[doc(alias = "invisible-set")]
890    fn is_invisible_set(&self) -> bool {
891        ObjectExt::property(self.as_ref(), "invisible-set")
892    }
893
894    fn justification(&self) -> Justification {
895        ObjectExt::property(self.as_ref(), "justification")
896    }
897
898    fn set_justification(&self, justification: Justification) {
899        ObjectExt::set_property(self.as_ref(), "justification", justification)
900    }
901
902    #[doc(alias = "justification-set")]
903    fn is_justification_set(&self) -> bool {
904        ObjectExt::property(self.as_ref(), "justification-set")
905    }
906
907    fn language(&self) -> Option<glib::GString> {
908        ObjectExt::property(self.as_ref(), "language")
909    }
910
911    fn set_language(&self, language: Option<&str>) {
912        ObjectExt::set_property(self.as_ref(), "language", language)
913    }
914
915    #[doc(alias = "language-set")]
916    fn is_language_set(&self) -> bool {
917        ObjectExt::property(self.as_ref(), "language-set")
918    }
919
920    #[doc(alias = "left-margin")]
921    fn left_margin(&self) -> i32 {
922        ObjectExt::property(self.as_ref(), "left-margin")
923    }
924
925    #[doc(alias = "left-margin")]
926    fn set_left_margin(&self, left_margin: i32) {
927        ObjectExt::set_property(self.as_ref(), "left-margin", left_margin)
928    }
929
930    #[doc(alias = "left-margin-set")]
931    fn is_left_margin_set(&self) -> bool {
932        ObjectExt::property(self.as_ref(), "left-margin-set")
933    }
934
935    #[doc(alias = "letter-spacing")]
936    fn letter_spacing(&self) -> i32 {
937        ObjectExt::property(self.as_ref(), "letter-spacing")
938    }
939
940    #[doc(alias = "letter-spacing")]
941    fn set_letter_spacing(&self, letter_spacing: i32) {
942        ObjectExt::set_property(self.as_ref(), "letter-spacing", letter_spacing)
943    }
944
945    #[doc(alias = "letter-spacing-set")]
946    fn is_letter_spacing_set(&self) -> bool {
947        ObjectExt::property(self.as_ref(), "letter-spacing-set")
948    }
949
950    #[cfg(feature = "v4_6")]
951    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
952    #[doc(alias = "line-height")]
953    fn line_height(&self) -> f32 {
954        ObjectExt::property(self.as_ref(), "line-height")
955    }
956
957    #[cfg(feature = "v4_6")]
958    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
959    #[doc(alias = "line-height")]
960    fn set_line_height(&self, line_height: f32) {
961        ObjectExt::set_property(self.as_ref(), "line-height", line_height)
962    }
963
964    #[cfg(feature = "v4_6")]
965    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
966    #[doc(alias = "line-height-set")]
967    fn is_line_height_set(&self) -> bool {
968        ObjectExt::property(self.as_ref(), "line-height-set")
969    }
970
971    fn name(&self) -> Option<glib::GString> {
972        ObjectExt::property(self.as_ref(), "name")
973    }
974
975    fn overline(&self) -> pango::Overline {
976        ObjectExt::property(self.as_ref(), "overline")
977    }
978
979    fn set_overline(&self, overline: pango::Overline) {
980        ObjectExt::set_property(self.as_ref(), "overline", overline)
981    }
982
983    #[doc(alias = "overline-rgba")]
984    fn overline_rgba(&self) -> Option<gdk::RGBA> {
985        ObjectExt::property(self.as_ref(), "overline-rgba")
986    }
987
988    #[doc(alias = "overline-rgba")]
989    fn set_overline_rgba(&self, overline_rgba: Option<&gdk::RGBA>) {
990        ObjectExt::set_property(self.as_ref(), "overline-rgba", overline_rgba)
991    }
992
993    #[doc(alias = "overline-rgba-set")]
994    fn is_overline_rgba_set(&self) -> bool {
995        ObjectExt::property(self.as_ref(), "overline-rgba-set")
996    }
997
998    #[doc(alias = "overline-set")]
999    fn is_overline_set(&self) -> bool {
1000        ObjectExt::property(self.as_ref(), "overline-set")
1001    }
1002
1003    #[doc(alias = "paragraph-background")]
1004    fn set_paragraph_background(&self, paragraph_background: Option<&str>) {
1005        ObjectExt::set_property(self.as_ref(), "paragraph-background", paragraph_background)
1006    }
1007
1008    #[doc(alias = "paragraph-background-rgba")]
1009    fn paragraph_background_rgba(&self) -> Option<gdk::RGBA> {
1010        ObjectExt::property(self.as_ref(), "paragraph-background-rgba")
1011    }
1012
1013    #[doc(alias = "paragraph-background-rgba")]
1014    fn set_paragraph_background_rgba(&self, paragraph_background_rgba: Option<&gdk::RGBA>) {
1015        ObjectExt::set_property(
1016            self.as_ref(),
1017            "paragraph-background-rgba",
1018            paragraph_background_rgba,
1019        )
1020    }
1021
1022    #[doc(alias = "paragraph-background-set")]
1023    fn is_paragraph_background_set(&self) -> bool {
1024        ObjectExt::property(self.as_ref(), "paragraph-background-set")
1025    }
1026
1027    #[doc(alias = "pixels-above-lines")]
1028    fn pixels_above_lines(&self) -> i32 {
1029        ObjectExt::property(self.as_ref(), "pixels-above-lines")
1030    }
1031
1032    #[doc(alias = "pixels-above-lines")]
1033    fn set_pixels_above_lines(&self, pixels_above_lines: i32) {
1034        ObjectExt::set_property(self.as_ref(), "pixels-above-lines", pixels_above_lines)
1035    }
1036
1037    #[doc(alias = "pixels-above-lines-set")]
1038    fn is_pixels_above_lines_set(&self) -> bool {
1039        ObjectExt::property(self.as_ref(), "pixels-above-lines-set")
1040    }
1041
1042    #[doc(alias = "pixels-below-lines")]
1043    fn pixels_below_lines(&self) -> i32 {
1044        ObjectExt::property(self.as_ref(), "pixels-below-lines")
1045    }
1046
1047    #[doc(alias = "pixels-below-lines")]
1048    fn set_pixels_below_lines(&self, pixels_below_lines: i32) {
1049        ObjectExt::set_property(self.as_ref(), "pixels-below-lines", pixels_below_lines)
1050    }
1051
1052    #[doc(alias = "pixels-below-lines-set")]
1053    fn is_pixels_below_lines_set(&self) -> bool {
1054        ObjectExt::property(self.as_ref(), "pixels-below-lines-set")
1055    }
1056
1057    #[doc(alias = "pixels-inside-wrap")]
1058    fn pixels_inside_wrap(&self) -> i32 {
1059        ObjectExt::property(self.as_ref(), "pixels-inside-wrap")
1060    }
1061
1062    #[doc(alias = "pixels-inside-wrap")]
1063    fn set_pixels_inside_wrap(&self, pixels_inside_wrap: i32) {
1064        ObjectExt::set_property(self.as_ref(), "pixels-inside-wrap", pixels_inside_wrap)
1065    }
1066
1067    #[doc(alias = "pixels-inside-wrap-set")]
1068    fn is_pixels_inside_wrap_set(&self) -> bool {
1069        ObjectExt::property(self.as_ref(), "pixels-inside-wrap-set")
1070    }
1071
1072    #[doc(alias = "right-margin")]
1073    fn right_margin(&self) -> i32 {
1074        ObjectExt::property(self.as_ref(), "right-margin")
1075    }
1076
1077    #[doc(alias = "right-margin")]
1078    fn set_right_margin(&self, right_margin: i32) {
1079        ObjectExt::set_property(self.as_ref(), "right-margin", right_margin)
1080    }
1081
1082    #[doc(alias = "right-margin-set")]
1083    fn is_right_margin_set(&self) -> bool {
1084        ObjectExt::property(self.as_ref(), "right-margin-set")
1085    }
1086
1087    fn rise(&self) -> i32 {
1088        ObjectExt::property(self.as_ref(), "rise")
1089    }
1090
1091    fn set_rise(&self, rise: i32) {
1092        ObjectExt::set_property(self.as_ref(), "rise", rise)
1093    }
1094
1095    #[doc(alias = "rise-set")]
1096    fn is_rise_set(&self) -> bool {
1097        ObjectExt::property(self.as_ref(), "rise-set")
1098    }
1099
1100    fn scale(&self) -> f64 {
1101        ObjectExt::property(self.as_ref(), "scale")
1102    }
1103
1104    fn set_scale(&self, scale: f64) {
1105        ObjectExt::set_property(self.as_ref(), "scale", scale)
1106    }
1107
1108    #[doc(alias = "scale-set")]
1109    fn is_scale_set(&self) -> bool {
1110        ObjectExt::property(self.as_ref(), "scale-set")
1111    }
1112
1113    #[cfg(feature = "v4_6")]
1114    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1115    fn is_sentence(&self) -> bool {
1116        ObjectExt::property(self.as_ref(), "sentence")
1117    }
1118
1119    #[cfg(feature = "v4_6")]
1120    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1121    fn set_sentence(&self, sentence: bool) {
1122        ObjectExt::set_property(self.as_ref(), "sentence", sentence)
1123    }
1124
1125    #[cfg(feature = "v4_6")]
1126    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1127    #[doc(alias = "sentence-set")]
1128    fn is_sentence_set(&self) -> bool {
1129        ObjectExt::property(self.as_ref(), "sentence-set")
1130    }
1131
1132    #[doc(alias = "show-spaces")]
1133    fn show_spaces(&self) -> pango::ShowFlags {
1134        ObjectExt::property(self.as_ref(), "show-spaces")
1135    }
1136
1137    #[doc(alias = "show-spaces")]
1138    fn set_show_spaces(&self, show_spaces: pango::ShowFlags) {
1139        ObjectExt::set_property(self.as_ref(), "show-spaces", show_spaces)
1140    }
1141
1142    #[doc(alias = "show-spaces-set")]
1143    fn shows_spaces_set(&self) -> bool {
1144        ObjectExt::property(self.as_ref(), "show-spaces-set")
1145    }
1146
1147    fn size(&self) -> i32 {
1148        ObjectExt::property(self.as_ref(), "size")
1149    }
1150
1151    fn set_size(&self, size: i32) {
1152        ObjectExt::set_property(self.as_ref(), "size", size)
1153    }
1154
1155    #[doc(alias = "size-points")]
1156    fn size_points(&self) -> f64 {
1157        ObjectExt::property(self.as_ref(), "size-points")
1158    }
1159
1160    #[doc(alias = "size-points")]
1161    fn set_size_points(&self, size_points: f64) {
1162        ObjectExt::set_property(self.as_ref(), "size-points", size_points)
1163    }
1164
1165    #[doc(alias = "size-set")]
1166    fn is_size_set(&self) -> bool {
1167        ObjectExt::property(self.as_ref(), "size-set")
1168    }
1169
1170    fn stretch(&self) -> pango::Stretch {
1171        ObjectExt::property(self.as_ref(), "stretch")
1172    }
1173
1174    fn set_stretch(&self, stretch: pango::Stretch) {
1175        ObjectExt::set_property(self.as_ref(), "stretch", stretch)
1176    }
1177
1178    #[doc(alias = "stretch-set")]
1179    fn is_stretch_set(&self) -> bool {
1180        ObjectExt::property(self.as_ref(), "stretch-set")
1181    }
1182
1183    fn is_strikethrough(&self) -> bool {
1184        ObjectExt::property(self.as_ref(), "strikethrough")
1185    }
1186
1187    fn set_strikethrough(&self, strikethrough: bool) {
1188        ObjectExt::set_property(self.as_ref(), "strikethrough", strikethrough)
1189    }
1190
1191    #[doc(alias = "strikethrough-rgba")]
1192    fn strikethrough_rgba(&self) -> Option<gdk::RGBA> {
1193        ObjectExt::property(self.as_ref(), "strikethrough-rgba")
1194    }
1195
1196    #[doc(alias = "strikethrough-rgba")]
1197    fn set_strikethrough_rgba(&self, strikethrough_rgba: Option<&gdk::RGBA>) {
1198        ObjectExt::set_property(self.as_ref(), "strikethrough-rgba", strikethrough_rgba)
1199    }
1200
1201    #[doc(alias = "strikethrough-rgba-set")]
1202    fn is_strikethrough_rgba_set(&self) -> bool {
1203        ObjectExt::property(self.as_ref(), "strikethrough-rgba-set")
1204    }
1205
1206    #[doc(alias = "strikethrough-set")]
1207    fn is_strikethrough_set(&self) -> bool {
1208        ObjectExt::property(self.as_ref(), "strikethrough-set")
1209    }
1210
1211    fn style(&self) -> pango::Style {
1212        ObjectExt::property(self.as_ref(), "style")
1213    }
1214
1215    fn set_style(&self, style: pango::Style) {
1216        ObjectExt::set_property(self.as_ref(), "style", style)
1217    }
1218
1219    #[doc(alias = "style-set")]
1220    fn is_style_set(&self) -> bool {
1221        ObjectExt::property(self.as_ref(), "style-set")
1222    }
1223
1224    fn tabs(&self) -> Option<pango::TabArray> {
1225        ObjectExt::property(self.as_ref(), "tabs")
1226    }
1227
1228    fn set_tabs(&self, tabs: Option<&pango::TabArray>) {
1229        ObjectExt::set_property(self.as_ref(), "tabs", tabs)
1230    }
1231
1232    #[doc(alias = "tabs-set")]
1233    fn is_tabs_set(&self) -> bool {
1234        ObjectExt::property(self.as_ref(), "tabs-set")
1235    }
1236
1237    #[cfg(feature = "v4_6")]
1238    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1239    #[doc(alias = "text-transform")]
1240    fn text_transform(&self) -> pango::TextTransform {
1241        ObjectExt::property(self.as_ref(), "text-transform")
1242    }
1243
1244    #[cfg(feature = "v4_6")]
1245    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1246    #[doc(alias = "text-transform")]
1247    fn set_text_transform(&self, text_transform: pango::TextTransform) {
1248        ObjectExt::set_property(self.as_ref(), "text-transform", text_transform)
1249    }
1250
1251    #[cfg(feature = "v4_6")]
1252    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1253    #[doc(alias = "text-transform-set")]
1254    fn is_text_transform_set(&self) -> bool {
1255        ObjectExt::property(self.as_ref(), "text-transform-set")
1256    }
1257
1258    fn underline(&self) -> pango::Underline {
1259        ObjectExt::property(self.as_ref(), "underline")
1260    }
1261
1262    fn set_underline(&self, underline: pango::Underline) {
1263        ObjectExt::set_property(self.as_ref(), "underline", underline)
1264    }
1265
1266    #[doc(alias = "underline-rgba")]
1267    fn underline_rgba(&self) -> Option<gdk::RGBA> {
1268        ObjectExt::property(self.as_ref(), "underline-rgba")
1269    }
1270
1271    #[doc(alias = "underline-rgba")]
1272    fn set_underline_rgba(&self, underline_rgba: Option<&gdk::RGBA>) {
1273        ObjectExt::set_property(self.as_ref(), "underline-rgba", underline_rgba)
1274    }
1275
1276    #[doc(alias = "underline-rgba-set")]
1277    fn is_underline_rgba_set(&self) -> bool {
1278        ObjectExt::property(self.as_ref(), "underline-rgba-set")
1279    }
1280
1281    #[doc(alias = "underline-set")]
1282    fn is_underline_set(&self) -> bool {
1283        ObjectExt::property(self.as_ref(), "underline-set")
1284    }
1285
1286    fn variant(&self) -> pango::Variant {
1287        ObjectExt::property(self.as_ref(), "variant")
1288    }
1289
1290    fn set_variant(&self, variant: pango::Variant) {
1291        ObjectExt::set_property(self.as_ref(), "variant", variant)
1292    }
1293
1294    #[doc(alias = "variant-set")]
1295    fn is_variant_set(&self) -> bool {
1296        ObjectExt::property(self.as_ref(), "variant-set")
1297    }
1298
1299    fn weight(&self) -> i32 {
1300        ObjectExt::property(self.as_ref(), "weight")
1301    }
1302
1303    fn set_weight(&self, weight: i32) {
1304        ObjectExt::set_property(self.as_ref(), "weight", weight)
1305    }
1306
1307    #[doc(alias = "weight-set")]
1308    fn is_weight_set(&self) -> bool {
1309        ObjectExt::property(self.as_ref(), "weight-set")
1310    }
1311
1312    #[cfg(feature = "v4_6")]
1313    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1314    fn is_word(&self) -> bool {
1315        ObjectExt::property(self.as_ref(), "word")
1316    }
1317
1318    #[cfg(feature = "v4_6")]
1319    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1320    fn set_word(&self, word: bool) {
1321        ObjectExt::set_property(self.as_ref(), "word", word)
1322    }
1323
1324    #[cfg(feature = "v4_6")]
1325    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
1326    #[doc(alias = "word-set")]
1327    fn is_word_set(&self) -> bool {
1328        ObjectExt::property(self.as_ref(), "word-set")
1329    }
1330
1331    #[doc(alias = "wrap-mode")]
1332    fn wrap_mode(&self) -> WrapMode {
1333        ObjectExt::property(self.as_ref(), "wrap-mode")
1334    }
1335
1336    #[doc(alias = "wrap-mode")]
1337    fn set_wrap_mode(&self, wrap_mode: WrapMode) {
1338        ObjectExt::set_property(self.as_ref(), "wrap-mode", wrap_mode)
1339    }
1340
1341    #[doc(alias = "wrap-mode-set")]
1342    fn wraps_mode_set(&self) -> bool {
1343        ObjectExt::property(self.as_ref(), "wrap-mode-set")
1344    }
1345
1346    #[doc(alias = "accumulative-margin")]
1347    fn connect_accumulative_margin_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1348        unsafe extern "C" fn notify_accumulative_margin_trampoline<
1349            P: IsA<TextTag>,
1350            F: Fn(&P) + 'static,
1351        >(
1352            this: *mut ffi::GtkTextTag,
1353            _param_spec: glib::ffi::gpointer,
1354            f: glib::ffi::gpointer,
1355        ) {
1356            let f: &F = &*(f as *const F);
1357            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1358        }
1359        unsafe {
1360            let f: Box_<F> = Box_::new(f);
1361            connect_raw(
1362                self.as_ptr() as *mut _,
1363                b"notify::accumulative-margin\0".as_ptr() as *const _,
1364                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1365                    notify_accumulative_margin_trampoline::<Self, F> as *const (),
1366                )),
1367                Box_::into_raw(f),
1368            )
1369        }
1370    }
1371
1372    #[doc(alias = "allow-breaks")]
1373    fn connect_allow_breaks_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1374        unsafe extern "C" fn notify_allow_breaks_trampoline<
1375            P: IsA<TextTag>,
1376            F: Fn(&P) + 'static,
1377        >(
1378            this: *mut ffi::GtkTextTag,
1379            _param_spec: glib::ffi::gpointer,
1380            f: glib::ffi::gpointer,
1381        ) {
1382            let f: &F = &*(f as *const F);
1383            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1384        }
1385        unsafe {
1386            let f: Box_<F> = Box_::new(f);
1387            connect_raw(
1388                self.as_ptr() as *mut _,
1389                b"notify::allow-breaks\0".as_ptr() as *const _,
1390                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1391                    notify_allow_breaks_trampoline::<Self, F> as *const (),
1392                )),
1393                Box_::into_raw(f),
1394            )
1395        }
1396    }
1397
1398    #[doc(alias = "allow-breaks-set")]
1399    fn connect_allow_breaks_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1400        unsafe extern "C" fn notify_allow_breaks_set_trampoline<
1401            P: IsA<TextTag>,
1402            F: Fn(&P) + 'static,
1403        >(
1404            this: *mut ffi::GtkTextTag,
1405            _param_spec: glib::ffi::gpointer,
1406            f: glib::ffi::gpointer,
1407        ) {
1408            let f: &F = &*(f as *const F);
1409            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1410        }
1411        unsafe {
1412            let f: Box_<F> = Box_::new(f);
1413            connect_raw(
1414                self.as_ptr() as *mut _,
1415                b"notify::allow-breaks-set\0".as_ptr() as *const _,
1416                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1417                    notify_allow_breaks_set_trampoline::<Self, F> as *const (),
1418                )),
1419                Box_::into_raw(f),
1420            )
1421        }
1422    }
1423
1424    #[doc(alias = "background")]
1425    fn connect_background_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1426        unsafe extern "C" fn notify_background_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1427            this: *mut ffi::GtkTextTag,
1428            _param_spec: glib::ffi::gpointer,
1429            f: glib::ffi::gpointer,
1430        ) {
1431            let f: &F = &*(f as *const F);
1432            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1433        }
1434        unsafe {
1435            let f: Box_<F> = Box_::new(f);
1436            connect_raw(
1437                self.as_ptr() as *mut _,
1438                b"notify::background\0".as_ptr() as *const _,
1439                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1440                    notify_background_trampoline::<Self, F> as *const (),
1441                )),
1442                Box_::into_raw(f),
1443            )
1444        }
1445    }
1446
1447    #[doc(alias = "background-full-height")]
1448    fn connect_background_full_height_notify<F: Fn(&Self) + 'static>(
1449        &self,
1450        f: F,
1451    ) -> SignalHandlerId {
1452        unsafe extern "C" fn notify_background_full_height_trampoline<
1453            P: IsA<TextTag>,
1454            F: Fn(&P) + 'static,
1455        >(
1456            this: *mut ffi::GtkTextTag,
1457            _param_spec: glib::ffi::gpointer,
1458            f: glib::ffi::gpointer,
1459        ) {
1460            let f: &F = &*(f as *const F);
1461            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1462        }
1463        unsafe {
1464            let f: Box_<F> = Box_::new(f);
1465            connect_raw(
1466                self.as_ptr() as *mut _,
1467                b"notify::background-full-height\0".as_ptr() as *const _,
1468                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1469                    notify_background_full_height_trampoline::<Self, F> as *const (),
1470                )),
1471                Box_::into_raw(f),
1472            )
1473        }
1474    }
1475
1476    #[doc(alias = "background-full-height-set")]
1477    fn connect_background_full_height_set_notify<F: Fn(&Self) + 'static>(
1478        &self,
1479        f: F,
1480    ) -> SignalHandlerId {
1481        unsafe extern "C" fn notify_background_full_height_set_trampoline<
1482            P: IsA<TextTag>,
1483            F: Fn(&P) + 'static,
1484        >(
1485            this: *mut ffi::GtkTextTag,
1486            _param_spec: glib::ffi::gpointer,
1487            f: glib::ffi::gpointer,
1488        ) {
1489            let f: &F = &*(f as *const F);
1490            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1491        }
1492        unsafe {
1493            let f: Box_<F> = Box_::new(f);
1494            connect_raw(
1495                self.as_ptr() as *mut _,
1496                b"notify::background-full-height-set\0".as_ptr() as *const _,
1497                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1498                    notify_background_full_height_set_trampoline::<Self, F> as *const (),
1499                )),
1500                Box_::into_raw(f),
1501            )
1502        }
1503    }
1504
1505    #[doc(alias = "background-rgba")]
1506    fn connect_background_rgba_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1507        unsafe extern "C" fn notify_background_rgba_trampoline<
1508            P: IsA<TextTag>,
1509            F: Fn(&P) + 'static,
1510        >(
1511            this: *mut ffi::GtkTextTag,
1512            _param_spec: glib::ffi::gpointer,
1513            f: glib::ffi::gpointer,
1514        ) {
1515            let f: &F = &*(f as *const F);
1516            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1517        }
1518        unsafe {
1519            let f: Box_<F> = Box_::new(f);
1520            connect_raw(
1521                self.as_ptr() as *mut _,
1522                b"notify::background-rgba\0".as_ptr() as *const _,
1523                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1524                    notify_background_rgba_trampoline::<Self, F> as *const (),
1525                )),
1526                Box_::into_raw(f),
1527            )
1528        }
1529    }
1530
1531    #[doc(alias = "background-set")]
1532    fn connect_background_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1533        unsafe extern "C" fn notify_background_set_trampoline<
1534            P: IsA<TextTag>,
1535            F: Fn(&P) + 'static,
1536        >(
1537            this: *mut ffi::GtkTextTag,
1538            _param_spec: glib::ffi::gpointer,
1539            f: glib::ffi::gpointer,
1540        ) {
1541            let f: &F = &*(f as *const F);
1542            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1543        }
1544        unsafe {
1545            let f: Box_<F> = Box_::new(f);
1546            connect_raw(
1547                self.as_ptr() as *mut _,
1548                b"notify::background-set\0".as_ptr() as *const _,
1549                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1550                    notify_background_set_trampoline::<Self, F> as *const (),
1551                )),
1552                Box_::into_raw(f),
1553            )
1554        }
1555    }
1556
1557    #[doc(alias = "direction")]
1558    fn connect_direction_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1559        unsafe extern "C" fn notify_direction_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1560            this: *mut ffi::GtkTextTag,
1561            _param_spec: glib::ffi::gpointer,
1562            f: glib::ffi::gpointer,
1563        ) {
1564            let f: &F = &*(f as *const F);
1565            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1566        }
1567        unsafe {
1568            let f: Box_<F> = Box_::new(f);
1569            connect_raw(
1570                self.as_ptr() as *mut _,
1571                b"notify::direction\0".as_ptr() as *const _,
1572                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1573                    notify_direction_trampoline::<Self, F> as *const (),
1574                )),
1575                Box_::into_raw(f),
1576            )
1577        }
1578    }
1579
1580    #[doc(alias = "editable")]
1581    fn connect_editable_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1582        unsafe extern "C" fn notify_editable_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1583            this: *mut ffi::GtkTextTag,
1584            _param_spec: glib::ffi::gpointer,
1585            f: glib::ffi::gpointer,
1586        ) {
1587            let f: &F = &*(f as *const F);
1588            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1589        }
1590        unsafe {
1591            let f: Box_<F> = Box_::new(f);
1592            connect_raw(
1593                self.as_ptr() as *mut _,
1594                b"notify::editable\0".as_ptr() as *const _,
1595                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1596                    notify_editable_trampoline::<Self, F> as *const (),
1597                )),
1598                Box_::into_raw(f),
1599            )
1600        }
1601    }
1602
1603    #[doc(alias = "editable-set")]
1604    fn connect_editable_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1605        unsafe extern "C" fn notify_editable_set_trampoline<
1606            P: IsA<TextTag>,
1607            F: Fn(&P) + 'static,
1608        >(
1609            this: *mut ffi::GtkTextTag,
1610            _param_spec: glib::ffi::gpointer,
1611            f: glib::ffi::gpointer,
1612        ) {
1613            let f: &F = &*(f as *const F);
1614            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1615        }
1616        unsafe {
1617            let f: Box_<F> = Box_::new(f);
1618            connect_raw(
1619                self.as_ptr() as *mut _,
1620                b"notify::editable-set\0".as_ptr() as *const _,
1621                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1622                    notify_editable_set_trampoline::<Self, F> as *const (),
1623                )),
1624                Box_::into_raw(f),
1625            )
1626        }
1627    }
1628
1629    #[doc(alias = "fallback")]
1630    fn connect_fallback_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1631        unsafe extern "C" fn notify_fallback_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1632            this: *mut ffi::GtkTextTag,
1633            _param_spec: glib::ffi::gpointer,
1634            f: glib::ffi::gpointer,
1635        ) {
1636            let f: &F = &*(f as *const F);
1637            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1638        }
1639        unsafe {
1640            let f: Box_<F> = Box_::new(f);
1641            connect_raw(
1642                self.as_ptr() as *mut _,
1643                b"notify::fallback\0".as_ptr() as *const _,
1644                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1645                    notify_fallback_trampoline::<Self, F> as *const (),
1646                )),
1647                Box_::into_raw(f),
1648            )
1649        }
1650    }
1651
1652    #[doc(alias = "fallback-set")]
1653    fn connect_fallback_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1654        unsafe extern "C" fn notify_fallback_set_trampoline<
1655            P: IsA<TextTag>,
1656            F: Fn(&P) + 'static,
1657        >(
1658            this: *mut ffi::GtkTextTag,
1659            _param_spec: glib::ffi::gpointer,
1660            f: glib::ffi::gpointer,
1661        ) {
1662            let f: &F = &*(f as *const F);
1663            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1664        }
1665        unsafe {
1666            let f: Box_<F> = Box_::new(f);
1667            connect_raw(
1668                self.as_ptr() as *mut _,
1669                b"notify::fallback-set\0".as_ptr() as *const _,
1670                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1671                    notify_fallback_set_trampoline::<Self, F> as *const (),
1672                )),
1673                Box_::into_raw(f),
1674            )
1675        }
1676    }
1677
1678    #[doc(alias = "family")]
1679    fn connect_family_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1680        unsafe extern "C" fn notify_family_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1681            this: *mut ffi::GtkTextTag,
1682            _param_spec: glib::ffi::gpointer,
1683            f: glib::ffi::gpointer,
1684        ) {
1685            let f: &F = &*(f as *const F);
1686            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1687        }
1688        unsafe {
1689            let f: Box_<F> = Box_::new(f);
1690            connect_raw(
1691                self.as_ptr() as *mut _,
1692                b"notify::family\0".as_ptr() as *const _,
1693                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1694                    notify_family_trampoline::<Self, F> as *const (),
1695                )),
1696                Box_::into_raw(f),
1697            )
1698        }
1699    }
1700
1701    #[doc(alias = "family-set")]
1702    fn connect_family_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1703        unsafe extern "C" fn notify_family_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1704            this: *mut ffi::GtkTextTag,
1705            _param_spec: glib::ffi::gpointer,
1706            f: glib::ffi::gpointer,
1707        ) {
1708            let f: &F = &*(f as *const F);
1709            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1710        }
1711        unsafe {
1712            let f: Box_<F> = Box_::new(f);
1713            connect_raw(
1714                self.as_ptr() as *mut _,
1715                b"notify::family-set\0".as_ptr() as *const _,
1716                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1717                    notify_family_set_trampoline::<Self, F> as *const (),
1718                )),
1719                Box_::into_raw(f),
1720            )
1721        }
1722    }
1723
1724    #[doc(alias = "font")]
1725    fn connect_font_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1726        unsafe extern "C" fn notify_font_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1727            this: *mut ffi::GtkTextTag,
1728            _param_spec: glib::ffi::gpointer,
1729            f: glib::ffi::gpointer,
1730        ) {
1731            let f: &F = &*(f as *const F);
1732            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1733        }
1734        unsafe {
1735            let f: Box_<F> = Box_::new(f);
1736            connect_raw(
1737                self.as_ptr() as *mut _,
1738                b"notify::font\0".as_ptr() as *const _,
1739                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1740                    notify_font_trampoline::<Self, F> as *const (),
1741                )),
1742                Box_::into_raw(f),
1743            )
1744        }
1745    }
1746
1747    #[doc(alias = "font-desc")]
1748    fn connect_font_desc_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1749        unsafe extern "C" fn notify_font_desc_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1750            this: *mut ffi::GtkTextTag,
1751            _param_spec: glib::ffi::gpointer,
1752            f: glib::ffi::gpointer,
1753        ) {
1754            let f: &F = &*(f as *const F);
1755            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1756        }
1757        unsafe {
1758            let f: Box_<F> = Box_::new(f);
1759            connect_raw(
1760                self.as_ptr() as *mut _,
1761                b"notify::font-desc\0".as_ptr() as *const _,
1762                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1763                    notify_font_desc_trampoline::<Self, F> as *const (),
1764                )),
1765                Box_::into_raw(f),
1766            )
1767        }
1768    }
1769
1770    #[doc(alias = "font-features")]
1771    fn connect_font_features_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1772        unsafe extern "C" fn notify_font_features_trampoline<
1773            P: IsA<TextTag>,
1774            F: Fn(&P) + 'static,
1775        >(
1776            this: *mut ffi::GtkTextTag,
1777            _param_spec: glib::ffi::gpointer,
1778            f: glib::ffi::gpointer,
1779        ) {
1780            let f: &F = &*(f as *const F);
1781            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1782        }
1783        unsafe {
1784            let f: Box_<F> = Box_::new(f);
1785            connect_raw(
1786                self.as_ptr() as *mut _,
1787                b"notify::font-features\0".as_ptr() as *const _,
1788                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1789                    notify_font_features_trampoline::<Self, F> as *const (),
1790                )),
1791                Box_::into_raw(f),
1792            )
1793        }
1794    }
1795
1796    #[doc(alias = "font-features-set")]
1797    fn connect_font_features_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1798        unsafe extern "C" fn notify_font_features_set_trampoline<
1799            P: IsA<TextTag>,
1800            F: Fn(&P) + 'static,
1801        >(
1802            this: *mut ffi::GtkTextTag,
1803            _param_spec: glib::ffi::gpointer,
1804            f: glib::ffi::gpointer,
1805        ) {
1806            let f: &F = &*(f as *const F);
1807            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1808        }
1809        unsafe {
1810            let f: Box_<F> = Box_::new(f);
1811            connect_raw(
1812                self.as_ptr() as *mut _,
1813                b"notify::font-features-set\0".as_ptr() as *const _,
1814                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1815                    notify_font_features_set_trampoline::<Self, F> as *const (),
1816                )),
1817                Box_::into_raw(f),
1818            )
1819        }
1820    }
1821
1822    #[doc(alias = "foreground")]
1823    fn connect_foreground_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1824        unsafe extern "C" fn notify_foreground_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1825            this: *mut ffi::GtkTextTag,
1826            _param_spec: glib::ffi::gpointer,
1827            f: glib::ffi::gpointer,
1828        ) {
1829            let f: &F = &*(f as *const F);
1830            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1831        }
1832        unsafe {
1833            let f: Box_<F> = Box_::new(f);
1834            connect_raw(
1835                self.as_ptr() as *mut _,
1836                b"notify::foreground\0".as_ptr() as *const _,
1837                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1838                    notify_foreground_trampoline::<Self, F> as *const (),
1839                )),
1840                Box_::into_raw(f),
1841            )
1842        }
1843    }
1844
1845    #[doc(alias = "foreground-rgba")]
1846    fn connect_foreground_rgba_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1847        unsafe extern "C" fn notify_foreground_rgba_trampoline<
1848            P: IsA<TextTag>,
1849            F: Fn(&P) + 'static,
1850        >(
1851            this: *mut ffi::GtkTextTag,
1852            _param_spec: glib::ffi::gpointer,
1853            f: glib::ffi::gpointer,
1854        ) {
1855            let f: &F = &*(f as *const F);
1856            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1857        }
1858        unsafe {
1859            let f: Box_<F> = Box_::new(f);
1860            connect_raw(
1861                self.as_ptr() as *mut _,
1862                b"notify::foreground-rgba\0".as_ptr() as *const _,
1863                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1864                    notify_foreground_rgba_trampoline::<Self, F> as *const (),
1865                )),
1866                Box_::into_raw(f),
1867            )
1868        }
1869    }
1870
1871    #[doc(alias = "foreground-set")]
1872    fn connect_foreground_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1873        unsafe extern "C" fn notify_foreground_set_trampoline<
1874            P: IsA<TextTag>,
1875            F: Fn(&P) + 'static,
1876        >(
1877            this: *mut ffi::GtkTextTag,
1878            _param_spec: glib::ffi::gpointer,
1879            f: glib::ffi::gpointer,
1880        ) {
1881            let f: &F = &*(f as *const F);
1882            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1883        }
1884        unsafe {
1885            let f: Box_<F> = Box_::new(f);
1886            connect_raw(
1887                self.as_ptr() as *mut _,
1888                b"notify::foreground-set\0".as_ptr() as *const _,
1889                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1890                    notify_foreground_set_trampoline::<Self, F> as *const (),
1891                )),
1892                Box_::into_raw(f),
1893            )
1894        }
1895    }
1896
1897    #[doc(alias = "indent")]
1898    fn connect_indent_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1899        unsafe extern "C" fn notify_indent_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1900            this: *mut ffi::GtkTextTag,
1901            _param_spec: glib::ffi::gpointer,
1902            f: glib::ffi::gpointer,
1903        ) {
1904            let f: &F = &*(f as *const F);
1905            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1906        }
1907        unsafe {
1908            let f: Box_<F> = Box_::new(f);
1909            connect_raw(
1910                self.as_ptr() as *mut _,
1911                b"notify::indent\0".as_ptr() as *const _,
1912                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1913                    notify_indent_trampoline::<Self, F> as *const (),
1914                )),
1915                Box_::into_raw(f),
1916            )
1917        }
1918    }
1919
1920    #[doc(alias = "indent-set")]
1921    fn connect_indent_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1922        unsafe extern "C" fn notify_indent_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1923            this: *mut ffi::GtkTextTag,
1924            _param_spec: glib::ffi::gpointer,
1925            f: glib::ffi::gpointer,
1926        ) {
1927            let f: &F = &*(f as *const F);
1928            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1929        }
1930        unsafe {
1931            let f: Box_<F> = Box_::new(f);
1932            connect_raw(
1933                self.as_ptr() as *mut _,
1934                b"notify::indent-set\0".as_ptr() as *const _,
1935                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1936                    notify_indent_set_trampoline::<Self, F> as *const (),
1937                )),
1938                Box_::into_raw(f),
1939            )
1940        }
1941    }
1942
1943    #[doc(alias = "insert-hyphens")]
1944    fn connect_insert_hyphens_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1945        unsafe extern "C" fn notify_insert_hyphens_trampoline<
1946            P: IsA<TextTag>,
1947            F: Fn(&P) + 'static,
1948        >(
1949            this: *mut ffi::GtkTextTag,
1950            _param_spec: glib::ffi::gpointer,
1951            f: glib::ffi::gpointer,
1952        ) {
1953            let f: &F = &*(f as *const F);
1954            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1955        }
1956        unsafe {
1957            let f: Box_<F> = Box_::new(f);
1958            connect_raw(
1959                self.as_ptr() as *mut _,
1960                b"notify::insert-hyphens\0".as_ptr() as *const _,
1961                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1962                    notify_insert_hyphens_trampoline::<Self, F> as *const (),
1963                )),
1964                Box_::into_raw(f),
1965            )
1966        }
1967    }
1968
1969    #[doc(alias = "insert-hyphens-set")]
1970    fn connect_insert_hyphens_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1971        unsafe extern "C" fn notify_insert_hyphens_set_trampoline<
1972            P: IsA<TextTag>,
1973            F: Fn(&P) + 'static,
1974        >(
1975            this: *mut ffi::GtkTextTag,
1976            _param_spec: glib::ffi::gpointer,
1977            f: glib::ffi::gpointer,
1978        ) {
1979            let f: &F = &*(f as *const F);
1980            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
1981        }
1982        unsafe {
1983            let f: Box_<F> = Box_::new(f);
1984            connect_raw(
1985                self.as_ptr() as *mut _,
1986                b"notify::insert-hyphens-set\0".as_ptr() as *const _,
1987                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
1988                    notify_insert_hyphens_set_trampoline::<Self, F> as *const (),
1989                )),
1990                Box_::into_raw(f),
1991            )
1992        }
1993    }
1994
1995    #[doc(alias = "invisible")]
1996    fn connect_invisible_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
1997        unsafe extern "C" fn notify_invisible_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
1998            this: *mut ffi::GtkTextTag,
1999            _param_spec: glib::ffi::gpointer,
2000            f: glib::ffi::gpointer,
2001        ) {
2002            let f: &F = &*(f as *const F);
2003            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2004        }
2005        unsafe {
2006            let f: Box_<F> = Box_::new(f);
2007            connect_raw(
2008                self.as_ptr() as *mut _,
2009                b"notify::invisible\0".as_ptr() as *const _,
2010                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2011                    notify_invisible_trampoline::<Self, F> as *const (),
2012                )),
2013                Box_::into_raw(f),
2014            )
2015        }
2016    }
2017
2018    #[doc(alias = "invisible-set")]
2019    fn connect_invisible_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2020        unsafe extern "C" fn notify_invisible_set_trampoline<
2021            P: IsA<TextTag>,
2022            F: Fn(&P) + 'static,
2023        >(
2024            this: *mut ffi::GtkTextTag,
2025            _param_spec: glib::ffi::gpointer,
2026            f: glib::ffi::gpointer,
2027        ) {
2028            let f: &F = &*(f as *const F);
2029            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2030        }
2031        unsafe {
2032            let f: Box_<F> = Box_::new(f);
2033            connect_raw(
2034                self.as_ptr() as *mut _,
2035                b"notify::invisible-set\0".as_ptr() as *const _,
2036                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2037                    notify_invisible_set_trampoline::<Self, F> as *const (),
2038                )),
2039                Box_::into_raw(f),
2040            )
2041        }
2042    }
2043
2044    #[doc(alias = "justification")]
2045    fn connect_justification_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2046        unsafe extern "C" fn notify_justification_trampoline<
2047            P: IsA<TextTag>,
2048            F: Fn(&P) + 'static,
2049        >(
2050            this: *mut ffi::GtkTextTag,
2051            _param_spec: glib::ffi::gpointer,
2052            f: glib::ffi::gpointer,
2053        ) {
2054            let f: &F = &*(f as *const F);
2055            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2056        }
2057        unsafe {
2058            let f: Box_<F> = Box_::new(f);
2059            connect_raw(
2060                self.as_ptr() as *mut _,
2061                b"notify::justification\0".as_ptr() as *const _,
2062                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2063                    notify_justification_trampoline::<Self, F> as *const (),
2064                )),
2065                Box_::into_raw(f),
2066            )
2067        }
2068    }
2069
2070    #[doc(alias = "justification-set")]
2071    fn connect_justification_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2072        unsafe extern "C" fn notify_justification_set_trampoline<
2073            P: IsA<TextTag>,
2074            F: Fn(&P) + 'static,
2075        >(
2076            this: *mut ffi::GtkTextTag,
2077            _param_spec: glib::ffi::gpointer,
2078            f: glib::ffi::gpointer,
2079        ) {
2080            let f: &F = &*(f as *const F);
2081            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2082        }
2083        unsafe {
2084            let f: Box_<F> = Box_::new(f);
2085            connect_raw(
2086                self.as_ptr() as *mut _,
2087                b"notify::justification-set\0".as_ptr() as *const _,
2088                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2089                    notify_justification_set_trampoline::<Self, F> as *const (),
2090                )),
2091                Box_::into_raw(f),
2092            )
2093        }
2094    }
2095
2096    #[doc(alias = "language")]
2097    fn connect_language_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2098        unsafe extern "C" fn notify_language_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2099            this: *mut ffi::GtkTextTag,
2100            _param_spec: glib::ffi::gpointer,
2101            f: glib::ffi::gpointer,
2102        ) {
2103            let f: &F = &*(f as *const F);
2104            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2105        }
2106        unsafe {
2107            let f: Box_<F> = Box_::new(f);
2108            connect_raw(
2109                self.as_ptr() as *mut _,
2110                b"notify::language\0".as_ptr() as *const _,
2111                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2112                    notify_language_trampoline::<Self, F> as *const (),
2113                )),
2114                Box_::into_raw(f),
2115            )
2116        }
2117    }
2118
2119    #[doc(alias = "language-set")]
2120    fn connect_language_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2121        unsafe extern "C" fn notify_language_set_trampoline<
2122            P: IsA<TextTag>,
2123            F: Fn(&P) + 'static,
2124        >(
2125            this: *mut ffi::GtkTextTag,
2126            _param_spec: glib::ffi::gpointer,
2127            f: glib::ffi::gpointer,
2128        ) {
2129            let f: &F = &*(f as *const F);
2130            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2131        }
2132        unsafe {
2133            let f: Box_<F> = Box_::new(f);
2134            connect_raw(
2135                self.as_ptr() as *mut _,
2136                b"notify::language-set\0".as_ptr() as *const _,
2137                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2138                    notify_language_set_trampoline::<Self, F> as *const (),
2139                )),
2140                Box_::into_raw(f),
2141            )
2142        }
2143    }
2144
2145    #[doc(alias = "left-margin")]
2146    fn connect_left_margin_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2147        unsafe extern "C" fn notify_left_margin_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2148            this: *mut ffi::GtkTextTag,
2149            _param_spec: glib::ffi::gpointer,
2150            f: glib::ffi::gpointer,
2151        ) {
2152            let f: &F = &*(f as *const F);
2153            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2154        }
2155        unsafe {
2156            let f: Box_<F> = Box_::new(f);
2157            connect_raw(
2158                self.as_ptr() as *mut _,
2159                b"notify::left-margin\0".as_ptr() as *const _,
2160                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2161                    notify_left_margin_trampoline::<Self, F> as *const (),
2162                )),
2163                Box_::into_raw(f),
2164            )
2165        }
2166    }
2167
2168    #[doc(alias = "left-margin-set")]
2169    fn connect_left_margin_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2170        unsafe extern "C" fn notify_left_margin_set_trampoline<
2171            P: IsA<TextTag>,
2172            F: Fn(&P) + 'static,
2173        >(
2174            this: *mut ffi::GtkTextTag,
2175            _param_spec: glib::ffi::gpointer,
2176            f: glib::ffi::gpointer,
2177        ) {
2178            let f: &F = &*(f as *const F);
2179            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2180        }
2181        unsafe {
2182            let f: Box_<F> = Box_::new(f);
2183            connect_raw(
2184                self.as_ptr() as *mut _,
2185                b"notify::left-margin-set\0".as_ptr() as *const _,
2186                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2187                    notify_left_margin_set_trampoline::<Self, F> as *const (),
2188                )),
2189                Box_::into_raw(f),
2190            )
2191        }
2192    }
2193
2194    #[doc(alias = "letter-spacing")]
2195    fn connect_letter_spacing_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2196        unsafe extern "C" fn notify_letter_spacing_trampoline<
2197            P: IsA<TextTag>,
2198            F: Fn(&P) + 'static,
2199        >(
2200            this: *mut ffi::GtkTextTag,
2201            _param_spec: glib::ffi::gpointer,
2202            f: glib::ffi::gpointer,
2203        ) {
2204            let f: &F = &*(f as *const F);
2205            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2206        }
2207        unsafe {
2208            let f: Box_<F> = Box_::new(f);
2209            connect_raw(
2210                self.as_ptr() as *mut _,
2211                b"notify::letter-spacing\0".as_ptr() as *const _,
2212                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2213                    notify_letter_spacing_trampoline::<Self, F> as *const (),
2214                )),
2215                Box_::into_raw(f),
2216            )
2217        }
2218    }
2219
2220    #[doc(alias = "letter-spacing-set")]
2221    fn connect_letter_spacing_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2222        unsafe extern "C" fn notify_letter_spacing_set_trampoline<
2223            P: IsA<TextTag>,
2224            F: Fn(&P) + 'static,
2225        >(
2226            this: *mut ffi::GtkTextTag,
2227            _param_spec: glib::ffi::gpointer,
2228            f: glib::ffi::gpointer,
2229        ) {
2230            let f: &F = &*(f as *const F);
2231            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2232        }
2233        unsafe {
2234            let f: Box_<F> = Box_::new(f);
2235            connect_raw(
2236                self.as_ptr() as *mut _,
2237                b"notify::letter-spacing-set\0".as_ptr() as *const _,
2238                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2239                    notify_letter_spacing_set_trampoline::<Self, F> as *const (),
2240                )),
2241                Box_::into_raw(f),
2242            )
2243        }
2244    }
2245
2246    #[cfg(feature = "v4_6")]
2247    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2248    #[doc(alias = "line-height")]
2249    fn connect_line_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2250        unsafe extern "C" fn notify_line_height_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2251            this: *mut ffi::GtkTextTag,
2252            _param_spec: glib::ffi::gpointer,
2253            f: glib::ffi::gpointer,
2254        ) {
2255            let f: &F = &*(f as *const F);
2256            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2257        }
2258        unsafe {
2259            let f: Box_<F> = Box_::new(f);
2260            connect_raw(
2261                self.as_ptr() as *mut _,
2262                b"notify::line-height\0".as_ptr() as *const _,
2263                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2264                    notify_line_height_trampoline::<Self, F> as *const (),
2265                )),
2266                Box_::into_raw(f),
2267            )
2268        }
2269    }
2270
2271    #[cfg(feature = "v4_6")]
2272    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2273    #[doc(alias = "line-height-set")]
2274    fn connect_line_height_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2275        unsafe extern "C" fn notify_line_height_set_trampoline<
2276            P: IsA<TextTag>,
2277            F: Fn(&P) + 'static,
2278        >(
2279            this: *mut ffi::GtkTextTag,
2280            _param_spec: glib::ffi::gpointer,
2281            f: glib::ffi::gpointer,
2282        ) {
2283            let f: &F = &*(f as *const F);
2284            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2285        }
2286        unsafe {
2287            let f: Box_<F> = Box_::new(f);
2288            connect_raw(
2289                self.as_ptr() as *mut _,
2290                b"notify::line-height-set\0".as_ptr() as *const _,
2291                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2292                    notify_line_height_set_trampoline::<Self, F> as *const (),
2293                )),
2294                Box_::into_raw(f),
2295            )
2296        }
2297    }
2298
2299    #[doc(alias = "overline")]
2300    fn connect_overline_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2301        unsafe extern "C" fn notify_overline_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2302            this: *mut ffi::GtkTextTag,
2303            _param_spec: glib::ffi::gpointer,
2304            f: glib::ffi::gpointer,
2305        ) {
2306            let f: &F = &*(f as *const F);
2307            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2308        }
2309        unsafe {
2310            let f: Box_<F> = Box_::new(f);
2311            connect_raw(
2312                self.as_ptr() as *mut _,
2313                b"notify::overline\0".as_ptr() as *const _,
2314                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2315                    notify_overline_trampoline::<Self, F> as *const (),
2316                )),
2317                Box_::into_raw(f),
2318            )
2319        }
2320    }
2321
2322    #[doc(alias = "overline-rgba")]
2323    fn connect_overline_rgba_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2324        unsafe extern "C" fn notify_overline_rgba_trampoline<
2325            P: IsA<TextTag>,
2326            F: Fn(&P) + 'static,
2327        >(
2328            this: *mut ffi::GtkTextTag,
2329            _param_spec: glib::ffi::gpointer,
2330            f: glib::ffi::gpointer,
2331        ) {
2332            let f: &F = &*(f as *const F);
2333            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2334        }
2335        unsafe {
2336            let f: Box_<F> = Box_::new(f);
2337            connect_raw(
2338                self.as_ptr() as *mut _,
2339                b"notify::overline-rgba\0".as_ptr() as *const _,
2340                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2341                    notify_overline_rgba_trampoline::<Self, F> as *const (),
2342                )),
2343                Box_::into_raw(f),
2344            )
2345        }
2346    }
2347
2348    #[doc(alias = "overline-rgba-set")]
2349    fn connect_overline_rgba_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2350        unsafe extern "C" fn notify_overline_rgba_set_trampoline<
2351            P: IsA<TextTag>,
2352            F: Fn(&P) + 'static,
2353        >(
2354            this: *mut ffi::GtkTextTag,
2355            _param_spec: glib::ffi::gpointer,
2356            f: glib::ffi::gpointer,
2357        ) {
2358            let f: &F = &*(f as *const F);
2359            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2360        }
2361        unsafe {
2362            let f: Box_<F> = Box_::new(f);
2363            connect_raw(
2364                self.as_ptr() as *mut _,
2365                b"notify::overline-rgba-set\0".as_ptr() as *const _,
2366                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2367                    notify_overline_rgba_set_trampoline::<Self, F> as *const (),
2368                )),
2369                Box_::into_raw(f),
2370            )
2371        }
2372    }
2373
2374    #[doc(alias = "overline-set")]
2375    fn connect_overline_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2376        unsafe extern "C" fn notify_overline_set_trampoline<
2377            P: IsA<TextTag>,
2378            F: Fn(&P) + 'static,
2379        >(
2380            this: *mut ffi::GtkTextTag,
2381            _param_spec: glib::ffi::gpointer,
2382            f: glib::ffi::gpointer,
2383        ) {
2384            let f: &F = &*(f as *const F);
2385            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2386        }
2387        unsafe {
2388            let f: Box_<F> = Box_::new(f);
2389            connect_raw(
2390                self.as_ptr() as *mut _,
2391                b"notify::overline-set\0".as_ptr() as *const _,
2392                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2393                    notify_overline_set_trampoline::<Self, F> as *const (),
2394                )),
2395                Box_::into_raw(f),
2396            )
2397        }
2398    }
2399
2400    #[doc(alias = "paragraph-background")]
2401    fn connect_paragraph_background_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2402        unsafe extern "C" fn notify_paragraph_background_trampoline<
2403            P: IsA<TextTag>,
2404            F: Fn(&P) + 'static,
2405        >(
2406            this: *mut ffi::GtkTextTag,
2407            _param_spec: glib::ffi::gpointer,
2408            f: glib::ffi::gpointer,
2409        ) {
2410            let f: &F = &*(f as *const F);
2411            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2412        }
2413        unsafe {
2414            let f: Box_<F> = Box_::new(f);
2415            connect_raw(
2416                self.as_ptr() as *mut _,
2417                b"notify::paragraph-background\0".as_ptr() as *const _,
2418                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2419                    notify_paragraph_background_trampoline::<Self, F> as *const (),
2420                )),
2421                Box_::into_raw(f),
2422            )
2423        }
2424    }
2425
2426    #[doc(alias = "paragraph-background-rgba")]
2427    fn connect_paragraph_background_rgba_notify<F: Fn(&Self) + 'static>(
2428        &self,
2429        f: F,
2430    ) -> SignalHandlerId {
2431        unsafe extern "C" fn notify_paragraph_background_rgba_trampoline<
2432            P: IsA<TextTag>,
2433            F: Fn(&P) + 'static,
2434        >(
2435            this: *mut ffi::GtkTextTag,
2436            _param_spec: glib::ffi::gpointer,
2437            f: glib::ffi::gpointer,
2438        ) {
2439            let f: &F = &*(f as *const F);
2440            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2441        }
2442        unsafe {
2443            let f: Box_<F> = Box_::new(f);
2444            connect_raw(
2445                self.as_ptr() as *mut _,
2446                b"notify::paragraph-background-rgba\0".as_ptr() as *const _,
2447                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2448                    notify_paragraph_background_rgba_trampoline::<Self, F> as *const (),
2449                )),
2450                Box_::into_raw(f),
2451            )
2452        }
2453    }
2454
2455    #[doc(alias = "paragraph-background-set")]
2456    fn connect_paragraph_background_set_notify<F: Fn(&Self) + 'static>(
2457        &self,
2458        f: F,
2459    ) -> SignalHandlerId {
2460        unsafe extern "C" fn notify_paragraph_background_set_trampoline<
2461            P: IsA<TextTag>,
2462            F: Fn(&P) + 'static,
2463        >(
2464            this: *mut ffi::GtkTextTag,
2465            _param_spec: glib::ffi::gpointer,
2466            f: glib::ffi::gpointer,
2467        ) {
2468            let f: &F = &*(f as *const F);
2469            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2470        }
2471        unsafe {
2472            let f: Box_<F> = Box_::new(f);
2473            connect_raw(
2474                self.as_ptr() as *mut _,
2475                b"notify::paragraph-background-set\0".as_ptr() as *const _,
2476                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2477                    notify_paragraph_background_set_trampoline::<Self, F> as *const (),
2478                )),
2479                Box_::into_raw(f),
2480            )
2481        }
2482    }
2483
2484    #[doc(alias = "pixels-above-lines")]
2485    fn connect_pixels_above_lines_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2486        unsafe extern "C" fn notify_pixels_above_lines_trampoline<
2487            P: IsA<TextTag>,
2488            F: Fn(&P) + 'static,
2489        >(
2490            this: *mut ffi::GtkTextTag,
2491            _param_spec: glib::ffi::gpointer,
2492            f: glib::ffi::gpointer,
2493        ) {
2494            let f: &F = &*(f as *const F);
2495            f(TextTag::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                b"notify::pixels-above-lines\0".as_ptr() as *const _,
2502                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2503                    notify_pixels_above_lines_trampoline::<Self, F> as *const (),
2504                )),
2505                Box_::into_raw(f),
2506            )
2507        }
2508    }
2509
2510    #[doc(alias = "pixels-above-lines-set")]
2511    fn connect_pixels_above_lines_set_notify<F: Fn(&Self) + 'static>(
2512        &self,
2513        f: F,
2514    ) -> SignalHandlerId {
2515        unsafe extern "C" fn notify_pixels_above_lines_set_trampoline<
2516            P: IsA<TextTag>,
2517            F: Fn(&P) + 'static,
2518        >(
2519            this: *mut ffi::GtkTextTag,
2520            _param_spec: glib::ffi::gpointer,
2521            f: glib::ffi::gpointer,
2522        ) {
2523            let f: &F = &*(f as *const F);
2524            f(TextTag::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                b"notify::pixels-above-lines-set\0".as_ptr() as *const _,
2531                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2532                    notify_pixels_above_lines_set_trampoline::<Self, F> as *const (),
2533                )),
2534                Box_::into_raw(f),
2535            )
2536        }
2537    }
2538
2539    #[doc(alias = "pixels-below-lines")]
2540    fn connect_pixels_below_lines_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2541        unsafe extern "C" fn notify_pixels_below_lines_trampoline<
2542            P: IsA<TextTag>,
2543            F: Fn(&P) + 'static,
2544        >(
2545            this: *mut ffi::GtkTextTag,
2546            _param_spec: glib::ffi::gpointer,
2547            f: glib::ffi::gpointer,
2548        ) {
2549            let f: &F = &*(f as *const F);
2550            f(TextTag::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                b"notify::pixels-below-lines\0".as_ptr() as *const _,
2557                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2558                    notify_pixels_below_lines_trampoline::<Self, F> as *const (),
2559                )),
2560                Box_::into_raw(f),
2561            )
2562        }
2563    }
2564
2565    #[doc(alias = "pixels-below-lines-set")]
2566    fn connect_pixels_below_lines_set_notify<F: Fn(&Self) + 'static>(
2567        &self,
2568        f: F,
2569    ) -> SignalHandlerId {
2570        unsafe extern "C" fn notify_pixels_below_lines_set_trampoline<
2571            P: IsA<TextTag>,
2572            F: Fn(&P) + 'static,
2573        >(
2574            this: *mut ffi::GtkTextTag,
2575            _param_spec: glib::ffi::gpointer,
2576            f: glib::ffi::gpointer,
2577        ) {
2578            let f: &F = &*(f as *const F);
2579            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2580        }
2581        unsafe {
2582            let f: Box_<F> = Box_::new(f);
2583            connect_raw(
2584                self.as_ptr() as *mut _,
2585                b"notify::pixels-below-lines-set\0".as_ptr() as *const _,
2586                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2587                    notify_pixels_below_lines_set_trampoline::<Self, F> as *const (),
2588                )),
2589                Box_::into_raw(f),
2590            )
2591        }
2592    }
2593
2594    #[doc(alias = "pixels-inside-wrap")]
2595    fn connect_pixels_inside_wrap_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2596        unsafe extern "C" fn notify_pixels_inside_wrap_trampoline<
2597            P: IsA<TextTag>,
2598            F: Fn(&P) + 'static,
2599        >(
2600            this: *mut ffi::GtkTextTag,
2601            _param_spec: glib::ffi::gpointer,
2602            f: glib::ffi::gpointer,
2603        ) {
2604            let f: &F = &*(f as *const F);
2605            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2606        }
2607        unsafe {
2608            let f: Box_<F> = Box_::new(f);
2609            connect_raw(
2610                self.as_ptr() as *mut _,
2611                b"notify::pixels-inside-wrap\0".as_ptr() as *const _,
2612                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2613                    notify_pixels_inside_wrap_trampoline::<Self, F> as *const (),
2614                )),
2615                Box_::into_raw(f),
2616            )
2617        }
2618    }
2619
2620    #[doc(alias = "pixels-inside-wrap-set")]
2621    fn connect_pixels_inside_wrap_set_notify<F: Fn(&Self) + 'static>(
2622        &self,
2623        f: F,
2624    ) -> SignalHandlerId {
2625        unsafe extern "C" fn notify_pixels_inside_wrap_set_trampoline<
2626            P: IsA<TextTag>,
2627            F: Fn(&P) + 'static,
2628        >(
2629            this: *mut ffi::GtkTextTag,
2630            _param_spec: glib::ffi::gpointer,
2631            f: glib::ffi::gpointer,
2632        ) {
2633            let f: &F = &*(f as *const F);
2634            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2635        }
2636        unsafe {
2637            let f: Box_<F> = Box_::new(f);
2638            connect_raw(
2639                self.as_ptr() as *mut _,
2640                b"notify::pixels-inside-wrap-set\0".as_ptr() as *const _,
2641                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2642                    notify_pixels_inside_wrap_set_trampoline::<Self, F> as *const (),
2643                )),
2644                Box_::into_raw(f),
2645            )
2646        }
2647    }
2648
2649    #[doc(alias = "right-margin")]
2650    fn connect_right_margin_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2651        unsafe extern "C" fn notify_right_margin_trampoline<
2652            P: IsA<TextTag>,
2653            F: Fn(&P) + 'static,
2654        >(
2655            this: *mut ffi::GtkTextTag,
2656            _param_spec: glib::ffi::gpointer,
2657            f: glib::ffi::gpointer,
2658        ) {
2659            let f: &F = &*(f as *const F);
2660            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2661        }
2662        unsafe {
2663            let f: Box_<F> = Box_::new(f);
2664            connect_raw(
2665                self.as_ptr() as *mut _,
2666                b"notify::right-margin\0".as_ptr() as *const _,
2667                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2668                    notify_right_margin_trampoline::<Self, F> as *const (),
2669                )),
2670                Box_::into_raw(f),
2671            )
2672        }
2673    }
2674
2675    #[doc(alias = "right-margin-set")]
2676    fn connect_right_margin_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2677        unsafe extern "C" fn notify_right_margin_set_trampoline<
2678            P: IsA<TextTag>,
2679            F: Fn(&P) + 'static,
2680        >(
2681            this: *mut ffi::GtkTextTag,
2682            _param_spec: glib::ffi::gpointer,
2683            f: glib::ffi::gpointer,
2684        ) {
2685            let f: &F = &*(f as *const F);
2686            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2687        }
2688        unsafe {
2689            let f: Box_<F> = Box_::new(f);
2690            connect_raw(
2691                self.as_ptr() as *mut _,
2692                b"notify::right-margin-set\0".as_ptr() as *const _,
2693                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2694                    notify_right_margin_set_trampoline::<Self, F> as *const (),
2695                )),
2696                Box_::into_raw(f),
2697            )
2698        }
2699    }
2700
2701    #[doc(alias = "rise")]
2702    fn connect_rise_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2703        unsafe extern "C" fn notify_rise_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2704            this: *mut ffi::GtkTextTag,
2705            _param_spec: glib::ffi::gpointer,
2706            f: glib::ffi::gpointer,
2707        ) {
2708            let f: &F = &*(f as *const F);
2709            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2710        }
2711        unsafe {
2712            let f: Box_<F> = Box_::new(f);
2713            connect_raw(
2714                self.as_ptr() as *mut _,
2715                b"notify::rise\0".as_ptr() as *const _,
2716                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2717                    notify_rise_trampoline::<Self, F> as *const (),
2718                )),
2719                Box_::into_raw(f),
2720            )
2721        }
2722    }
2723
2724    #[doc(alias = "rise-set")]
2725    fn connect_rise_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2726        unsafe extern "C" fn notify_rise_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2727            this: *mut ffi::GtkTextTag,
2728            _param_spec: glib::ffi::gpointer,
2729            f: glib::ffi::gpointer,
2730        ) {
2731            let f: &F = &*(f as *const F);
2732            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2733        }
2734        unsafe {
2735            let f: Box_<F> = Box_::new(f);
2736            connect_raw(
2737                self.as_ptr() as *mut _,
2738                b"notify::rise-set\0".as_ptr() as *const _,
2739                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2740                    notify_rise_set_trampoline::<Self, F> as *const (),
2741                )),
2742                Box_::into_raw(f),
2743            )
2744        }
2745    }
2746
2747    #[doc(alias = "scale")]
2748    fn connect_scale_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2749        unsafe extern "C" fn notify_scale_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2750            this: *mut ffi::GtkTextTag,
2751            _param_spec: glib::ffi::gpointer,
2752            f: glib::ffi::gpointer,
2753        ) {
2754            let f: &F = &*(f as *const F);
2755            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2756        }
2757        unsafe {
2758            let f: Box_<F> = Box_::new(f);
2759            connect_raw(
2760                self.as_ptr() as *mut _,
2761                b"notify::scale\0".as_ptr() as *const _,
2762                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2763                    notify_scale_trampoline::<Self, F> as *const (),
2764                )),
2765                Box_::into_raw(f),
2766            )
2767        }
2768    }
2769
2770    #[doc(alias = "scale-set")]
2771    fn connect_scale_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2772        unsafe extern "C" fn notify_scale_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2773            this: *mut ffi::GtkTextTag,
2774            _param_spec: glib::ffi::gpointer,
2775            f: glib::ffi::gpointer,
2776        ) {
2777            let f: &F = &*(f as *const F);
2778            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2779        }
2780        unsafe {
2781            let f: Box_<F> = Box_::new(f);
2782            connect_raw(
2783                self.as_ptr() as *mut _,
2784                b"notify::scale-set\0".as_ptr() as *const _,
2785                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2786                    notify_scale_set_trampoline::<Self, F> as *const (),
2787                )),
2788                Box_::into_raw(f),
2789            )
2790        }
2791    }
2792
2793    #[cfg(feature = "v4_6")]
2794    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2795    #[doc(alias = "sentence")]
2796    fn connect_sentence_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2797        unsafe extern "C" fn notify_sentence_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2798            this: *mut ffi::GtkTextTag,
2799            _param_spec: glib::ffi::gpointer,
2800            f: glib::ffi::gpointer,
2801        ) {
2802            let f: &F = &*(f as *const F);
2803            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2804        }
2805        unsafe {
2806            let f: Box_<F> = Box_::new(f);
2807            connect_raw(
2808                self.as_ptr() as *mut _,
2809                b"notify::sentence\0".as_ptr() as *const _,
2810                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2811                    notify_sentence_trampoline::<Self, F> as *const (),
2812                )),
2813                Box_::into_raw(f),
2814            )
2815        }
2816    }
2817
2818    #[cfg(feature = "v4_6")]
2819    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
2820    #[doc(alias = "sentence-set")]
2821    fn connect_sentence_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2822        unsafe extern "C" fn notify_sentence_set_trampoline<
2823            P: IsA<TextTag>,
2824            F: Fn(&P) + 'static,
2825        >(
2826            this: *mut ffi::GtkTextTag,
2827            _param_spec: glib::ffi::gpointer,
2828            f: glib::ffi::gpointer,
2829        ) {
2830            let f: &F = &*(f as *const F);
2831            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2832        }
2833        unsafe {
2834            let f: Box_<F> = Box_::new(f);
2835            connect_raw(
2836                self.as_ptr() as *mut _,
2837                b"notify::sentence-set\0".as_ptr() as *const _,
2838                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2839                    notify_sentence_set_trampoline::<Self, F> as *const (),
2840                )),
2841                Box_::into_raw(f),
2842            )
2843        }
2844    }
2845
2846    #[doc(alias = "show-spaces")]
2847    fn connect_show_spaces_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2848        unsafe extern "C" fn notify_show_spaces_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2849            this: *mut ffi::GtkTextTag,
2850            _param_spec: glib::ffi::gpointer,
2851            f: glib::ffi::gpointer,
2852        ) {
2853            let f: &F = &*(f as *const F);
2854            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2855        }
2856        unsafe {
2857            let f: Box_<F> = Box_::new(f);
2858            connect_raw(
2859                self.as_ptr() as *mut _,
2860                b"notify::show-spaces\0".as_ptr() as *const _,
2861                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2862                    notify_show_spaces_trampoline::<Self, F> as *const (),
2863                )),
2864                Box_::into_raw(f),
2865            )
2866        }
2867    }
2868
2869    #[doc(alias = "show-spaces-set")]
2870    fn connect_show_spaces_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2871        unsafe extern "C" fn notify_show_spaces_set_trampoline<
2872            P: IsA<TextTag>,
2873            F: Fn(&P) + 'static,
2874        >(
2875            this: *mut ffi::GtkTextTag,
2876            _param_spec: glib::ffi::gpointer,
2877            f: glib::ffi::gpointer,
2878        ) {
2879            let f: &F = &*(f as *const F);
2880            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2881        }
2882        unsafe {
2883            let f: Box_<F> = Box_::new(f);
2884            connect_raw(
2885                self.as_ptr() as *mut _,
2886                b"notify::show-spaces-set\0".as_ptr() as *const _,
2887                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2888                    notify_show_spaces_set_trampoline::<Self, F> as *const (),
2889                )),
2890                Box_::into_raw(f),
2891            )
2892        }
2893    }
2894
2895    #[doc(alias = "size")]
2896    fn connect_size_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2897        unsafe extern "C" fn notify_size_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2898            this: *mut ffi::GtkTextTag,
2899            _param_spec: glib::ffi::gpointer,
2900            f: glib::ffi::gpointer,
2901        ) {
2902            let f: &F = &*(f as *const F);
2903            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2904        }
2905        unsafe {
2906            let f: Box_<F> = Box_::new(f);
2907            connect_raw(
2908                self.as_ptr() as *mut _,
2909                b"notify::size\0".as_ptr() as *const _,
2910                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2911                    notify_size_trampoline::<Self, F> as *const (),
2912                )),
2913                Box_::into_raw(f),
2914            )
2915        }
2916    }
2917
2918    #[doc(alias = "size-points")]
2919    fn connect_size_points_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2920        unsafe extern "C" fn notify_size_points_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2921            this: *mut ffi::GtkTextTag,
2922            _param_spec: glib::ffi::gpointer,
2923            f: glib::ffi::gpointer,
2924        ) {
2925            let f: &F = &*(f as *const F);
2926            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2927        }
2928        unsafe {
2929            let f: Box_<F> = Box_::new(f);
2930            connect_raw(
2931                self.as_ptr() as *mut _,
2932                b"notify::size-points\0".as_ptr() as *const _,
2933                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2934                    notify_size_points_trampoline::<Self, F> as *const (),
2935                )),
2936                Box_::into_raw(f),
2937            )
2938        }
2939    }
2940
2941    #[doc(alias = "size-set")]
2942    fn connect_size_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2943        unsafe extern "C" fn notify_size_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2944            this: *mut ffi::GtkTextTag,
2945            _param_spec: glib::ffi::gpointer,
2946            f: glib::ffi::gpointer,
2947        ) {
2948            let f: &F = &*(f as *const F);
2949            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2950        }
2951        unsafe {
2952            let f: Box_<F> = Box_::new(f);
2953            connect_raw(
2954                self.as_ptr() as *mut _,
2955                b"notify::size-set\0".as_ptr() as *const _,
2956                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2957                    notify_size_set_trampoline::<Self, F> as *const (),
2958                )),
2959                Box_::into_raw(f),
2960            )
2961        }
2962    }
2963
2964    #[doc(alias = "stretch")]
2965    fn connect_stretch_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2966        unsafe extern "C" fn notify_stretch_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2967            this: *mut ffi::GtkTextTag,
2968            _param_spec: glib::ffi::gpointer,
2969            f: glib::ffi::gpointer,
2970        ) {
2971            let f: &F = &*(f as *const F);
2972            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2973        }
2974        unsafe {
2975            let f: Box_<F> = Box_::new(f);
2976            connect_raw(
2977                self.as_ptr() as *mut _,
2978                b"notify::stretch\0".as_ptr() as *const _,
2979                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
2980                    notify_stretch_trampoline::<Self, F> as *const (),
2981                )),
2982                Box_::into_raw(f),
2983            )
2984        }
2985    }
2986
2987    #[doc(alias = "stretch-set")]
2988    fn connect_stretch_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
2989        unsafe extern "C" fn notify_stretch_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
2990            this: *mut ffi::GtkTextTag,
2991            _param_spec: glib::ffi::gpointer,
2992            f: glib::ffi::gpointer,
2993        ) {
2994            let f: &F = &*(f as *const F);
2995            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
2996        }
2997        unsafe {
2998            let f: Box_<F> = Box_::new(f);
2999            connect_raw(
3000                self.as_ptr() as *mut _,
3001                b"notify::stretch-set\0".as_ptr() as *const _,
3002                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3003                    notify_stretch_set_trampoline::<Self, F> as *const (),
3004                )),
3005                Box_::into_raw(f),
3006            )
3007        }
3008    }
3009
3010    #[doc(alias = "strikethrough")]
3011    fn connect_strikethrough_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3012        unsafe extern "C" fn notify_strikethrough_trampoline<
3013            P: IsA<TextTag>,
3014            F: Fn(&P) + 'static,
3015        >(
3016            this: *mut ffi::GtkTextTag,
3017            _param_spec: glib::ffi::gpointer,
3018            f: glib::ffi::gpointer,
3019        ) {
3020            let f: &F = &*(f as *const F);
3021            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3022        }
3023        unsafe {
3024            let f: Box_<F> = Box_::new(f);
3025            connect_raw(
3026                self.as_ptr() as *mut _,
3027                b"notify::strikethrough\0".as_ptr() as *const _,
3028                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3029                    notify_strikethrough_trampoline::<Self, F> as *const (),
3030                )),
3031                Box_::into_raw(f),
3032            )
3033        }
3034    }
3035
3036    #[doc(alias = "strikethrough-rgba")]
3037    fn connect_strikethrough_rgba_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3038        unsafe extern "C" fn notify_strikethrough_rgba_trampoline<
3039            P: IsA<TextTag>,
3040            F: Fn(&P) + 'static,
3041        >(
3042            this: *mut ffi::GtkTextTag,
3043            _param_spec: glib::ffi::gpointer,
3044            f: glib::ffi::gpointer,
3045        ) {
3046            let f: &F = &*(f as *const F);
3047            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3048        }
3049        unsafe {
3050            let f: Box_<F> = Box_::new(f);
3051            connect_raw(
3052                self.as_ptr() as *mut _,
3053                b"notify::strikethrough-rgba\0".as_ptr() as *const _,
3054                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3055                    notify_strikethrough_rgba_trampoline::<Self, F> as *const (),
3056                )),
3057                Box_::into_raw(f),
3058            )
3059        }
3060    }
3061
3062    #[doc(alias = "strikethrough-rgba-set")]
3063    fn connect_strikethrough_rgba_set_notify<F: Fn(&Self) + 'static>(
3064        &self,
3065        f: F,
3066    ) -> SignalHandlerId {
3067        unsafe extern "C" fn notify_strikethrough_rgba_set_trampoline<
3068            P: IsA<TextTag>,
3069            F: Fn(&P) + 'static,
3070        >(
3071            this: *mut ffi::GtkTextTag,
3072            _param_spec: glib::ffi::gpointer,
3073            f: glib::ffi::gpointer,
3074        ) {
3075            let f: &F = &*(f as *const F);
3076            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3077        }
3078        unsafe {
3079            let f: Box_<F> = Box_::new(f);
3080            connect_raw(
3081                self.as_ptr() as *mut _,
3082                b"notify::strikethrough-rgba-set\0".as_ptr() as *const _,
3083                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3084                    notify_strikethrough_rgba_set_trampoline::<Self, F> as *const (),
3085                )),
3086                Box_::into_raw(f),
3087            )
3088        }
3089    }
3090
3091    #[doc(alias = "strikethrough-set")]
3092    fn connect_strikethrough_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3093        unsafe extern "C" fn notify_strikethrough_set_trampoline<
3094            P: IsA<TextTag>,
3095            F: Fn(&P) + 'static,
3096        >(
3097            this: *mut ffi::GtkTextTag,
3098            _param_spec: glib::ffi::gpointer,
3099            f: glib::ffi::gpointer,
3100        ) {
3101            let f: &F = &*(f as *const F);
3102            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3103        }
3104        unsafe {
3105            let f: Box_<F> = Box_::new(f);
3106            connect_raw(
3107                self.as_ptr() as *mut _,
3108                b"notify::strikethrough-set\0".as_ptr() as *const _,
3109                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3110                    notify_strikethrough_set_trampoline::<Self, F> as *const (),
3111                )),
3112                Box_::into_raw(f),
3113            )
3114        }
3115    }
3116
3117    #[doc(alias = "style")]
3118    fn connect_style_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3119        unsafe extern "C" fn notify_style_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3120            this: *mut ffi::GtkTextTag,
3121            _param_spec: glib::ffi::gpointer,
3122            f: glib::ffi::gpointer,
3123        ) {
3124            let f: &F = &*(f as *const F);
3125            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3126        }
3127        unsafe {
3128            let f: Box_<F> = Box_::new(f);
3129            connect_raw(
3130                self.as_ptr() as *mut _,
3131                b"notify::style\0".as_ptr() as *const _,
3132                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3133                    notify_style_trampoline::<Self, F> as *const (),
3134                )),
3135                Box_::into_raw(f),
3136            )
3137        }
3138    }
3139
3140    #[doc(alias = "style-set")]
3141    fn connect_style_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3142        unsafe extern "C" fn notify_style_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3143            this: *mut ffi::GtkTextTag,
3144            _param_spec: glib::ffi::gpointer,
3145            f: glib::ffi::gpointer,
3146        ) {
3147            let f: &F = &*(f as *const F);
3148            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3149        }
3150        unsafe {
3151            let f: Box_<F> = Box_::new(f);
3152            connect_raw(
3153                self.as_ptr() as *mut _,
3154                b"notify::style-set\0".as_ptr() as *const _,
3155                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3156                    notify_style_set_trampoline::<Self, F> as *const (),
3157                )),
3158                Box_::into_raw(f),
3159            )
3160        }
3161    }
3162
3163    #[doc(alias = "tabs")]
3164    fn connect_tabs_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3165        unsafe extern "C" fn notify_tabs_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3166            this: *mut ffi::GtkTextTag,
3167            _param_spec: glib::ffi::gpointer,
3168            f: glib::ffi::gpointer,
3169        ) {
3170            let f: &F = &*(f as *const F);
3171            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3172        }
3173        unsafe {
3174            let f: Box_<F> = Box_::new(f);
3175            connect_raw(
3176                self.as_ptr() as *mut _,
3177                b"notify::tabs\0".as_ptr() as *const _,
3178                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3179                    notify_tabs_trampoline::<Self, F> as *const (),
3180                )),
3181                Box_::into_raw(f),
3182            )
3183        }
3184    }
3185
3186    #[doc(alias = "tabs-set")]
3187    fn connect_tabs_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3188        unsafe extern "C" fn notify_tabs_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3189            this: *mut ffi::GtkTextTag,
3190            _param_spec: glib::ffi::gpointer,
3191            f: glib::ffi::gpointer,
3192        ) {
3193            let f: &F = &*(f as *const F);
3194            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3195        }
3196        unsafe {
3197            let f: Box_<F> = Box_::new(f);
3198            connect_raw(
3199                self.as_ptr() as *mut _,
3200                b"notify::tabs-set\0".as_ptr() as *const _,
3201                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3202                    notify_tabs_set_trampoline::<Self, F> as *const (),
3203                )),
3204                Box_::into_raw(f),
3205            )
3206        }
3207    }
3208
3209    #[cfg(feature = "v4_6")]
3210    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
3211    #[doc(alias = "text-transform")]
3212    fn connect_text_transform_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3213        unsafe extern "C" fn notify_text_transform_trampoline<
3214            P: IsA<TextTag>,
3215            F: Fn(&P) + 'static,
3216        >(
3217            this: *mut ffi::GtkTextTag,
3218            _param_spec: glib::ffi::gpointer,
3219            f: glib::ffi::gpointer,
3220        ) {
3221            let f: &F = &*(f as *const F);
3222            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3223        }
3224        unsafe {
3225            let f: Box_<F> = Box_::new(f);
3226            connect_raw(
3227                self.as_ptr() as *mut _,
3228                b"notify::text-transform\0".as_ptr() as *const _,
3229                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3230                    notify_text_transform_trampoline::<Self, F> as *const (),
3231                )),
3232                Box_::into_raw(f),
3233            )
3234        }
3235    }
3236
3237    #[cfg(feature = "v4_6")]
3238    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
3239    #[doc(alias = "text-transform-set")]
3240    fn connect_text_transform_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3241        unsafe extern "C" fn notify_text_transform_set_trampoline<
3242            P: IsA<TextTag>,
3243            F: Fn(&P) + 'static,
3244        >(
3245            this: *mut ffi::GtkTextTag,
3246            _param_spec: glib::ffi::gpointer,
3247            f: glib::ffi::gpointer,
3248        ) {
3249            let f: &F = &*(f as *const F);
3250            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3251        }
3252        unsafe {
3253            let f: Box_<F> = Box_::new(f);
3254            connect_raw(
3255                self.as_ptr() as *mut _,
3256                b"notify::text-transform-set\0".as_ptr() as *const _,
3257                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3258                    notify_text_transform_set_trampoline::<Self, F> as *const (),
3259                )),
3260                Box_::into_raw(f),
3261            )
3262        }
3263    }
3264
3265    #[doc(alias = "underline")]
3266    fn connect_underline_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3267        unsafe extern "C" fn notify_underline_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3268            this: *mut ffi::GtkTextTag,
3269            _param_spec: glib::ffi::gpointer,
3270            f: glib::ffi::gpointer,
3271        ) {
3272            let f: &F = &*(f as *const F);
3273            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3274        }
3275        unsafe {
3276            let f: Box_<F> = Box_::new(f);
3277            connect_raw(
3278                self.as_ptr() as *mut _,
3279                b"notify::underline\0".as_ptr() as *const _,
3280                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3281                    notify_underline_trampoline::<Self, F> as *const (),
3282                )),
3283                Box_::into_raw(f),
3284            )
3285        }
3286    }
3287
3288    #[doc(alias = "underline-rgba")]
3289    fn connect_underline_rgba_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3290        unsafe extern "C" fn notify_underline_rgba_trampoline<
3291            P: IsA<TextTag>,
3292            F: Fn(&P) + 'static,
3293        >(
3294            this: *mut ffi::GtkTextTag,
3295            _param_spec: glib::ffi::gpointer,
3296            f: glib::ffi::gpointer,
3297        ) {
3298            let f: &F = &*(f as *const F);
3299            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3300        }
3301        unsafe {
3302            let f: Box_<F> = Box_::new(f);
3303            connect_raw(
3304                self.as_ptr() as *mut _,
3305                b"notify::underline-rgba\0".as_ptr() as *const _,
3306                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3307                    notify_underline_rgba_trampoline::<Self, F> as *const (),
3308                )),
3309                Box_::into_raw(f),
3310            )
3311        }
3312    }
3313
3314    #[doc(alias = "underline-rgba-set")]
3315    fn connect_underline_rgba_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3316        unsafe extern "C" fn notify_underline_rgba_set_trampoline<
3317            P: IsA<TextTag>,
3318            F: Fn(&P) + 'static,
3319        >(
3320            this: *mut ffi::GtkTextTag,
3321            _param_spec: glib::ffi::gpointer,
3322            f: glib::ffi::gpointer,
3323        ) {
3324            let f: &F = &*(f as *const F);
3325            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3326        }
3327        unsafe {
3328            let f: Box_<F> = Box_::new(f);
3329            connect_raw(
3330                self.as_ptr() as *mut _,
3331                b"notify::underline-rgba-set\0".as_ptr() as *const _,
3332                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3333                    notify_underline_rgba_set_trampoline::<Self, F> as *const (),
3334                )),
3335                Box_::into_raw(f),
3336            )
3337        }
3338    }
3339
3340    #[doc(alias = "underline-set")]
3341    fn connect_underline_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3342        unsafe extern "C" fn notify_underline_set_trampoline<
3343            P: IsA<TextTag>,
3344            F: Fn(&P) + 'static,
3345        >(
3346            this: *mut ffi::GtkTextTag,
3347            _param_spec: glib::ffi::gpointer,
3348            f: glib::ffi::gpointer,
3349        ) {
3350            let f: &F = &*(f as *const F);
3351            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3352        }
3353        unsafe {
3354            let f: Box_<F> = Box_::new(f);
3355            connect_raw(
3356                self.as_ptr() as *mut _,
3357                b"notify::underline-set\0".as_ptr() as *const _,
3358                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3359                    notify_underline_set_trampoline::<Self, F> as *const (),
3360                )),
3361                Box_::into_raw(f),
3362            )
3363        }
3364    }
3365
3366    #[doc(alias = "variant")]
3367    fn connect_variant_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3368        unsafe extern "C" fn notify_variant_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3369            this: *mut ffi::GtkTextTag,
3370            _param_spec: glib::ffi::gpointer,
3371            f: glib::ffi::gpointer,
3372        ) {
3373            let f: &F = &*(f as *const F);
3374            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3375        }
3376        unsafe {
3377            let f: Box_<F> = Box_::new(f);
3378            connect_raw(
3379                self.as_ptr() as *mut _,
3380                b"notify::variant\0".as_ptr() as *const _,
3381                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3382                    notify_variant_trampoline::<Self, F> as *const (),
3383                )),
3384                Box_::into_raw(f),
3385            )
3386        }
3387    }
3388
3389    #[doc(alias = "variant-set")]
3390    fn connect_variant_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3391        unsafe extern "C" fn notify_variant_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3392            this: *mut ffi::GtkTextTag,
3393            _param_spec: glib::ffi::gpointer,
3394            f: glib::ffi::gpointer,
3395        ) {
3396            let f: &F = &*(f as *const F);
3397            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3398        }
3399        unsafe {
3400            let f: Box_<F> = Box_::new(f);
3401            connect_raw(
3402                self.as_ptr() as *mut _,
3403                b"notify::variant-set\0".as_ptr() as *const _,
3404                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3405                    notify_variant_set_trampoline::<Self, F> as *const (),
3406                )),
3407                Box_::into_raw(f),
3408            )
3409        }
3410    }
3411
3412    #[doc(alias = "weight")]
3413    fn connect_weight_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3414        unsafe extern "C" fn notify_weight_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3415            this: *mut ffi::GtkTextTag,
3416            _param_spec: glib::ffi::gpointer,
3417            f: glib::ffi::gpointer,
3418        ) {
3419            let f: &F = &*(f as *const F);
3420            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3421        }
3422        unsafe {
3423            let f: Box_<F> = Box_::new(f);
3424            connect_raw(
3425                self.as_ptr() as *mut _,
3426                b"notify::weight\0".as_ptr() as *const _,
3427                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3428                    notify_weight_trampoline::<Self, F> as *const (),
3429                )),
3430                Box_::into_raw(f),
3431            )
3432        }
3433    }
3434
3435    #[doc(alias = "weight-set")]
3436    fn connect_weight_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3437        unsafe extern "C" fn notify_weight_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3438            this: *mut ffi::GtkTextTag,
3439            _param_spec: glib::ffi::gpointer,
3440            f: glib::ffi::gpointer,
3441        ) {
3442            let f: &F = &*(f as *const F);
3443            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3444        }
3445        unsafe {
3446            let f: Box_<F> = Box_::new(f);
3447            connect_raw(
3448                self.as_ptr() as *mut _,
3449                b"notify::weight-set\0".as_ptr() as *const _,
3450                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3451                    notify_weight_set_trampoline::<Self, F> as *const (),
3452                )),
3453                Box_::into_raw(f),
3454            )
3455        }
3456    }
3457
3458    #[cfg(feature = "v4_6")]
3459    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
3460    #[doc(alias = "word")]
3461    fn connect_word_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3462        unsafe extern "C" fn notify_word_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3463            this: *mut ffi::GtkTextTag,
3464            _param_spec: glib::ffi::gpointer,
3465            f: glib::ffi::gpointer,
3466        ) {
3467            let f: &F = &*(f as *const F);
3468            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3469        }
3470        unsafe {
3471            let f: Box_<F> = Box_::new(f);
3472            connect_raw(
3473                self.as_ptr() as *mut _,
3474                b"notify::word\0".as_ptr() as *const _,
3475                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3476                    notify_word_trampoline::<Self, F> as *const (),
3477                )),
3478                Box_::into_raw(f),
3479            )
3480        }
3481    }
3482
3483    #[cfg(feature = "v4_6")]
3484    #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
3485    #[doc(alias = "word-set")]
3486    fn connect_word_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3487        unsafe extern "C" fn notify_word_set_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3488            this: *mut ffi::GtkTextTag,
3489            _param_spec: glib::ffi::gpointer,
3490            f: glib::ffi::gpointer,
3491        ) {
3492            let f: &F = &*(f as *const F);
3493            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3494        }
3495        unsafe {
3496            let f: Box_<F> = Box_::new(f);
3497            connect_raw(
3498                self.as_ptr() as *mut _,
3499                b"notify::word-set\0".as_ptr() as *const _,
3500                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3501                    notify_word_set_trampoline::<Self, F> as *const (),
3502                )),
3503                Box_::into_raw(f),
3504            )
3505        }
3506    }
3507
3508    #[doc(alias = "wrap-mode")]
3509    fn connect_wrap_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3510        unsafe extern "C" fn notify_wrap_mode_trampoline<P: IsA<TextTag>, F: Fn(&P) + 'static>(
3511            this: *mut ffi::GtkTextTag,
3512            _param_spec: glib::ffi::gpointer,
3513            f: glib::ffi::gpointer,
3514        ) {
3515            let f: &F = &*(f as *const F);
3516            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3517        }
3518        unsafe {
3519            let f: Box_<F> = Box_::new(f);
3520            connect_raw(
3521                self.as_ptr() as *mut _,
3522                b"notify::wrap-mode\0".as_ptr() as *const _,
3523                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3524                    notify_wrap_mode_trampoline::<Self, F> as *const (),
3525                )),
3526                Box_::into_raw(f),
3527            )
3528        }
3529    }
3530
3531    #[doc(alias = "wrap-mode-set")]
3532    fn connect_wrap_mode_set_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId {
3533        unsafe extern "C" fn notify_wrap_mode_set_trampoline<
3534            P: IsA<TextTag>,
3535            F: Fn(&P) + 'static,
3536        >(
3537            this: *mut ffi::GtkTextTag,
3538            _param_spec: glib::ffi::gpointer,
3539            f: glib::ffi::gpointer,
3540        ) {
3541            let f: &F = &*(f as *const F);
3542            f(TextTag::from_glib_borrow(this).unsafe_cast_ref())
3543        }
3544        unsafe {
3545            let f: Box_<F> = Box_::new(f);
3546            connect_raw(
3547                self.as_ptr() as *mut _,
3548                b"notify::wrap-mode-set\0".as_ptr() as *const _,
3549                Some(std::mem::transmute::<*const (), unsafe extern "C" fn()>(
3550                    notify_wrap_mode_set_trampoline::<Self, F> as *const (),
3551                )),
3552                Box_::into_raw(f),
3553            )
3554        }
3555    }
3556}
3557
3558impl<O: IsA<TextTag>> TextTagExt for O {}