libadwaita/auto/
flags.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files.git)
4// DO NOT EDIT
5
6use crate::ffi;
7#[cfg(feature = "v1_2")]
8#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
9use glib::{bitflags::bitflags, prelude::*, translate::*};
10
11#[cfg(feature = "v1_2")]
12bitflags! {
13    /// Describes available shortcuts in an [`TabView`][crate::TabView].
14    ///
15    /// Shortcuts can be set with [`shortcuts`][struct@crate::TabView#shortcuts], or added/removed
16    /// individually with [`TabView::add_shortcuts()`][crate::TabView::add_shortcuts()] and
17    /// [`TabView::remove_shortcuts()`][crate::TabView::remove_shortcuts()].
18    ///
19    /// New values may be added to this enumeration over time.
20    #[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
21    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
22    #[doc(alias = "AdwTabViewShortcuts")]
23    pub struct TabViewShortcuts: u32 {
24        /// No shortcuts
25        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_NONE")]
26        const NONE = ffi::ADW_TAB_VIEW_SHORTCUT_NONE as _;
27        /// <kbd>Ctrl</kbd>+<kbd>Tab</kbd> - switch to the next page
28        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_TAB")]
29        const CONTROL_TAB = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_TAB as _;
30        /// <kbd>Shift</kbd>+<kbd>Ctrl</kbd>+<kbd>Tab</kbd> - switch to the previous
31        ///   page
32        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_TAB")]
33        const CONTROL_SHIFT_TAB = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_TAB as _;
34        /// <kbd>Ctrl</kbd>+<kbd>Page Up</kbd> - switch to the previous page
35        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_UP")]
36        const CONTROL_PAGE_UP = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_UP as _;
37        /// <kbd>Ctrl</kbd>+<kbd>Page Down</kbd> - switch to the next page
38        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_DOWN")]
39        const CONTROL_PAGE_DOWN = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_PAGE_DOWN as _;
40        /// <kbd>Ctrl</kbd>+<kbd>Home</kbd> - switch to the first page
41        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME")]
42        const CONTROL_HOME = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_HOME as _;
43        /// <kbd>Ctrl</kbd>+<kbd>End</kbd> - switch to the last page
44        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_END")]
45        const CONTROL_END = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_END as _;
46        /// <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Page Up</kbd> - move the selected
47        ///   page backward
48        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_UP")]
49        const CONTROL_SHIFT_PAGE_UP = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_UP as _;
50        /// <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Page Down</kbd> - move the selected
51        ///   page forward
52        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_DOWN")]
53        const CONTROL_SHIFT_PAGE_DOWN = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_PAGE_DOWN as _;
54        /// <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Home</kbd> - move the selected page
55        ///   at the start
56        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_HOME")]
57        const CONTROL_SHIFT_HOME = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_HOME as _;
58        /// <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>End</kbd> - move the current page at
59        ///   the end
60        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_END")]
61        const CONTROL_SHIFT_END = ffi::ADW_TAB_VIEW_SHORTCUT_CONTROL_SHIFT_END as _;
62        /// <kbd>Alt</kbd>+<kbd>1</kbd>⋯<kbd>9</kbd> - switch to pages 1-9
63        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_ALT_DIGITS")]
64        const ALT_DIGITS = ffi::ADW_TAB_VIEW_SHORTCUT_ALT_DIGITS as _;
65        /// <kbd>Alt</kbd>+<kbd>0</kbd> - switch to page 10
66        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_ALT_ZERO")]
67        const ALT_ZERO = ffi::ADW_TAB_VIEW_SHORTCUT_ALT_ZERO as _;
68        /// All of the shortcuts
69        #[doc(alias = "ADW_TAB_VIEW_SHORTCUT_ALL_SHORTCUTS")]
70        const ALL_SHORTCUTS = ffi::ADW_TAB_VIEW_SHORTCUT_ALL_SHORTCUTS as _;
71    }
72}
73
74#[cfg(feature = "v1_2")]
75#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
76#[doc(hidden)]
77impl IntoGlib for TabViewShortcuts {
78    type GlibType = ffi::AdwTabViewShortcuts;
79
80    #[inline]
81    fn into_glib(self) -> ffi::AdwTabViewShortcuts {
82        self.bits()
83    }
84}
85
86#[cfg(feature = "v1_2")]
87#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
88#[doc(hidden)]
89impl FromGlib<ffi::AdwTabViewShortcuts> for TabViewShortcuts {
90    #[inline]
91    unsafe fn from_glib(value: ffi::AdwTabViewShortcuts) -> Self {
92        skip_assert_initialized!();
93        Self::from_bits_truncate(value)
94    }
95}
96
97#[cfg(feature = "v1_2")]
98#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
99impl StaticType for TabViewShortcuts {
100    #[inline]
101    #[doc(alias = "adw_tab_view_shortcuts_get_type")]
102    fn static_type() -> glib::Type {
103        unsafe { from_glib(ffi::adw_tab_view_shortcuts_get_type()) }
104    }
105}
106
107#[cfg(feature = "v1_2")]
108#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
109impl glib::HasParamSpec for TabViewShortcuts {
110    type ParamSpec = glib::ParamSpecFlags;
111    type SetValue = Self;
112    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
113
114    fn param_spec_builder() -> Self::BuilderFn {
115        Self::ParamSpec::builder
116    }
117}
118
119#[cfg(feature = "v1_2")]
120#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
121impl glib::value::ValueType for TabViewShortcuts {
122    type Type = Self;
123}
124
125#[cfg(feature = "v1_2")]
126#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
127unsafe impl<'a> glib::value::FromValue<'a> for TabViewShortcuts {
128    type Checker = glib::value::GenericValueTypeChecker<Self>;
129
130    #[inline]
131    unsafe fn from_value(value: &'a glib::Value) -> Self {
132        skip_assert_initialized!();
133        from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
134    }
135}
136
137#[cfg(feature = "v1_2")]
138#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
139impl ToValue for TabViewShortcuts {
140    #[inline]
141    fn to_value(&self) -> glib::Value {
142        let mut value = glib::Value::for_value_type::<Self>();
143        unsafe {
144            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
145        }
146        value
147    }
148
149    #[inline]
150    fn value_type(&self) -> glib::Type {
151        Self::static_type()
152    }
153}
154
155#[cfg(feature = "v1_2")]
156#[cfg_attr(docsrs, doc(cfg(feature = "v1_2")))]
157impl From<TabViewShortcuts> for glib::Value {
158    #[inline]
159    fn from(v: TabViewShortcuts) -> Self {
160        skip_assert_initialized!();
161        ToValue::to_value(&v)
162    }
163}