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