glib/gobject/auto/
flags.rs1use 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 from_glib(crate::gobject_ffi::g_value_get_flags(
68 value.to_glib_none().0,
69 ))
70 }
71}
72
73impl ToValue for BindingFlags {
74 #[inline]
75 fn to_value(&self) -> crate::Value {
76 let mut value = crate::Value::for_value_type::<Self>();
77 unsafe {
78 crate::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
79 }
80 value
81 }
82
83 #[inline]
84 fn value_type(&self) -> crate::Type {
85 Self::static_type()
86 }
87}
88
89impl From<BindingFlags> for crate::Value {
90 #[inline]
91 fn from(v: BindingFlags) -> Self {
92 ToValue::to_value(&v)
93 }
94}
95
96bitflags! {
97 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
98 #[doc(alias = "GSignalFlags")]
99 pub struct SignalFlags: u32 {
100 #[doc(alias = "G_SIGNAL_RUN_FIRST")]
101 const RUN_FIRST = crate::gobject_ffi::G_SIGNAL_RUN_FIRST as _;
102 #[doc(alias = "G_SIGNAL_RUN_LAST")]
103 const RUN_LAST = crate::gobject_ffi::G_SIGNAL_RUN_LAST as _;
104 #[doc(alias = "G_SIGNAL_RUN_CLEANUP")]
105 const RUN_CLEANUP = crate::gobject_ffi::G_SIGNAL_RUN_CLEANUP as _;
106 #[doc(alias = "G_SIGNAL_NO_RECURSE")]
107 const NO_RECURSE = crate::gobject_ffi::G_SIGNAL_NO_RECURSE as _;
108 #[doc(alias = "G_SIGNAL_DETAILED")]
109 const DETAILED = crate::gobject_ffi::G_SIGNAL_DETAILED as _;
110 #[doc(alias = "G_SIGNAL_ACTION")]
111 const ACTION = crate::gobject_ffi::G_SIGNAL_ACTION as _;
112 #[doc(alias = "G_SIGNAL_NO_HOOKS")]
113 const NO_HOOKS = crate::gobject_ffi::G_SIGNAL_NO_HOOKS as _;
114 #[doc(alias = "G_SIGNAL_MUST_COLLECT")]
115 const MUST_COLLECT = crate::gobject_ffi::G_SIGNAL_MUST_COLLECT as _;
116 #[doc(alias = "G_SIGNAL_DEPRECATED")]
117 const DEPRECATED = crate::gobject_ffi::G_SIGNAL_DEPRECATED as _;
118 #[cfg(feature = "v2_68")]
119 #[cfg_attr(docsrs, doc(cfg(feature = "v2_68")))]
120 #[doc(alias = "G_SIGNAL_ACCUMULATOR_FIRST_RUN")]
121 const ACCUMULATOR_FIRST_RUN = crate::gobject_ffi::G_SIGNAL_ACCUMULATOR_FIRST_RUN as _;
122 }
123}
124
125#[doc(hidden)]
126impl IntoGlib for SignalFlags {
127 type GlibType = crate::gobject_ffi::GSignalFlags;
128
129 #[inline]
130 fn into_glib(self) -> crate::gobject_ffi::GSignalFlags {
131 self.bits()
132 }
133}
134
135#[doc(hidden)]
136impl FromGlib<crate::gobject_ffi::GSignalFlags> for SignalFlags {
137 #[inline]
138 unsafe fn from_glib(value: crate::gobject_ffi::GSignalFlags) -> Self {
139 Self::from_bits_truncate(value)
140 }
141}
142
143bitflags! {
144 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
145 #[doc(alias = "GTypeFlags")]
146 pub struct TypeFlags: u32 {
147 #[doc(alias = "G_TYPE_FLAG_NONE")]
148 const NONE = crate::gobject_ffi::G_TYPE_FLAG_NONE as _;
149 #[doc(alias = "G_TYPE_FLAG_ABSTRACT")]
150 const ABSTRACT = crate::gobject_ffi::G_TYPE_FLAG_ABSTRACT as _;
151 #[doc(alias = "G_TYPE_FLAG_VALUE_ABSTRACT")]
152 const VALUE_ABSTRACT = crate::gobject_ffi::G_TYPE_FLAG_VALUE_ABSTRACT as _;
153 #[doc(alias = "G_TYPE_FLAG_FINAL")]
154 const FINAL = crate::gobject_ffi::G_TYPE_FLAG_FINAL as _;
155 #[doc(alias = "G_TYPE_FLAG_DEPRECATED")]
156 const DEPRECATED = crate::gobject_ffi::G_TYPE_FLAG_DEPRECATED as _;
157 }
158}
159
160#[doc(hidden)]
161impl IntoGlib for TypeFlags {
162 type GlibType = crate::gobject_ffi::GTypeFlags;
163
164 #[inline]
165 fn into_glib(self) -> crate::gobject_ffi::GTypeFlags {
166 self.bits()
167 }
168}
169
170#[doc(hidden)]
171impl FromGlib<crate::gobject_ffi::GTypeFlags> for TypeFlags {
172 #[inline]
173 unsafe fn from_glib(value: crate::gobject_ffi::GTypeFlags) -> Self {
174 Self::from_bits_truncate(value)
175 }
176}