objc2_ui_kit/generated/
UIDocumentMenuViewController.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
10/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uidocumentmenuorder?language=objc)
11// NS_ENUM
12#[deprecated]
13#[repr(transparent)]
14#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
15pub struct UIDocumentMenuOrder(pub NSUInteger);
16impl UIDocumentMenuOrder {
17    #[deprecated]
18    #[doc(alias = "UIDocumentMenuOrderFirst")]
19    pub const First: Self = Self(0);
20    #[deprecated]
21    #[doc(alias = "UIDocumentMenuOrderLast")]
22    pub const Last: Self = Self(1);
23}
24
25unsafe impl Encode for UIDocumentMenuOrder {
26    const ENCODING: Encoding = NSUInteger::ENCODING;
27}
28
29unsafe impl RefEncode for UIDocumentMenuOrder {
30    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
31}
32
33extern_protocol!(
34    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uidocumentmenudelegate?language=objc)
35    #[deprecated = "UIDocumentMenuDelegate is deprecated. Use UIDocumentPickerViewController directly."]
36    pub unsafe trait UIDocumentMenuDelegate: NSObjectProtocol + MainThreadOnly {
37        #[cfg(all(
38            feature = "UIDocumentPickerViewController",
39            feature = "UIResponder",
40            feature = "UIViewController"
41        ))]
42        #[deprecated = "UIDocumentMenuDelegate is deprecated. Use UIDocumentPickerViewController directly."]
43        #[unsafe(method(documentMenu:didPickDocumentPicker:))]
44        #[unsafe(method_family = none)]
45        unsafe fn documentMenu_didPickDocumentPicker(
46            &self,
47            document_menu: &UIDocumentMenuViewController,
48            document_picker: &UIDocumentPickerViewController,
49        );
50
51        #[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
52        #[deprecated = "UIDocumentMenuDelegate is deprecated. Use UIDocumentPickerViewController directly."]
53        #[optional]
54        #[unsafe(method(documentMenuWasCancelled:))]
55        #[unsafe(method_family = none)]
56        unsafe fn documentMenuWasCancelled(&self, document_menu: &UIDocumentMenuViewController);
57    }
58);
59
60extern_class!(
61    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uidocumentmenuviewcontroller?language=objc)
62    #[unsafe(super(UIViewController, UIResponder, NSObject))]
63    #[thread_kind = MainThreadOnly]
64    #[derive(Debug, PartialEq, Eq, Hash)]
65    #[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
66    #[deprecated = "UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly."]
67    pub struct UIDocumentMenuViewController;
68);
69
70#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
71unsafe impl NSCoding for UIDocumentMenuViewController {}
72
73#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
74unsafe impl NSObjectProtocol for UIDocumentMenuViewController {}
75
76#[cfg(all(
77    feature = "UIAppearance",
78    feature = "UIResponder",
79    feature = "UIViewController"
80))]
81unsafe impl UIAppearanceContainer for UIDocumentMenuViewController {}
82
83#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
84unsafe impl UIContentContainer for UIDocumentMenuViewController {}
85
86#[cfg(all(
87    feature = "UIFocus",
88    feature = "UIResponder",
89    feature = "UIViewController"
90))]
91unsafe impl UIFocusEnvironment for UIDocumentMenuViewController {}
92
93#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
94unsafe impl UIResponderStandardEditActions for UIDocumentMenuViewController {}
95
96#[cfg(all(
97    feature = "UIResponder",
98    feature = "UITraitCollection",
99    feature = "UIViewController"
100))]
101unsafe impl UITraitEnvironment for UIDocumentMenuViewController {}
102
103#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
104impl UIDocumentMenuViewController {
105    extern_methods!(
106        #[cfg(feature = "UIDocumentPickerViewController")]
107        #[deprecated = "UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly."]
108        #[unsafe(method(initWithDocumentTypes:inMode:))]
109        #[unsafe(method_family = init)]
110        pub unsafe fn initWithDocumentTypes_inMode(
111            this: Allocated<Self>,
112            allowed_ut_is: &NSArray<NSString>,
113            mode: UIDocumentPickerMode,
114        ) -> Retained<Self>;
115
116        #[cfg(feature = "UIDocumentPickerViewController")]
117        #[deprecated = "UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly."]
118        #[unsafe(method(initWithURL:inMode:))]
119        #[unsafe(method_family = init)]
120        pub unsafe fn initWithURL_inMode(
121            this: Allocated<Self>,
122            url: &NSURL,
123            mode: UIDocumentPickerMode,
124        ) -> Retained<Self>;
125
126        #[deprecated = "UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly."]
127        #[unsafe(method(initWithCoder:))]
128        #[unsafe(method_family = init)]
129        pub unsafe fn initWithCoder(
130            this: Allocated<Self>,
131            coder: &NSCoder,
132        ) -> Option<Retained<Self>>;
133
134        #[cfg(all(feature = "UIImage", feature = "block2"))]
135        #[deprecated = "UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly."]
136        #[unsafe(method(addOptionWithTitle:image:order:handler:))]
137        #[unsafe(method_family = none)]
138        pub unsafe fn addOptionWithTitle_image_order_handler(
139            &self,
140            title: &NSString,
141            image: Option<&UIImage>,
142            order: UIDocumentMenuOrder,
143            handler: &block2::Block<dyn Fn()>,
144        );
145
146        #[deprecated = "UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly."]
147        #[unsafe(method(delegate))]
148        #[unsafe(method_family = none)]
149        pub unsafe fn delegate(
150            &self,
151        ) -> Option<Retained<ProtocolObject<dyn UIDocumentMenuDelegate>>>;
152
153        /// This is a [weak property][objc2::topics::weak_property].
154        /// Setter for [`delegate`][Self::delegate].
155        #[deprecated = "UIDocumentMenuViewController is deprecated. Use UIDocumentPickerViewController directly."]
156        #[unsafe(method(setDelegate:))]
157        #[unsafe(method_family = none)]
158        pub unsafe fn setDelegate(
159            &self,
160            delegate: Option<&ProtocolObject<dyn UIDocumentMenuDelegate>>,
161        );
162    );
163}
164
165/// Methods declared on superclass `UIViewController`.
166#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
167impl UIDocumentMenuViewController {
168    extern_methods!(
169        #[unsafe(method(initWithNibName:bundle:))]
170        #[unsafe(method_family = init)]
171        pub unsafe fn initWithNibName_bundle(
172            this: Allocated<Self>,
173            nib_name_or_nil: Option<&NSString>,
174            nib_bundle_or_nil: Option<&NSBundle>,
175        ) -> Retained<Self>;
176    );
177}
178
179/// Methods declared on superclass `NSObject`.
180#[cfg(all(feature = "UIResponder", feature = "UIViewController"))]
181impl UIDocumentMenuViewController {
182    extern_methods!(
183        #[unsafe(method(init))]
184        #[unsafe(method_family = init)]
185        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
186
187        #[unsafe(method(new))]
188        #[unsafe(method_family = new)]
189        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
190    );
191}