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