objc2_ui_kit/generated/
UIAccessibilityContainer.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10mod private_NSObjectUIAccessibilityContainer {
11    pub trait Sealed {}
12}
13
14/// Category "UIAccessibilityContainer" on [`NSObject`].
15#[doc(alias = "UIAccessibilityContainer")]
16pub unsafe trait NSObjectUIAccessibilityContainer:
17    ClassType + Sized + private_NSObjectUIAccessibilityContainer::Sealed
18{
19    extern_methods!(
20        #[unsafe(method(accessibilityElementCount))]
21        #[unsafe(method_family = none)]
22        fn accessibilityElementCount(&self, mtm: MainThreadMarker) -> NSInteger;
23
24        #[unsafe(method(accessibilityElementAtIndex:))]
25        #[unsafe(method_family = none)]
26        fn accessibilityElementAtIndex(
27            &self,
28            index: NSInteger,
29            mtm: MainThreadMarker,
30        ) -> Option<Retained<AnyObject>>;
31
32        /// # Safety
33        ///
34        /// `element` should be of the correct type.
35        #[unsafe(method(indexOfAccessibilityElement:))]
36        #[unsafe(method_family = none)]
37        unsafe fn indexOfAccessibilityElement(
38            &self,
39            element: &AnyObject,
40            mtm: MainThreadMarker,
41        ) -> NSInteger;
42
43        #[unsafe(method(accessibilityElements))]
44        #[unsafe(method_family = none)]
45        fn accessibilityElements(&self, mtm: MainThreadMarker) -> Option<Retained<NSArray>>;
46
47        /// Setter for [`accessibilityElements`][Self::accessibilityElements].
48        ///
49        /// # Safety
50        ///
51        /// `accessibility_elements` generic should be of the correct type.
52        #[unsafe(method(setAccessibilityElements:))]
53        #[unsafe(method_family = none)]
54        unsafe fn setAccessibilityElements(
55            &self,
56            accessibility_elements: Option<&NSArray>,
57            mtm: MainThreadMarker,
58        );
59
60        #[cfg(feature = "UIAccessibilityConstants")]
61        #[unsafe(method(accessibilityContainerType))]
62        #[unsafe(method_family = none)]
63        fn accessibilityContainerType(&self, mtm: MainThreadMarker)
64            -> UIAccessibilityContainerType;
65
66        #[cfg(feature = "UIAccessibilityConstants")]
67        /// Setter for [`accessibilityContainerType`][Self::accessibilityContainerType].
68        #[unsafe(method(setAccessibilityContainerType:))]
69        #[unsafe(method_family = none)]
70        fn setAccessibilityContainerType(
71            &self,
72            accessibility_container_type: UIAccessibilityContainerType,
73            mtm: MainThreadMarker,
74        );
75
76        #[unsafe(method(automationElements))]
77        #[unsafe(method_family = none)]
78        fn automationElements(&self, mtm: MainThreadMarker) -> Option<Retained<NSArray>>;
79
80        /// Setter for [`automationElements`][Self::automationElements].
81        ///
82        /// # Safety
83        ///
84        /// `automation_elements` generic should be of the correct type.
85        #[unsafe(method(setAutomationElements:))]
86        #[unsafe(method_family = none)]
87        unsafe fn setAutomationElements(
88            &self,
89            automation_elements: Option<&NSArray>,
90            mtm: MainThreadMarker,
91        );
92    );
93}
94
95impl private_NSObjectUIAccessibilityContainer::Sealed for NSObject {}
96unsafe impl NSObjectUIAccessibilityContainer for NSObject {}
97
98extern_protocol!(
99    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiaccessibilitycontainerdatatablecell?language=objc)
100    pub unsafe trait UIAccessibilityContainerDataTableCell:
101        NSObjectProtocol + MainThreadOnly
102    {
103        #[unsafe(method(accessibilityRowRange))]
104        #[unsafe(method_family = none)]
105        fn accessibilityRowRange(&self) -> NSRange;
106
107        #[unsafe(method(accessibilityColumnRange))]
108        #[unsafe(method_family = none)]
109        fn accessibilityColumnRange(&self) -> NSRange;
110    }
111);
112
113extern_protocol!(
114    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uiaccessibilitycontainerdatatable?language=objc)
115    pub unsafe trait UIAccessibilityContainerDataTable:
116        NSObjectProtocol + MainThreadOnly
117    {
118        #[unsafe(method(accessibilityDataTableCellElementForRow:column:))]
119        #[unsafe(method_family = none)]
120        fn accessibilityDataTableCellElementForRow_column(
121            &self,
122            row: NSUInteger,
123            column: NSUInteger,
124        ) -> Option<Retained<ProtocolObject<dyn UIAccessibilityContainerDataTableCell>>>;
125
126        #[unsafe(method(accessibilityRowCount))]
127        #[unsafe(method_family = none)]
128        fn accessibilityRowCount(&self) -> NSUInteger;
129
130        #[unsafe(method(accessibilityColumnCount))]
131        #[unsafe(method_family = none)]
132        fn accessibilityColumnCount(&self) -> NSUInteger;
133
134        #[optional]
135        #[unsafe(method(accessibilityHeaderElementsForRow:))]
136        #[unsafe(method_family = none)]
137        fn accessibilityHeaderElementsForRow(
138            &self,
139            row: NSUInteger,
140        ) -> Option<Retained<NSArray<ProtocolObject<dyn UIAccessibilityContainerDataTableCell>>>>;
141
142        #[optional]
143        #[unsafe(method(accessibilityHeaderElementsForColumn:))]
144        #[unsafe(method_family = none)]
145        fn accessibilityHeaderElementsForColumn(
146            &self,
147            column: NSUInteger,
148        ) -> Option<Retained<NSArray<ProtocolObject<dyn UIAccessibilityContainerDataTableCell>>>>;
149    }
150);