1use 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}