sourceview5/auto/
enums.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git)
4// DO NOT EDIT
5
6use crate::ffi;
7use glib::{prelude::*, translate::*};
8
9#[cfg(feature = "v5_18")]
10#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
11#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
12#[non_exhaustive]
13#[doc(alias = "GtkSourceAnnotationStyle")]
14pub enum AnnotationStyle {
15    #[doc(alias = "GTK_SOURCE_ANNOTATION_STYLE_NONE")]
16    None,
17    #[doc(alias = "GTK_SOURCE_ANNOTATION_STYLE_WARNING")]
18    Warning,
19    #[doc(alias = "GTK_SOURCE_ANNOTATION_STYLE_ERROR")]
20    Error,
21    #[doc(alias = "GTK_SOURCE_ANNOTATION_STYLE_ACCENT")]
22    Accent,
23    #[doc(hidden)]
24    __Unknown(i32),
25}
26
27#[cfg(feature = "v5_18")]
28#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
29#[doc(hidden)]
30impl IntoGlib for AnnotationStyle {
31    type GlibType = ffi::GtkSourceAnnotationStyle;
32
33    #[inline]
34    fn into_glib(self) -> ffi::GtkSourceAnnotationStyle {
35        match self {
36            Self::None => ffi::GTK_SOURCE_ANNOTATION_STYLE_NONE,
37            Self::Warning => ffi::GTK_SOURCE_ANNOTATION_STYLE_WARNING,
38            Self::Error => ffi::GTK_SOURCE_ANNOTATION_STYLE_ERROR,
39            Self::Accent => ffi::GTK_SOURCE_ANNOTATION_STYLE_ACCENT,
40            Self::__Unknown(value) => value,
41        }
42    }
43}
44
45#[cfg(feature = "v5_18")]
46#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
47#[doc(hidden)]
48impl FromGlib<ffi::GtkSourceAnnotationStyle> for AnnotationStyle {
49    #[inline]
50    unsafe fn from_glib(value: ffi::GtkSourceAnnotationStyle) -> Self {
51        skip_assert_initialized!();
52
53        match value {
54            ffi::GTK_SOURCE_ANNOTATION_STYLE_NONE => Self::None,
55            ffi::GTK_SOURCE_ANNOTATION_STYLE_WARNING => Self::Warning,
56            ffi::GTK_SOURCE_ANNOTATION_STYLE_ERROR => Self::Error,
57            ffi::GTK_SOURCE_ANNOTATION_STYLE_ACCENT => Self::Accent,
58            value => Self::__Unknown(value),
59        }
60    }
61}
62
63#[cfg(feature = "v5_18")]
64#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
65impl StaticType for AnnotationStyle {
66    #[inline]
67    #[doc(alias = "gtk_source_annotation_style_get_type")]
68    fn static_type() -> glib::Type {
69        unsafe { from_glib(ffi::gtk_source_annotation_style_get_type()) }
70    }
71}
72
73#[cfg(feature = "v5_18")]
74#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
75impl glib::HasParamSpec for AnnotationStyle {
76    type ParamSpec = glib::ParamSpecEnum;
77    type SetValue = Self;
78    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
79
80    fn param_spec_builder() -> Self::BuilderFn {
81        Self::ParamSpec::builder_with_default
82    }
83}
84
85#[cfg(feature = "v5_18")]
86#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
87impl glib::value::ValueType for AnnotationStyle {
88    type Type = Self;
89}
90
91#[cfg(feature = "v5_18")]
92#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
93unsafe impl<'a> glib::value::FromValue<'a> for AnnotationStyle {
94    type Checker = glib::value::GenericValueTypeChecker<Self>;
95
96    #[inline]
97    unsafe fn from_value(value: &'a glib::Value) -> Self {
98        skip_assert_initialized!();
99        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
100    }
101}
102
103#[cfg(feature = "v5_18")]
104#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
105impl ToValue for AnnotationStyle {
106    #[inline]
107    fn to_value(&self) -> glib::Value {
108        let mut value = glib::Value::for_value_type::<Self>();
109        unsafe {
110            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
111        }
112        value
113    }
114
115    #[inline]
116    fn value_type(&self) -> glib::Type {
117        Self::static_type()
118    }
119}
120
121#[cfg(feature = "v5_18")]
122#[cfg_attr(docsrs, doc(cfg(feature = "v5_18")))]
123impl From<AnnotationStyle> for glib::Value {
124    #[inline]
125    fn from(v: AnnotationStyle) -> Self {
126        skip_assert_initialized!();
127        ToValue::to_value(&v)
128    }
129}
130
131#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
132#[non_exhaustive]
133#[doc(alias = "GtkSourceBackgroundPatternType")]
134pub enum BackgroundPatternType {
135    #[doc(alias = "GTK_SOURCE_BACKGROUND_PATTERN_TYPE_NONE")]
136    None,
137    #[doc(alias = "GTK_SOURCE_BACKGROUND_PATTERN_TYPE_GRID")]
138    Grid,
139    #[doc(hidden)]
140    __Unknown(i32),
141}
142
143#[doc(hidden)]
144impl IntoGlib for BackgroundPatternType {
145    type GlibType = ffi::GtkSourceBackgroundPatternType;
146
147    #[inline]
148    fn into_glib(self) -> ffi::GtkSourceBackgroundPatternType {
149        match self {
150            Self::None => ffi::GTK_SOURCE_BACKGROUND_PATTERN_TYPE_NONE,
151            Self::Grid => ffi::GTK_SOURCE_BACKGROUND_PATTERN_TYPE_GRID,
152            Self::__Unknown(value) => value,
153        }
154    }
155}
156
157#[doc(hidden)]
158impl FromGlib<ffi::GtkSourceBackgroundPatternType> for BackgroundPatternType {
159    #[inline]
160    unsafe fn from_glib(value: ffi::GtkSourceBackgroundPatternType) -> Self {
161        skip_assert_initialized!();
162
163        match value {
164            ffi::GTK_SOURCE_BACKGROUND_PATTERN_TYPE_NONE => Self::None,
165            ffi::GTK_SOURCE_BACKGROUND_PATTERN_TYPE_GRID => Self::Grid,
166            value => Self::__Unknown(value),
167        }
168    }
169}
170
171impl StaticType for BackgroundPatternType {
172    #[inline]
173    #[doc(alias = "gtk_source_background_pattern_type_get_type")]
174    fn static_type() -> glib::Type {
175        unsafe { from_glib(ffi::gtk_source_background_pattern_type_get_type()) }
176    }
177}
178
179impl glib::HasParamSpec for BackgroundPatternType {
180    type ParamSpec = glib::ParamSpecEnum;
181    type SetValue = Self;
182    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
183
184    fn param_spec_builder() -> Self::BuilderFn {
185        Self::ParamSpec::builder_with_default
186    }
187}
188
189impl glib::value::ValueType for BackgroundPatternType {
190    type Type = Self;
191}
192
193unsafe impl<'a> glib::value::FromValue<'a> for BackgroundPatternType {
194    type Checker = glib::value::GenericValueTypeChecker<Self>;
195
196    #[inline]
197    unsafe fn from_value(value: &'a glib::Value) -> Self {
198        skip_assert_initialized!();
199        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
200    }
201}
202
203impl ToValue for BackgroundPatternType {
204    #[inline]
205    fn to_value(&self) -> glib::Value {
206        let mut value = glib::Value::for_value_type::<Self>();
207        unsafe {
208            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
209        }
210        value
211    }
212
213    #[inline]
214    fn value_type(&self) -> glib::Type {
215        Self::static_type()
216    }
217}
218
219impl From<BackgroundPatternType> for glib::Value {
220    #[inline]
221    fn from(v: BackgroundPatternType) -> Self {
222        skip_assert_initialized!();
223        ToValue::to_value(&v)
224    }
225}
226
227#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
228#[non_exhaustive]
229#[doc(alias = "GtkSourceBracketMatchType")]
230pub enum BracketMatchType {
231    #[doc(alias = "GTK_SOURCE_BRACKET_MATCH_NONE")]
232    None,
233    #[doc(alias = "GTK_SOURCE_BRACKET_MATCH_OUT_OF_RANGE")]
234    OutOfRange,
235    #[doc(alias = "GTK_SOURCE_BRACKET_MATCH_NOT_FOUND")]
236    NotFound,
237    #[doc(alias = "GTK_SOURCE_BRACKET_MATCH_FOUND")]
238    Found,
239    #[doc(hidden)]
240    __Unknown(i32),
241}
242
243#[doc(hidden)]
244impl IntoGlib for BracketMatchType {
245    type GlibType = ffi::GtkSourceBracketMatchType;
246
247    #[inline]
248    fn into_glib(self) -> ffi::GtkSourceBracketMatchType {
249        match self {
250            Self::None => ffi::GTK_SOURCE_BRACKET_MATCH_NONE,
251            Self::OutOfRange => ffi::GTK_SOURCE_BRACKET_MATCH_OUT_OF_RANGE,
252            Self::NotFound => ffi::GTK_SOURCE_BRACKET_MATCH_NOT_FOUND,
253            Self::Found => ffi::GTK_SOURCE_BRACKET_MATCH_FOUND,
254            Self::__Unknown(value) => value,
255        }
256    }
257}
258
259#[doc(hidden)]
260impl FromGlib<ffi::GtkSourceBracketMatchType> for BracketMatchType {
261    #[inline]
262    unsafe fn from_glib(value: ffi::GtkSourceBracketMatchType) -> Self {
263        skip_assert_initialized!();
264
265        match value {
266            ffi::GTK_SOURCE_BRACKET_MATCH_NONE => Self::None,
267            ffi::GTK_SOURCE_BRACKET_MATCH_OUT_OF_RANGE => Self::OutOfRange,
268            ffi::GTK_SOURCE_BRACKET_MATCH_NOT_FOUND => Self::NotFound,
269            ffi::GTK_SOURCE_BRACKET_MATCH_FOUND => Self::Found,
270            value => Self::__Unknown(value),
271        }
272    }
273}
274
275impl StaticType for BracketMatchType {
276    #[inline]
277    #[doc(alias = "gtk_source_bracket_match_type_get_type")]
278    fn static_type() -> glib::Type {
279        unsafe { from_glib(ffi::gtk_source_bracket_match_type_get_type()) }
280    }
281}
282
283impl glib::HasParamSpec for BracketMatchType {
284    type ParamSpec = glib::ParamSpecEnum;
285    type SetValue = Self;
286    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
287
288    fn param_spec_builder() -> Self::BuilderFn {
289        Self::ParamSpec::builder_with_default
290    }
291}
292
293impl glib::value::ValueType for BracketMatchType {
294    type Type = Self;
295}
296
297unsafe impl<'a> glib::value::FromValue<'a> for BracketMatchType {
298    type Checker = glib::value::GenericValueTypeChecker<Self>;
299
300    #[inline]
301    unsafe fn from_value(value: &'a glib::Value) -> Self {
302        skip_assert_initialized!();
303        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
304    }
305}
306
307impl ToValue for BracketMatchType {
308    #[inline]
309    fn to_value(&self) -> glib::Value {
310        let mut value = glib::Value::for_value_type::<Self>();
311        unsafe {
312            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
313        }
314        value
315    }
316
317    #[inline]
318    fn value_type(&self) -> glib::Type {
319        Self::static_type()
320    }
321}
322
323impl From<BracketMatchType> for glib::Value {
324    #[inline]
325    fn from(v: BracketMatchType) -> Self {
326        skip_assert_initialized!();
327        ToValue::to_value(&v)
328    }
329}
330
331#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
332#[non_exhaustive]
333#[doc(alias = "GtkSourceChangeCaseType")]
334pub enum ChangeCaseType {
335    #[doc(alias = "GTK_SOURCE_CHANGE_CASE_LOWER")]
336    Lower,
337    #[doc(alias = "GTK_SOURCE_CHANGE_CASE_UPPER")]
338    Upper,
339    #[doc(alias = "GTK_SOURCE_CHANGE_CASE_TOGGLE")]
340    Toggle,
341    #[doc(alias = "GTK_SOURCE_CHANGE_CASE_TITLE")]
342    Title,
343    #[doc(hidden)]
344    __Unknown(i32),
345}
346
347#[doc(hidden)]
348impl IntoGlib for ChangeCaseType {
349    type GlibType = ffi::GtkSourceChangeCaseType;
350
351    #[inline]
352    fn into_glib(self) -> ffi::GtkSourceChangeCaseType {
353        match self {
354            Self::Lower => ffi::GTK_SOURCE_CHANGE_CASE_LOWER,
355            Self::Upper => ffi::GTK_SOURCE_CHANGE_CASE_UPPER,
356            Self::Toggle => ffi::GTK_SOURCE_CHANGE_CASE_TOGGLE,
357            Self::Title => ffi::GTK_SOURCE_CHANGE_CASE_TITLE,
358            Self::__Unknown(value) => value,
359        }
360    }
361}
362
363#[doc(hidden)]
364impl FromGlib<ffi::GtkSourceChangeCaseType> for ChangeCaseType {
365    #[inline]
366    unsafe fn from_glib(value: ffi::GtkSourceChangeCaseType) -> Self {
367        skip_assert_initialized!();
368
369        match value {
370            ffi::GTK_SOURCE_CHANGE_CASE_LOWER => Self::Lower,
371            ffi::GTK_SOURCE_CHANGE_CASE_UPPER => Self::Upper,
372            ffi::GTK_SOURCE_CHANGE_CASE_TOGGLE => Self::Toggle,
373            ffi::GTK_SOURCE_CHANGE_CASE_TITLE => Self::Title,
374            value => Self::__Unknown(value),
375        }
376    }
377}
378
379impl StaticType for ChangeCaseType {
380    #[inline]
381    #[doc(alias = "gtk_source_change_case_type_get_type")]
382    fn static_type() -> glib::Type {
383        unsafe { from_glib(ffi::gtk_source_change_case_type_get_type()) }
384    }
385}
386
387impl glib::HasParamSpec for ChangeCaseType {
388    type ParamSpec = glib::ParamSpecEnum;
389    type SetValue = Self;
390    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
391
392    fn param_spec_builder() -> Self::BuilderFn {
393        Self::ParamSpec::builder_with_default
394    }
395}
396
397impl glib::value::ValueType for ChangeCaseType {
398    type Type = Self;
399}
400
401unsafe impl<'a> glib::value::FromValue<'a> for ChangeCaseType {
402    type Checker = glib::value::GenericValueTypeChecker<Self>;
403
404    #[inline]
405    unsafe fn from_value(value: &'a glib::Value) -> Self {
406        skip_assert_initialized!();
407        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
408    }
409}
410
411impl ToValue for ChangeCaseType {
412    #[inline]
413    fn to_value(&self) -> glib::Value {
414        let mut value = glib::Value::for_value_type::<Self>();
415        unsafe {
416            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
417        }
418        value
419    }
420
421    #[inline]
422    fn value_type(&self) -> glib::Type {
423        Self::static_type()
424    }
425}
426
427impl From<ChangeCaseType> for glib::Value {
428    #[inline]
429    fn from(v: ChangeCaseType) -> Self {
430        skip_assert_initialized!();
431        ToValue::to_value(&v)
432    }
433}
434
435#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
436#[non_exhaustive]
437#[doc(alias = "GtkSourceCompletionActivation")]
438pub enum CompletionActivation {
439    #[doc(alias = "GTK_SOURCE_COMPLETION_ACTIVATION_NONE")]
440    None,
441    #[doc(alias = "GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE")]
442    Interactive,
443    #[doc(alias = "GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED")]
444    UserRequested,
445    #[doc(hidden)]
446    __Unknown(i32),
447}
448
449#[doc(hidden)]
450impl IntoGlib for CompletionActivation {
451    type GlibType = ffi::GtkSourceCompletionActivation;
452
453    #[inline]
454    fn into_glib(self) -> ffi::GtkSourceCompletionActivation {
455        match self {
456            Self::None => ffi::GTK_SOURCE_COMPLETION_ACTIVATION_NONE,
457            Self::Interactive => ffi::GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE,
458            Self::UserRequested => ffi::GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED,
459            Self::__Unknown(value) => value,
460        }
461    }
462}
463
464#[doc(hidden)]
465impl FromGlib<ffi::GtkSourceCompletionActivation> for CompletionActivation {
466    #[inline]
467    unsafe fn from_glib(value: ffi::GtkSourceCompletionActivation) -> Self {
468        skip_assert_initialized!();
469
470        match value {
471            ffi::GTK_SOURCE_COMPLETION_ACTIVATION_NONE => Self::None,
472            ffi::GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE => Self::Interactive,
473            ffi::GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED => Self::UserRequested,
474            value => Self::__Unknown(value),
475        }
476    }
477}
478
479impl StaticType for CompletionActivation {
480    #[inline]
481    #[doc(alias = "gtk_source_completion_activation_get_type")]
482    fn static_type() -> glib::Type {
483        unsafe { from_glib(ffi::gtk_source_completion_activation_get_type()) }
484    }
485}
486
487impl glib::HasParamSpec for CompletionActivation {
488    type ParamSpec = glib::ParamSpecEnum;
489    type SetValue = Self;
490    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
491
492    fn param_spec_builder() -> Self::BuilderFn {
493        Self::ParamSpec::builder_with_default
494    }
495}
496
497impl glib::value::ValueType for CompletionActivation {
498    type Type = Self;
499}
500
501unsafe impl<'a> glib::value::FromValue<'a> for CompletionActivation {
502    type Checker = glib::value::GenericValueTypeChecker<Self>;
503
504    #[inline]
505    unsafe fn from_value(value: &'a glib::Value) -> Self {
506        skip_assert_initialized!();
507        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
508    }
509}
510
511impl ToValue for CompletionActivation {
512    #[inline]
513    fn to_value(&self) -> glib::Value {
514        let mut value = glib::Value::for_value_type::<Self>();
515        unsafe {
516            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
517        }
518        value
519    }
520
521    #[inline]
522    fn value_type(&self) -> glib::Type {
523        Self::static_type()
524    }
525}
526
527impl From<CompletionActivation> for glib::Value {
528    #[inline]
529    fn from(v: CompletionActivation) -> Self {
530        skip_assert_initialized!();
531        ToValue::to_value(&v)
532    }
533}
534
535#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
536#[non_exhaustive]
537#[doc(alias = "GtkSourceCompletionColumn")]
538pub enum CompletionColumn {
539    #[doc(alias = "GTK_SOURCE_COMPLETION_COLUMN_ICON")]
540    Icon,
541    #[doc(alias = "GTK_SOURCE_COMPLETION_COLUMN_BEFORE")]
542    Before,
543    #[doc(alias = "GTK_SOURCE_COMPLETION_COLUMN_TYPED_TEXT")]
544    TypedText,
545    #[doc(alias = "GTK_SOURCE_COMPLETION_COLUMN_AFTER")]
546    After,
547    #[doc(alias = "GTK_SOURCE_COMPLETION_COLUMN_COMMENT")]
548    Comment,
549    #[doc(alias = "GTK_SOURCE_COMPLETION_COLUMN_DETAILS")]
550    Details,
551    #[doc(hidden)]
552    __Unknown(i32),
553}
554
555#[doc(hidden)]
556impl IntoGlib for CompletionColumn {
557    type GlibType = ffi::GtkSourceCompletionColumn;
558
559    #[inline]
560    fn into_glib(self) -> ffi::GtkSourceCompletionColumn {
561        match self {
562            Self::Icon => ffi::GTK_SOURCE_COMPLETION_COLUMN_ICON,
563            Self::Before => ffi::GTK_SOURCE_COMPLETION_COLUMN_BEFORE,
564            Self::TypedText => ffi::GTK_SOURCE_COMPLETION_COLUMN_TYPED_TEXT,
565            Self::After => ffi::GTK_SOURCE_COMPLETION_COLUMN_AFTER,
566            Self::Comment => ffi::GTK_SOURCE_COMPLETION_COLUMN_COMMENT,
567            Self::Details => ffi::GTK_SOURCE_COMPLETION_COLUMN_DETAILS,
568            Self::__Unknown(value) => value,
569        }
570    }
571}
572
573#[doc(hidden)]
574impl FromGlib<ffi::GtkSourceCompletionColumn> for CompletionColumn {
575    #[inline]
576    unsafe fn from_glib(value: ffi::GtkSourceCompletionColumn) -> Self {
577        skip_assert_initialized!();
578
579        match value {
580            ffi::GTK_SOURCE_COMPLETION_COLUMN_ICON => Self::Icon,
581            ffi::GTK_SOURCE_COMPLETION_COLUMN_BEFORE => Self::Before,
582            ffi::GTK_SOURCE_COMPLETION_COLUMN_TYPED_TEXT => Self::TypedText,
583            ffi::GTK_SOURCE_COMPLETION_COLUMN_AFTER => Self::After,
584            ffi::GTK_SOURCE_COMPLETION_COLUMN_COMMENT => Self::Comment,
585            ffi::GTK_SOURCE_COMPLETION_COLUMN_DETAILS => Self::Details,
586            value => Self::__Unknown(value),
587        }
588    }
589}
590
591impl StaticType for CompletionColumn {
592    #[inline]
593    #[doc(alias = "gtk_source_completion_column_get_type")]
594    fn static_type() -> glib::Type {
595        unsafe { from_glib(ffi::gtk_source_completion_column_get_type()) }
596    }
597}
598
599impl glib::HasParamSpec for CompletionColumn {
600    type ParamSpec = glib::ParamSpecEnum;
601    type SetValue = Self;
602    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
603
604    fn param_spec_builder() -> Self::BuilderFn {
605        Self::ParamSpec::builder_with_default
606    }
607}
608
609impl glib::value::ValueType for CompletionColumn {
610    type Type = Self;
611}
612
613unsafe impl<'a> glib::value::FromValue<'a> for CompletionColumn {
614    type Checker = glib::value::GenericValueTypeChecker<Self>;
615
616    #[inline]
617    unsafe fn from_value(value: &'a glib::Value) -> Self {
618        skip_assert_initialized!();
619        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
620    }
621}
622
623impl ToValue for CompletionColumn {
624    #[inline]
625    fn to_value(&self) -> glib::Value {
626        let mut value = glib::Value::for_value_type::<Self>();
627        unsafe {
628            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
629        }
630        value
631    }
632
633    #[inline]
634    fn value_type(&self) -> glib::Type {
635        Self::static_type()
636    }
637}
638
639impl From<CompletionColumn> for glib::Value {
640    #[inline]
641    fn from(v: CompletionColumn) -> Self {
642        skip_assert_initialized!();
643        ToValue::to_value(&v)
644    }
645}
646
647#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
648#[non_exhaustive]
649#[doc(alias = "GtkSourceCompressionType")]
650pub enum CompressionType {
651    #[doc(alias = "GTK_SOURCE_COMPRESSION_TYPE_NONE")]
652    None,
653    #[doc(alias = "GTK_SOURCE_COMPRESSION_TYPE_GZIP")]
654    Gzip,
655    #[doc(hidden)]
656    __Unknown(i32),
657}
658
659#[doc(hidden)]
660impl IntoGlib for CompressionType {
661    type GlibType = ffi::GtkSourceCompressionType;
662
663    #[inline]
664    fn into_glib(self) -> ffi::GtkSourceCompressionType {
665        match self {
666            Self::None => ffi::GTK_SOURCE_COMPRESSION_TYPE_NONE,
667            Self::Gzip => ffi::GTK_SOURCE_COMPRESSION_TYPE_GZIP,
668            Self::__Unknown(value) => value,
669        }
670    }
671}
672
673#[doc(hidden)]
674impl FromGlib<ffi::GtkSourceCompressionType> for CompressionType {
675    #[inline]
676    unsafe fn from_glib(value: ffi::GtkSourceCompressionType) -> Self {
677        skip_assert_initialized!();
678
679        match value {
680            ffi::GTK_SOURCE_COMPRESSION_TYPE_NONE => Self::None,
681            ffi::GTK_SOURCE_COMPRESSION_TYPE_GZIP => Self::Gzip,
682            value => Self::__Unknown(value),
683        }
684    }
685}
686
687impl StaticType for CompressionType {
688    #[inline]
689    #[doc(alias = "gtk_source_compression_type_get_type")]
690    fn static_type() -> glib::Type {
691        unsafe { from_glib(ffi::gtk_source_compression_type_get_type()) }
692    }
693}
694
695impl glib::HasParamSpec for CompressionType {
696    type ParamSpec = glib::ParamSpecEnum;
697    type SetValue = Self;
698    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
699
700    fn param_spec_builder() -> Self::BuilderFn {
701        Self::ParamSpec::builder_with_default
702    }
703}
704
705impl glib::value::ValueType for CompressionType {
706    type Type = Self;
707}
708
709unsafe impl<'a> glib::value::FromValue<'a> for CompressionType {
710    type Checker = glib::value::GenericValueTypeChecker<Self>;
711
712    #[inline]
713    unsafe fn from_value(value: &'a glib::Value) -> Self {
714        skip_assert_initialized!();
715        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
716    }
717}
718
719impl ToValue for CompressionType {
720    #[inline]
721    fn to_value(&self) -> glib::Value {
722        let mut value = glib::Value::for_value_type::<Self>();
723        unsafe {
724            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
725        }
726        value
727    }
728
729    #[inline]
730    fn value_type(&self) -> glib::Type {
731        Self::static_type()
732    }
733}
734
735impl From<CompressionType> for glib::Value {
736    #[inline]
737    fn from(v: CompressionType) -> Self {
738        skip_assert_initialized!();
739        ToValue::to_value(&v)
740    }
741}
742
743#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
744#[non_exhaustive]
745#[doc(alias = "GtkSourceFileLoaderError")]
746pub enum FileLoaderError {
747    #[doc(alias = "GTK_SOURCE_FILE_LOADER_ERROR_TOO_BIG")]
748    TooBig,
749    #[doc(alias = "GTK_SOURCE_FILE_LOADER_ERROR_ENCODING_AUTO_DETECTION_FAILED")]
750    EncodingAutoDetectionFailed,
751    #[doc(alias = "GTK_SOURCE_FILE_LOADER_ERROR_CONVERSION_FALLBACK")]
752    ConversionFallback,
753    #[doc(hidden)]
754    __Unknown(i32),
755}
756
757#[doc(hidden)]
758impl IntoGlib for FileLoaderError {
759    type GlibType = ffi::GtkSourceFileLoaderError;
760
761    #[inline]
762    fn into_glib(self) -> ffi::GtkSourceFileLoaderError {
763        match self {
764            Self::TooBig => ffi::GTK_SOURCE_FILE_LOADER_ERROR_TOO_BIG,
765            Self::EncodingAutoDetectionFailed => {
766                ffi::GTK_SOURCE_FILE_LOADER_ERROR_ENCODING_AUTO_DETECTION_FAILED
767            }
768            Self::ConversionFallback => ffi::GTK_SOURCE_FILE_LOADER_ERROR_CONVERSION_FALLBACK,
769            Self::__Unknown(value) => value,
770        }
771    }
772}
773
774#[doc(hidden)]
775impl FromGlib<ffi::GtkSourceFileLoaderError> for FileLoaderError {
776    #[inline]
777    unsafe fn from_glib(value: ffi::GtkSourceFileLoaderError) -> Self {
778        skip_assert_initialized!();
779
780        match value {
781            ffi::GTK_SOURCE_FILE_LOADER_ERROR_TOO_BIG => Self::TooBig,
782            ffi::GTK_SOURCE_FILE_LOADER_ERROR_ENCODING_AUTO_DETECTION_FAILED => {
783                Self::EncodingAutoDetectionFailed
784            }
785            ffi::GTK_SOURCE_FILE_LOADER_ERROR_CONVERSION_FALLBACK => Self::ConversionFallback,
786            value => Self::__Unknown(value),
787        }
788    }
789}
790
791impl glib::error::ErrorDomain for FileLoaderError {
792    #[inline]
793    fn domain() -> glib::Quark {
794        skip_assert_initialized!();
795
796        unsafe { from_glib(ffi::gtk_source_file_loader_error_quark()) }
797    }
798
799    #[inline]
800    fn code(self) -> i32 {
801        self.into_glib()
802    }
803
804    #[inline]
805    #[allow(clippy::match_single_binding)]
806    fn from(code: i32) -> Option<Self> {
807        skip_assert_initialized!();
808        match unsafe { from_glib(code) } {
809            value => Some(value),
810        }
811    }
812}
813
814impl StaticType for FileLoaderError {
815    #[inline]
816    #[doc(alias = "gtk_source_file_loader_error_get_type")]
817    fn static_type() -> glib::Type {
818        unsafe { from_glib(ffi::gtk_source_file_loader_error_get_type()) }
819    }
820}
821
822impl glib::HasParamSpec for FileLoaderError {
823    type ParamSpec = glib::ParamSpecEnum;
824    type SetValue = Self;
825    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
826
827    fn param_spec_builder() -> Self::BuilderFn {
828        Self::ParamSpec::builder_with_default
829    }
830}
831
832impl glib::value::ValueType for FileLoaderError {
833    type Type = Self;
834}
835
836unsafe impl<'a> glib::value::FromValue<'a> for FileLoaderError {
837    type Checker = glib::value::GenericValueTypeChecker<Self>;
838
839    #[inline]
840    unsafe fn from_value(value: &'a glib::Value) -> Self {
841        skip_assert_initialized!();
842        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
843    }
844}
845
846impl ToValue for FileLoaderError {
847    #[inline]
848    fn to_value(&self) -> glib::Value {
849        let mut value = glib::Value::for_value_type::<Self>();
850        unsafe {
851            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
852        }
853        value
854    }
855
856    #[inline]
857    fn value_type(&self) -> glib::Type {
858        Self::static_type()
859    }
860}
861
862impl From<FileLoaderError> for glib::Value {
863    #[inline]
864    fn from(v: FileLoaderError) -> Self {
865        skip_assert_initialized!();
866        ToValue::to_value(&v)
867    }
868}
869
870#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
871#[non_exhaustive]
872#[doc(alias = "GtkSourceFileSaverError")]
873pub enum FileSaverError {
874    #[doc(alias = "GTK_SOURCE_FILE_SAVER_ERROR_INVALID_CHARS")]
875    InvalidChars,
876    #[doc(alias = "GTK_SOURCE_FILE_SAVER_ERROR_EXTERNALLY_MODIFIED")]
877    ExternallyModified,
878    #[doc(hidden)]
879    __Unknown(i32),
880}
881
882#[doc(hidden)]
883impl IntoGlib for FileSaverError {
884    type GlibType = ffi::GtkSourceFileSaverError;
885
886    #[inline]
887    fn into_glib(self) -> ffi::GtkSourceFileSaverError {
888        match self {
889            Self::InvalidChars => ffi::GTK_SOURCE_FILE_SAVER_ERROR_INVALID_CHARS,
890            Self::ExternallyModified => ffi::GTK_SOURCE_FILE_SAVER_ERROR_EXTERNALLY_MODIFIED,
891            Self::__Unknown(value) => value,
892        }
893    }
894}
895
896#[doc(hidden)]
897impl FromGlib<ffi::GtkSourceFileSaverError> for FileSaverError {
898    #[inline]
899    unsafe fn from_glib(value: ffi::GtkSourceFileSaverError) -> Self {
900        skip_assert_initialized!();
901
902        match value {
903            ffi::GTK_SOURCE_FILE_SAVER_ERROR_INVALID_CHARS => Self::InvalidChars,
904            ffi::GTK_SOURCE_FILE_SAVER_ERROR_EXTERNALLY_MODIFIED => Self::ExternallyModified,
905            value => Self::__Unknown(value),
906        }
907    }
908}
909
910impl glib::error::ErrorDomain for FileSaverError {
911    #[inline]
912    fn domain() -> glib::Quark {
913        skip_assert_initialized!();
914
915        unsafe { from_glib(ffi::gtk_source_file_saver_error_quark()) }
916    }
917
918    #[inline]
919    fn code(self) -> i32 {
920        self.into_glib()
921    }
922
923    #[inline]
924    #[allow(clippy::match_single_binding)]
925    fn from(code: i32) -> Option<Self> {
926        skip_assert_initialized!();
927        match unsafe { from_glib(code) } {
928            value => Some(value),
929        }
930    }
931}
932
933impl StaticType for FileSaverError {
934    #[inline]
935    #[doc(alias = "gtk_source_file_saver_error_get_type")]
936    fn static_type() -> glib::Type {
937        unsafe { from_glib(ffi::gtk_source_file_saver_error_get_type()) }
938    }
939}
940
941impl glib::HasParamSpec for FileSaverError {
942    type ParamSpec = glib::ParamSpecEnum;
943    type SetValue = Self;
944    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
945
946    fn param_spec_builder() -> Self::BuilderFn {
947        Self::ParamSpec::builder_with_default
948    }
949}
950
951impl glib::value::ValueType for FileSaverError {
952    type Type = Self;
953}
954
955unsafe impl<'a> glib::value::FromValue<'a> for FileSaverError {
956    type Checker = glib::value::GenericValueTypeChecker<Self>;
957
958    #[inline]
959    unsafe fn from_value(value: &'a glib::Value) -> Self {
960        skip_assert_initialized!();
961        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
962    }
963}
964
965impl ToValue for FileSaverError {
966    #[inline]
967    fn to_value(&self) -> glib::Value {
968        let mut value = glib::Value::for_value_type::<Self>();
969        unsafe {
970            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
971        }
972        value
973    }
974
975    #[inline]
976    fn value_type(&self) -> glib::Type {
977        Self::static_type()
978    }
979}
980
981impl From<FileSaverError> for glib::Value {
982    #[inline]
983    fn from(v: FileSaverError) -> Self {
984        skip_assert_initialized!();
985        ToValue::to_value(&v)
986    }
987}
988
989#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
990#[non_exhaustive]
991#[doc(alias = "GtkSourceGutterRendererAlignmentMode")]
992pub enum GutterRendererAlignmentMode {
993    #[doc(alias = "GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL")]
994    Cell,
995    #[doc(alias = "GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST")]
996    First,
997    #[doc(alias = "GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_LAST")]
998    Last,
999    #[doc(hidden)]
1000    __Unknown(i32),
1001}
1002
1003#[doc(hidden)]
1004impl IntoGlib for GutterRendererAlignmentMode {
1005    type GlibType = ffi::GtkSourceGutterRendererAlignmentMode;
1006
1007    #[inline]
1008    fn into_glib(self) -> ffi::GtkSourceGutterRendererAlignmentMode {
1009        match self {
1010            Self::Cell => ffi::GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL,
1011            Self::First => ffi::GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST,
1012            Self::Last => ffi::GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_LAST,
1013            Self::__Unknown(value) => value,
1014        }
1015    }
1016}
1017
1018#[doc(hidden)]
1019impl FromGlib<ffi::GtkSourceGutterRendererAlignmentMode> for GutterRendererAlignmentMode {
1020    #[inline]
1021    unsafe fn from_glib(value: ffi::GtkSourceGutterRendererAlignmentMode) -> Self {
1022        skip_assert_initialized!();
1023
1024        match value {
1025            ffi::GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_CELL => Self::Cell,
1026            ffi::GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_FIRST => Self::First,
1027            ffi::GTK_SOURCE_GUTTER_RENDERER_ALIGNMENT_MODE_LAST => Self::Last,
1028            value => Self::__Unknown(value),
1029        }
1030    }
1031}
1032
1033impl StaticType for GutterRendererAlignmentMode {
1034    #[inline]
1035    #[doc(alias = "gtk_source_gutter_renderer_alignment_mode_get_type")]
1036    fn static_type() -> glib::Type {
1037        unsafe { from_glib(ffi::gtk_source_gutter_renderer_alignment_mode_get_type()) }
1038    }
1039}
1040
1041impl glib::HasParamSpec for GutterRendererAlignmentMode {
1042    type ParamSpec = glib::ParamSpecEnum;
1043    type SetValue = Self;
1044    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1045
1046    fn param_spec_builder() -> Self::BuilderFn {
1047        Self::ParamSpec::builder_with_default
1048    }
1049}
1050
1051impl glib::value::ValueType for GutterRendererAlignmentMode {
1052    type Type = Self;
1053}
1054
1055unsafe impl<'a> glib::value::FromValue<'a> for GutterRendererAlignmentMode {
1056    type Checker = glib::value::GenericValueTypeChecker<Self>;
1057
1058    #[inline]
1059    unsafe fn from_value(value: &'a glib::Value) -> Self {
1060        skip_assert_initialized!();
1061        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1062    }
1063}
1064
1065impl ToValue for GutterRendererAlignmentMode {
1066    #[inline]
1067    fn to_value(&self) -> glib::Value {
1068        let mut value = glib::Value::for_value_type::<Self>();
1069        unsafe {
1070            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1071        }
1072        value
1073    }
1074
1075    #[inline]
1076    fn value_type(&self) -> glib::Type {
1077        Self::static_type()
1078    }
1079}
1080
1081impl From<GutterRendererAlignmentMode> for glib::Value {
1082    #[inline]
1083    fn from(v: GutterRendererAlignmentMode) -> Self {
1084        skip_assert_initialized!();
1085        ToValue::to_value(&v)
1086    }
1087}
1088
1089#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1090#[non_exhaustive]
1091#[doc(alias = "GtkSourceNewlineType")]
1092pub enum NewlineType {
1093    #[doc(alias = "GTK_SOURCE_NEWLINE_TYPE_LF")]
1094    Lf,
1095    #[doc(alias = "GTK_SOURCE_NEWLINE_TYPE_CR")]
1096    Cr,
1097    #[doc(alias = "GTK_SOURCE_NEWLINE_TYPE_CR_LF")]
1098    CrLf,
1099    #[doc(hidden)]
1100    __Unknown(i32),
1101}
1102
1103#[doc(hidden)]
1104impl IntoGlib for NewlineType {
1105    type GlibType = ffi::GtkSourceNewlineType;
1106
1107    #[inline]
1108    fn into_glib(self) -> ffi::GtkSourceNewlineType {
1109        match self {
1110            Self::Lf => ffi::GTK_SOURCE_NEWLINE_TYPE_LF,
1111            Self::Cr => ffi::GTK_SOURCE_NEWLINE_TYPE_CR,
1112            Self::CrLf => ffi::GTK_SOURCE_NEWLINE_TYPE_CR_LF,
1113            Self::__Unknown(value) => value,
1114        }
1115    }
1116}
1117
1118#[doc(hidden)]
1119impl FromGlib<ffi::GtkSourceNewlineType> for NewlineType {
1120    #[inline]
1121    unsafe fn from_glib(value: ffi::GtkSourceNewlineType) -> Self {
1122        skip_assert_initialized!();
1123
1124        match value {
1125            ffi::GTK_SOURCE_NEWLINE_TYPE_LF => Self::Lf,
1126            ffi::GTK_SOURCE_NEWLINE_TYPE_CR => Self::Cr,
1127            ffi::GTK_SOURCE_NEWLINE_TYPE_CR_LF => Self::CrLf,
1128            value => Self::__Unknown(value),
1129        }
1130    }
1131}
1132
1133impl StaticType for NewlineType {
1134    #[inline]
1135    #[doc(alias = "gtk_source_newline_type_get_type")]
1136    fn static_type() -> glib::Type {
1137        unsafe { from_glib(ffi::gtk_source_newline_type_get_type()) }
1138    }
1139}
1140
1141impl glib::HasParamSpec for NewlineType {
1142    type ParamSpec = glib::ParamSpecEnum;
1143    type SetValue = Self;
1144    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1145
1146    fn param_spec_builder() -> Self::BuilderFn {
1147        Self::ParamSpec::builder_with_default
1148    }
1149}
1150
1151impl glib::value::ValueType for NewlineType {
1152    type Type = Self;
1153}
1154
1155unsafe impl<'a> glib::value::FromValue<'a> for NewlineType {
1156    type Checker = glib::value::GenericValueTypeChecker<Self>;
1157
1158    #[inline]
1159    unsafe fn from_value(value: &'a glib::Value) -> Self {
1160        skip_assert_initialized!();
1161        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1162    }
1163}
1164
1165impl ToValue for NewlineType {
1166    #[inline]
1167    fn to_value(&self) -> glib::Value {
1168        let mut value = glib::Value::for_value_type::<Self>();
1169        unsafe {
1170            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1171        }
1172        value
1173    }
1174
1175    #[inline]
1176    fn value_type(&self) -> glib::Type {
1177        Self::static_type()
1178    }
1179}
1180
1181impl From<NewlineType> for glib::Value {
1182    #[inline]
1183    fn from(v: NewlineType) -> Self {
1184        skip_assert_initialized!();
1185        ToValue::to_value(&v)
1186    }
1187}
1188
1189#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1190#[non_exhaustive]
1191#[doc(alias = "GtkSourceSmartHomeEndType")]
1192pub enum SmartHomeEndType {
1193    #[doc(alias = "GTK_SOURCE_SMART_HOME_END_DISABLED")]
1194    Disabled,
1195    #[doc(alias = "GTK_SOURCE_SMART_HOME_END_BEFORE")]
1196    Before,
1197    #[doc(alias = "GTK_SOURCE_SMART_HOME_END_AFTER")]
1198    After,
1199    #[doc(alias = "GTK_SOURCE_SMART_HOME_END_ALWAYS")]
1200    Always,
1201    #[doc(hidden)]
1202    __Unknown(i32),
1203}
1204
1205#[doc(hidden)]
1206impl IntoGlib for SmartHomeEndType {
1207    type GlibType = ffi::GtkSourceSmartHomeEndType;
1208
1209    #[inline]
1210    fn into_glib(self) -> ffi::GtkSourceSmartHomeEndType {
1211        match self {
1212            Self::Disabled => ffi::GTK_SOURCE_SMART_HOME_END_DISABLED,
1213            Self::Before => ffi::GTK_SOURCE_SMART_HOME_END_BEFORE,
1214            Self::After => ffi::GTK_SOURCE_SMART_HOME_END_AFTER,
1215            Self::Always => ffi::GTK_SOURCE_SMART_HOME_END_ALWAYS,
1216            Self::__Unknown(value) => value,
1217        }
1218    }
1219}
1220
1221#[doc(hidden)]
1222impl FromGlib<ffi::GtkSourceSmartHomeEndType> for SmartHomeEndType {
1223    #[inline]
1224    unsafe fn from_glib(value: ffi::GtkSourceSmartHomeEndType) -> Self {
1225        skip_assert_initialized!();
1226
1227        match value {
1228            ffi::GTK_SOURCE_SMART_HOME_END_DISABLED => Self::Disabled,
1229            ffi::GTK_SOURCE_SMART_HOME_END_BEFORE => Self::Before,
1230            ffi::GTK_SOURCE_SMART_HOME_END_AFTER => Self::After,
1231            ffi::GTK_SOURCE_SMART_HOME_END_ALWAYS => Self::Always,
1232            value => Self::__Unknown(value),
1233        }
1234    }
1235}
1236
1237impl StaticType for SmartHomeEndType {
1238    #[inline]
1239    #[doc(alias = "gtk_source_smart_home_end_type_get_type")]
1240    fn static_type() -> glib::Type {
1241        unsafe { from_glib(ffi::gtk_source_smart_home_end_type_get_type()) }
1242    }
1243}
1244
1245impl glib::HasParamSpec for SmartHomeEndType {
1246    type ParamSpec = glib::ParamSpecEnum;
1247    type SetValue = Self;
1248    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1249
1250    fn param_spec_builder() -> Self::BuilderFn {
1251        Self::ParamSpec::builder_with_default
1252    }
1253}
1254
1255impl glib::value::ValueType for SmartHomeEndType {
1256    type Type = Self;
1257}
1258
1259unsafe impl<'a> glib::value::FromValue<'a> for SmartHomeEndType {
1260    type Checker = glib::value::GenericValueTypeChecker<Self>;
1261
1262    #[inline]
1263    unsafe fn from_value(value: &'a glib::Value) -> Self {
1264        skip_assert_initialized!();
1265        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1266    }
1267}
1268
1269impl ToValue for SmartHomeEndType {
1270    #[inline]
1271    fn to_value(&self) -> glib::Value {
1272        let mut value = glib::Value::for_value_type::<Self>();
1273        unsafe {
1274            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1275        }
1276        value
1277    }
1278
1279    #[inline]
1280    fn value_type(&self) -> glib::Type {
1281        Self::static_type()
1282    }
1283}
1284
1285impl From<SmartHomeEndType> for glib::Value {
1286    #[inline]
1287    fn from(v: SmartHomeEndType) -> Self {
1288        skip_assert_initialized!();
1289        ToValue::to_value(&v)
1290    }
1291}
1292
1293#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1294#[non_exhaustive]
1295#[doc(alias = "GtkSourceViewGutterPosition")]
1296pub enum ViewGutterPosition {
1297    #[doc(alias = "GTK_SOURCE_VIEW_GUTTER_POSITION_LINES")]
1298    Lines,
1299    #[doc(alias = "GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS")]
1300    Marks,
1301    #[doc(hidden)]
1302    __Unknown(i32),
1303}
1304
1305#[doc(hidden)]
1306impl IntoGlib for ViewGutterPosition {
1307    type GlibType = ffi::GtkSourceViewGutterPosition;
1308
1309    #[inline]
1310    fn into_glib(self) -> ffi::GtkSourceViewGutterPosition {
1311        match self {
1312            Self::Lines => ffi::GTK_SOURCE_VIEW_GUTTER_POSITION_LINES,
1313            Self::Marks => ffi::GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS,
1314            Self::__Unknown(value) => value,
1315        }
1316    }
1317}
1318
1319#[doc(hidden)]
1320impl FromGlib<ffi::GtkSourceViewGutterPosition> for ViewGutterPosition {
1321    #[inline]
1322    unsafe fn from_glib(value: ffi::GtkSourceViewGutterPosition) -> Self {
1323        skip_assert_initialized!();
1324
1325        match value {
1326            ffi::GTK_SOURCE_VIEW_GUTTER_POSITION_LINES => Self::Lines,
1327            ffi::GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS => Self::Marks,
1328            value => Self::__Unknown(value),
1329        }
1330    }
1331}
1332
1333impl StaticType for ViewGutterPosition {
1334    #[inline]
1335    #[doc(alias = "gtk_source_view_gutter_position_get_type")]
1336    fn static_type() -> glib::Type {
1337        unsafe { from_glib(ffi::gtk_source_view_gutter_position_get_type()) }
1338    }
1339}
1340
1341impl glib::HasParamSpec for ViewGutterPosition {
1342    type ParamSpec = glib::ParamSpecEnum;
1343    type SetValue = Self;
1344    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1345
1346    fn param_spec_builder() -> Self::BuilderFn {
1347        Self::ParamSpec::builder_with_default
1348    }
1349}
1350
1351impl glib::value::ValueType for ViewGutterPosition {
1352    type Type = Self;
1353}
1354
1355unsafe impl<'a> glib::value::FromValue<'a> for ViewGutterPosition {
1356    type Checker = glib::value::GenericValueTypeChecker<Self>;
1357
1358    #[inline]
1359    unsafe fn from_value(value: &'a glib::Value) -> Self {
1360        skip_assert_initialized!();
1361        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1362    }
1363}
1364
1365impl ToValue for ViewGutterPosition {
1366    #[inline]
1367    fn to_value(&self) -> glib::Value {
1368        let mut value = glib::Value::for_value_type::<Self>();
1369        unsafe {
1370            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1371        }
1372        value
1373    }
1374
1375    #[inline]
1376    fn value_type(&self) -> glib::Type {
1377        Self::static_type()
1378    }
1379}
1380
1381impl From<ViewGutterPosition> for glib::Value {
1382    #[inline]
1383    fn from(v: ViewGutterPosition) -> Self {
1384        skip_assert_initialized!();
1385        ToValue::to_value(&v)
1386    }
1387}