glib/gobject/auto/
flags.rs
1use crate::{bitflags::bitflags, ffi, prelude::*, translate::*};
6
7bitflags! {
8 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
13 #[doc(alias = "GBindingFlags")]
14 pub struct BindingFlags: u32 {
15 #[doc(alias = "G_BINDING_DEFAULT")]
18 const DEFAULT = crate::gobject_ffi::G_BINDING_DEFAULT as _;
19 #[doc(alias = "G_BINDING_BIDIRECTIONAL")]
23 const BIDIRECTIONAL = crate::gobject_ffi::G_BINDING_BIDIRECTIONAL as _;
24 #[doc(alias = "G_BINDING_SYNC_CREATE")]
28 const SYNC_CREATE = crate::gobject_ffi::G_BINDING_SYNC_CREATE as _;
29 #[doc(alias = "G_BINDING_INVERT_BOOLEAN")]
35 const INVERT_BOOLEAN = crate::gobject_ffi::G_BINDING_INVERT_BOOLEAN as _;
36 }
37}
38
39#[doc(hidden)]
40impl IntoGlib for BindingFlags {
41 type GlibType = crate::gobject_ffi::GBindingFlags;
42
43 #[inline]
44 fn into_glib(self) -> crate::gobject_ffi::GBindingFlags {
45 self.bits()
46 }
47}
48
49#[doc(hidden)]
50impl FromGlib<crate::gobject_ffi::GBindingFlags> for BindingFlags {
51 #[inline]
52 unsafe fn from_glib(value: crate::gobject_ffi::GBindingFlags) -> Self {
53 Self::from_bits_truncate(value)
54 }
55}
56
57impl StaticType for BindingFlags {
58 #[inline]
59 #[doc(alias = "g_binding_flags_get_type")]
60 fn static_type() -> crate::Type {
61 unsafe { from_glib(crate::gobject_ffi::g_binding_flags_get_type()) }
62 }
63}
64
65impl crate::HasParamSpec for BindingFlags {
66 type ParamSpec = crate::ParamSpecFlags;
67 type SetValue = Self;
68 type BuilderFn = fn(&str) -> crate::ParamSpecFlagsBuilder<Self>;
69
70 fn param_spec_builder() -> Self::BuilderFn {
71 Self::ParamSpec::builder
72 }
73}
74
75impl crate::value::ValueType for BindingFlags {
76 type Type = Self;
77}
78
79unsafe impl<'a> crate::value::FromValue<'a> for BindingFlags {
80 type Checker = crate::value::GenericValueTypeChecker<Self>;
81
82 #[inline]
83 unsafe fn from_value(value: &'a crate::Value) -> Self {
84 from_glib(crate::gobject_ffi::g_value_get_flags(
85 value.to_glib_none().0,
86 ))
87 }
88}
89
90impl ToValue for BindingFlags {
91 #[inline]
92 fn to_value(&self) -> crate::Value {
93 let mut value = crate::Value::for_value_type::<Self>();
94 unsafe {
95 crate::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
96 }
97 value
98 }
99
100 #[inline]
101 fn value_type(&self) -> crate::Type {
102 Self::static_type()
103 }
104}
105
106impl From<BindingFlags> for crate::Value {
107 #[inline]
108 fn from(v: BindingFlags) -> Self {
109 ToValue::to_value(&v)
110 }
111}
112
113bitflags! {
114 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
116 #[doc(alias = "GSignalFlags")]
117 pub struct SignalFlags: u32 {
118 #[doc(alias = "G_SIGNAL_RUN_FIRST")]
120 const RUN_FIRST = crate::gobject_ffi::G_SIGNAL_RUN_FIRST as _;
121 #[doc(alias = "G_SIGNAL_RUN_LAST")]
123 const RUN_LAST = crate::gobject_ffi::G_SIGNAL_RUN_LAST as _;
124 #[doc(alias = "G_SIGNAL_RUN_CLEANUP")]
126 const RUN_CLEANUP = crate::gobject_ffi::G_SIGNAL_RUN_CLEANUP as _;
127 #[doc(alias = "G_SIGNAL_NO_RECURSE")]
131 const NO_RECURSE = crate::gobject_ffi::G_SIGNAL_NO_RECURSE as _;
132 #[doc(alias = "G_SIGNAL_DETAILED")]
135 const DETAILED = crate::gobject_ffi::G_SIGNAL_DETAILED as _;
136 #[doc(alias = "G_SIGNAL_ACTION")]
143 const ACTION = crate::gobject_ffi::G_SIGNAL_ACTION as _;
144 #[doc(alias = "G_SIGNAL_NO_HOOKS")]
146 const NO_HOOKS = crate::gobject_ffi::G_SIGNAL_NO_HOOKS as _;
147 #[doc(alias = "G_SIGNAL_MUST_COLLECT")]
150 const MUST_COLLECT = crate::gobject_ffi::G_SIGNAL_MUST_COLLECT as _;
151 #[doc(alias = "G_SIGNAL_DEPRECATED")]
156 const DEPRECATED = crate::gobject_ffi::G_SIGNAL_DEPRECATED as _;
157 #[cfg(feature = "v2_68")]
163 #[cfg_attr(docsrs, doc(cfg(feature = "v2_68")))]
164 #[doc(alias = "G_SIGNAL_ACCUMULATOR_FIRST_RUN")]
165 const ACCUMULATOR_FIRST_RUN = crate::gobject_ffi::G_SIGNAL_ACCUMULATOR_FIRST_RUN as _;
166 }
167}
168
169#[doc(hidden)]
170impl IntoGlib for SignalFlags {
171 type GlibType = crate::gobject_ffi::GSignalFlags;
172
173 #[inline]
174 fn into_glib(self) -> crate::gobject_ffi::GSignalFlags {
175 self.bits()
176 }
177}
178
179#[doc(hidden)]
180impl FromGlib<crate::gobject_ffi::GSignalFlags> for SignalFlags {
181 #[inline]
182 unsafe fn from_glib(value: crate::gobject_ffi::GSignalFlags) -> Self {
183 Self::from_bits_truncate(value)
184 }
185}
186
187bitflags! {
188 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
190 #[doc(alias = "GTypeFlags")]
191 pub struct TypeFlags: u32 {
192 #[doc(alias = "G_TYPE_FLAG_NONE")]
194 const NONE = crate::gobject_ffi::G_TYPE_FLAG_NONE as _;
195 #[doc(alias = "G_TYPE_FLAG_ABSTRACT")]
198 const ABSTRACT = crate::gobject_ffi::G_TYPE_FLAG_ABSTRACT as _;
199 #[doc(alias = "G_TYPE_FLAG_VALUE_ABSTRACT")]
203 const VALUE_ABSTRACT = crate::gobject_ffi::G_TYPE_FLAG_VALUE_ABSTRACT as _;
204 #[doc(alias = "G_TYPE_FLAG_FINAL")]
207 const FINAL = crate::gobject_ffi::G_TYPE_FLAG_FINAL as _;
208 #[doc(alias = "G_TYPE_FLAG_DEPRECATED")]
212 const DEPRECATED = crate::gobject_ffi::G_TYPE_FLAG_DEPRECATED as _;
213 }
214}
215
216#[doc(hidden)]
217impl IntoGlib for TypeFlags {
218 type GlibType = crate::gobject_ffi::GTypeFlags;
219
220 #[inline]
221 fn into_glib(self) -> crate::gobject_ffi::GTypeFlags {
222 self.bits()
223 }
224}
225
226#[doc(hidden)]
227impl FromGlib<crate::gobject_ffi::GTypeFlags> for TypeFlags {
228 #[inline]
229 unsafe fn from_glib(value: crate::gobject_ffi::GTypeFlags) -> Self {
230 Self::from_bits_truncate(value)
231 }
232}