Skip to main content

glib/gobject/auto/
flags.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::{bitflags::bitflags, ffi, prelude::*, translate::*};
6
7bitflags! {
8    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
9    #[doc(alias = "GBindingFlags")]
10    pub struct BindingFlags: u32 {
11        #[doc(alias = "G_BINDING_DEFAULT")]
12        const DEFAULT = crate::gobject_ffi::G_BINDING_DEFAULT as _;
13        #[doc(alias = "G_BINDING_BIDIRECTIONAL")]
14        const BIDIRECTIONAL = crate::gobject_ffi::G_BINDING_BIDIRECTIONAL as _;
15        #[doc(alias = "G_BINDING_SYNC_CREATE")]
16        const SYNC_CREATE = crate::gobject_ffi::G_BINDING_SYNC_CREATE as _;
17        #[doc(alias = "G_BINDING_INVERT_BOOLEAN")]
18        const INVERT_BOOLEAN = crate::gobject_ffi::G_BINDING_INVERT_BOOLEAN as _;
19    }
20}
21
22#[doc(hidden)]
23impl IntoGlib for BindingFlags {
24    type GlibType = crate::gobject_ffi::GBindingFlags;
25
26    #[inline]
27    fn into_glib(self) -> crate::gobject_ffi::GBindingFlags {
28        self.bits()
29    }
30}
31
32#[doc(hidden)]
33impl FromGlib<crate::gobject_ffi::GBindingFlags> for BindingFlags {
34    #[inline]
35    unsafe fn from_glib(value: crate::gobject_ffi::GBindingFlags) -> Self {
36        Self::from_bits_truncate(value)
37    }
38}
39
40impl StaticType for BindingFlags {
41    #[inline]
42    #[doc(alias = "g_binding_flags_get_type")]
43    fn static_type() -> crate::Type {
44        unsafe { from_glib(crate::gobject_ffi::g_binding_flags_get_type()) }
45    }
46}
47
48impl crate::HasParamSpec for BindingFlags {
49    type ParamSpec = crate::ParamSpecFlags;
50    type SetValue = Self;
51    type BuilderFn = fn(&str) -> crate::ParamSpecFlagsBuilder<Self>;
52
53    fn param_spec_builder() -> Self::BuilderFn {
54        Self::ParamSpec::builder
55    }
56}
57
58impl crate::value::ValueType for BindingFlags {
59    type Type = Self;
60}
61
62unsafe impl<'a> crate::value::FromValue<'a> for BindingFlags {
63    type Checker = crate::value::GenericValueTypeChecker<Self>;
64
65    #[inline]
66    unsafe fn from_value(value: &'a crate::Value) -> Self {
67        unsafe {
68            from_glib(crate::gobject_ffi::g_value_get_flags(
69                value.to_glib_none().0,
70            ))
71        }
72    }
73}
74
75impl ToValue for BindingFlags {
76    #[inline]
77    fn to_value(&self) -> crate::Value {
78        let mut value = crate::Value::for_value_type::<Self>();
79        unsafe {
80            crate::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
81        }
82        value
83    }
84
85    #[inline]
86    fn value_type(&self) -> crate::Type {
87        Self::static_type()
88    }
89}
90
91impl From<BindingFlags> for crate::Value {
92    #[inline]
93    fn from(v: BindingFlags) -> Self {
94        ToValue::to_value(&v)
95    }
96}
97
98bitflags! {
99    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
100    #[doc(alias = "GSignalFlags")]
101    pub struct SignalFlags: u32 {
102        #[doc(alias = "G_SIGNAL_RUN_FIRST")]
103        const RUN_FIRST = crate::gobject_ffi::G_SIGNAL_RUN_FIRST as _;
104        #[doc(alias = "G_SIGNAL_RUN_LAST")]
105        const RUN_LAST = crate::gobject_ffi::G_SIGNAL_RUN_LAST as _;
106        #[doc(alias = "G_SIGNAL_RUN_CLEANUP")]
107        const RUN_CLEANUP = crate::gobject_ffi::G_SIGNAL_RUN_CLEANUP as _;
108        #[doc(alias = "G_SIGNAL_NO_RECURSE")]
109        const NO_RECURSE = crate::gobject_ffi::G_SIGNAL_NO_RECURSE as _;
110        #[doc(alias = "G_SIGNAL_DETAILED")]
111        const DETAILED = crate::gobject_ffi::G_SIGNAL_DETAILED as _;
112        #[doc(alias = "G_SIGNAL_ACTION")]
113        const ACTION = crate::gobject_ffi::G_SIGNAL_ACTION as _;
114        #[doc(alias = "G_SIGNAL_NO_HOOKS")]
115        const NO_HOOKS = crate::gobject_ffi::G_SIGNAL_NO_HOOKS as _;
116        #[doc(alias = "G_SIGNAL_MUST_COLLECT")]
117        const MUST_COLLECT = crate::gobject_ffi::G_SIGNAL_MUST_COLLECT as _;
118        #[doc(alias = "G_SIGNAL_DEPRECATED")]
119        const DEPRECATED = crate::gobject_ffi::G_SIGNAL_DEPRECATED as _;
120        #[cfg(feature = "v2_68")]
121        #[cfg_attr(docsrs, doc(cfg(feature = "v2_68")))]
122        #[doc(alias = "G_SIGNAL_ACCUMULATOR_FIRST_RUN")]
123        const ACCUMULATOR_FIRST_RUN = crate::gobject_ffi::G_SIGNAL_ACCUMULATOR_FIRST_RUN as _;
124    }
125}
126
127#[doc(hidden)]
128impl IntoGlib for SignalFlags {
129    type GlibType = crate::gobject_ffi::GSignalFlags;
130
131    #[inline]
132    fn into_glib(self) -> crate::gobject_ffi::GSignalFlags {
133        self.bits()
134    }
135}
136
137#[doc(hidden)]
138impl FromGlib<crate::gobject_ffi::GSignalFlags> for SignalFlags {
139    #[inline]
140    unsafe fn from_glib(value: crate::gobject_ffi::GSignalFlags) -> Self {
141        Self::from_bits_truncate(value)
142    }
143}
144
145bitflags! {
146    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
147    #[doc(alias = "GTypeFlags")]
148    pub struct TypeFlags: u32 {
149        #[doc(alias = "G_TYPE_FLAG_NONE")]
150        const NONE = crate::gobject_ffi::G_TYPE_FLAG_NONE as _;
151        #[doc(alias = "G_TYPE_FLAG_ABSTRACT")]
152        const ABSTRACT = crate::gobject_ffi::G_TYPE_FLAG_ABSTRACT as _;
153        #[doc(alias = "G_TYPE_FLAG_VALUE_ABSTRACT")]
154        const VALUE_ABSTRACT = crate::gobject_ffi::G_TYPE_FLAG_VALUE_ABSTRACT as _;
155        #[doc(alias = "G_TYPE_FLAG_FINAL")]
156        const FINAL = crate::gobject_ffi::G_TYPE_FLAG_FINAL as _;
157        #[doc(alias = "G_TYPE_FLAG_DEPRECATED")]
158        const DEPRECATED = crate::gobject_ffi::G_TYPE_FLAG_DEPRECATED as _;
159    }
160}
161
162#[doc(hidden)]
163impl IntoGlib for TypeFlags {
164    type GlibType = crate::gobject_ffi::GTypeFlags;
165
166    #[inline]
167    fn into_glib(self) -> crate::gobject_ffi::GTypeFlags {
168        self.bits()
169    }
170}
171
172#[doc(hidden)]
173impl FromGlib<crate::gobject_ffi::GTypeFlags> for TypeFlags {
174    #[inline]
175    unsafe fn from_glib(value: crate::gobject_ffi::GTypeFlags) -> Self {
176        Self::from_bits_truncate(value)
177    }
178}