Skip to content

Commit fd5d066

Browse files
gtk: Generate AccessibleAnnouncementPriority
1 parent 339ad89 commit fd5d066

File tree

4 files changed

+137
-6
lines changed

4 files changed

+137
-6
lines changed

gtk4/Gir.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ trust_return_value_nullability = true
1818
generate = [
1919
# "Gtk.RequestedSize", a record
2020
# "Gtk.PrintBackend", a record without a gtype
21+
"Gtk.AccessibleAnnouncementPriority",
2122
"Gtk.AccessibleAutocomplete",
2223
"Gtk.AccessibleInvalidState",
2324
"Gtk.AccessiblePlatformState",

gtk4/src/auto/accessible.rs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
// from gir-files (https://github.com/gtk-rs/gir-files)
33
// DO NOT EDIT
44

5+
#[cfg(feature = "v4_14")]
6+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
7+
use crate::AccessibleAnnouncementPriority;
58
#[cfg(feature = "v4_10")]
69
#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
710
use crate::{ATContext, AccessiblePlatformState};
@@ -32,12 +35,18 @@ mod sealed {
3235
}
3336

3437
pub trait AccessibleExt: IsA<Accessible> + sealed::Sealed + 'static {
35-
//#[cfg(feature = "v4_14")]
36-
//#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
37-
//#[doc(alias = "gtk_accessible_announce")]
38-
//fn announce(&self, message: &str, priority: /*Ignored*/AccessibleAnnouncementPriority) {
39-
// unsafe { TODO: call ffi:gtk_accessible_announce() }
40-
//}
38+
#[cfg(feature = "v4_14")]
39+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
40+
#[doc(alias = "gtk_accessible_announce")]
41+
fn announce(&self, message: &str, priority: AccessibleAnnouncementPriority) {
42+
unsafe {
43+
ffi::gtk_accessible_announce(
44+
self.as_ref().to_glib_none().0,
45+
message.to_glib_none().0,
46+
priority.into_glib(),
47+
);
48+
}
49+
}
4150

4251
#[cfg(feature = "v4_10")]
4352
#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]

gtk4/src/auto/enums.rs

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,124 @@
44

55
use glib::{prelude::*, translate::*};
66

7+
#[cfg(feature = "v4_14")]
8+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
9+
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
10+
#[non_exhaustive]
11+
#[doc(alias = "GtkAccessibleAnnouncementPriority")]
12+
pub enum AccessibleAnnouncementPriority {
13+
#[doc(alias = "GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW")]
14+
Low,
15+
#[doc(alias = "GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM")]
16+
Medium,
17+
#[doc(alias = "GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH")]
18+
High,
19+
#[doc(hidden)]
20+
__Unknown(i32),
21+
}
22+
23+
#[cfg(feature = "v4_14")]
24+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
25+
#[doc(hidden)]
26+
impl IntoGlib for AccessibleAnnouncementPriority {
27+
type GlibType = ffi::GtkAccessibleAnnouncementPriority;
28+
29+
#[inline]
30+
fn into_glib(self) -> ffi::GtkAccessibleAnnouncementPriority {
31+
match self {
32+
Self::Low => ffi::GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW,
33+
Self::Medium => ffi::GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM,
34+
Self::High => ffi::GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH,
35+
Self::__Unknown(value) => value,
36+
}
37+
}
38+
}
39+
40+
#[cfg(feature = "v4_14")]
41+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
42+
#[doc(hidden)]
43+
impl FromGlib<ffi::GtkAccessibleAnnouncementPriority> for AccessibleAnnouncementPriority {
44+
#[inline]
45+
unsafe fn from_glib(value: ffi::GtkAccessibleAnnouncementPriority) -> Self {
46+
skip_assert_initialized!();
47+
48+
match value {
49+
ffi::GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_LOW => Self::Low,
50+
ffi::GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_MEDIUM => Self::Medium,
51+
ffi::GTK_ACCESSIBLE_ANNOUNCEMENT_PRIORITY_HIGH => Self::High,
52+
value => Self::__Unknown(value),
53+
}
54+
}
55+
}
56+
57+
#[cfg(feature = "v4_14")]
58+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
59+
impl StaticType for AccessibleAnnouncementPriority {
60+
#[inline]
61+
#[doc(alias = "gtk_accessible_announcement_priority_get_type")]
62+
fn static_type() -> glib::Type {
63+
unsafe { from_glib(ffi::gtk_accessible_announcement_priority_get_type()) }
64+
}
65+
}
66+
67+
#[cfg(feature = "v4_14")]
68+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
69+
impl glib::HasParamSpec for AccessibleAnnouncementPriority {
70+
type ParamSpec = glib::ParamSpecEnum;
71+
type SetValue = Self;
72+
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
73+
74+
fn param_spec_builder() -> Self::BuilderFn {
75+
Self::ParamSpec::builder_with_default
76+
}
77+
}
78+
79+
#[cfg(feature = "v4_14")]
80+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
81+
impl glib::value::ValueType for AccessibleAnnouncementPriority {
82+
type Type = Self;
83+
}
84+
85+
#[cfg(feature = "v4_14")]
86+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
87+
unsafe impl<'a> glib::value::FromValue<'a> for AccessibleAnnouncementPriority {
88+
type Checker = glib::value::GenericValueTypeChecker<Self>;
89+
90+
#[inline]
91+
unsafe fn from_value(value: &'a glib::Value) -> Self {
92+
skip_assert_initialized!();
93+
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
94+
}
95+
}
96+
97+
#[cfg(feature = "v4_14")]
98+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
99+
impl ToValue for AccessibleAnnouncementPriority {
100+
#[inline]
101+
fn to_value(&self) -> glib::Value {
102+
let mut value = glib::Value::for_value_type::<Self>();
103+
unsafe {
104+
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
105+
}
106+
value
107+
}
108+
109+
#[inline]
110+
fn value_type(&self) -> glib::Type {
111+
Self::static_type()
112+
}
113+
}
114+
115+
#[cfg(feature = "v4_14")]
116+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
117+
impl From<AccessibleAnnouncementPriority> for glib::Value {
118+
#[inline]
119+
fn from(v: AccessibleAnnouncementPriority) -> Self {
120+
skip_assert_initialized!();
121+
ToValue::to_value(&v)
122+
}
123+
}
124+
7125
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
8126
#[non_exhaustive]
9127
#[doc(alias = "GtkAccessibleAutocomplete")]

gtk4/src/auto/mod.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,6 +1114,9 @@ mod tree_row_reference;
11141114
pub use self::tree_row_reference::TreeRowReference;
11151115

11161116
mod enums;
1117+
#[cfg(feature = "v4_14")]
1118+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
1119+
pub use self::enums::AccessibleAnnouncementPriority;
11171120
pub use self::enums::AccessibleAutocomplete;
11181121
pub use self::enums::AccessibleInvalidState;
11191122
#[cfg(feature = "v4_10")]

0 commit comments

Comments
 (0)