objc2_event_kit_ui/generated/
EKCalendarChooser.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::*;
6#[cfg(feature = "objc2-event-kit")]
7use objc2_event_kit::*;
8use objc2_foundation::*;
9#[cfg(feature = "objc2-ui-kit")]
10use objc2_ui_kit::*;
11
12use crate::*;
13
14/// [Apple's documentation](https://developer.apple.com/documentation/eventkitui/ekcalendarchooserselectionstyle?language=objc)
15// NS_ENUM
16#[repr(transparent)]
17#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
18pub struct EKCalendarChooserSelectionStyle(pub NSInteger);
19impl EKCalendarChooserSelectionStyle {
20    #[doc(alias = "EKCalendarChooserSelectionStyleSingle")]
21    pub const Single: Self = Self(0);
22    #[doc(alias = "EKCalendarChooserSelectionStyleMultiple")]
23    pub const Multiple: Self = Self(1);
24}
25
26unsafe impl Encode for EKCalendarChooserSelectionStyle {
27    const ENCODING: Encoding = NSInteger::ENCODING;
28}
29
30unsafe impl RefEncode for EKCalendarChooserSelectionStyle {
31    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
32}
33
34/// [Apple's documentation](https://developer.apple.com/documentation/eventkitui/ekcalendarchooserdisplaystyle?language=objc)
35// NS_ENUM
36#[repr(transparent)]
37#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
38pub struct EKCalendarChooserDisplayStyle(pub NSInteger);
39impl EKCalendarChooserDisplayStyle {
40    #[doc(alias = "EKCalendarChooserDisplayAllCalendars")]
41    pub const AllCalendars: Self = Self(0);
42    #[doc(alias = "EKCalendarChooserDisplayWritableCalendarsOnly")]
43    pub const WritableCalendarsOnly: Self = Self(1);
44}
45
46unsafe impl Encode for EKCalendarChooserDisplayStyle {
47    const ENCODING: Encoding = NSInteger::ENCODING;
48}
49
50unsafe impl RefEncode for EKCalendarChooserDisplayStyle {
51    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
52}
53
54extern_class!(
55    /// [Apple's documentation](https://developer.apple.com/documentation/eventkitui/ekcalendarchooser?language=objc)
56    #[unsafe(super(UIViewController, UIResponder, NSObject))]
57    #[derive(Debug, PartialEq, Eq, Hash)]
58    #[cfg(feature = "objc2-ui-kit")]
59    pub struct EKCalendarChooser;
60);
61
62#[cfg(feature = "objc2-ui-kit")]
63extern_conformance!(
64    unsafe impl NSCoding for EKCalendarChooser {}
65);
66
67#[cfg(feature = "objc2-ui-kit")]
68extern_conformance!(
69    unsafe impl NSObjectProtocol for EKCalendarChooser {}
70);
71
72#[cfg(feature = "objc2-ui-kit")]
73extern_conformance!(
74    unsafe impl UIAppearanceContainer for EKCalendarChooser {}
75);
76
77#[cfg(feature = "objc2-ui-kit")]
78extern_conformance!(
79    unsafe impl UIContentContainer for EKCalendarChooser {}
80);
81
82#[cfg(feature = "objc2-ui-kit")]
83extern_conformance!(
84    unsafe impl UIFocusEnvironment for EKCalendarChooser {}
85);
86
87#[cfg(feature = "objc2-ui-kit")]
88extern_conformance!(
89    unsafe impl UIResponderStandardEditActions for EKCalendarChooser {}
90);
91
92#[cfg(feature = "objc2-ui-kit")]
93extern_conformance!(
94    unsafe impl UITraitEnvironment for EKCalendarChooser {}
95);
96
97#[cfg(feature = "objc2-ui-kit")]
98impl EKCalendarChooser {
99    extern_methods!(
100        #[cfg(feature = "objc2-event-kit")]
101        #[unsafe(method(initWithSelectionStyle:displayStyle:eventStore:))]
102        #[unsafe(method_family = init)]
103        pub unsafe fn initWithSelectionStyle_displayStyle_eventStore(
104            this: Allocated<Self>,
105            selection_style: EKCalendarChooserSelectionStyle,
106            display_style: EKCalendarChooserDisplayStyle,
107            event_store: &EKEventStore,
108        ) -> Retained<Self>;
109
110        #[cfg(feature = "objc2-event-kit")]
111        #[unsafe(method(initWithSelectionStyle:displayStyle:entityType:eventStore:))]
112        #[unsafe(method_family = init)]
113        pub unsafe fn initWithSelectionStyle_displayStyle_entityType_eventStore(
114            this: Allocated<Self>,
115            style: EKCalendarChooserSelectionStyle,
116            display_style: EKCalendarChooserDisplayStyle,
117            entity_type: EKEntityType,
118            event_store: &EKEventStore,
119        ) -> Retained<Self>;
120
121        #[unsafe(method(selectionStyle))]
122        #[unsafe(method_family = none)]
123        pub unsafe fn selectionStyle(&self) -> EKCalendarChooserSelectionStyle;
124
125        #[unsafe(method(delegate))]
126        #[unsafe(method_family = none)]
127        pub unsafe fn delegate(
128            &self,
129        ) -> Option<Retained<ProtocolObject<dyn EKCalendarChooserDelegate>>>;
130
131        /// This is a [weak property][objc2::topics::weak_property].
132        /// Setter for [`delegate`][Self::delegate].
133        #[unsafe(method(setDelegate:))]
134        #[unsafe(method_family = none)]
135        pub unsafe fn setDelegate(
136            &self,
137            delegate: Option<&ProtocolObject<dyn EKCalendarChooserDelegate>>,
138        );
139
140        #[unsafe(method(showsDoneButton))]
141        #[unsafe(method_family = none)]
142        pub unsafe fn showsDoneButton(&self) -> bool;
143
144        /// Setter for [`showsDoneButton`][Self::showsDoneButton].
145        #[unsafe(method(setShowsDoneButton:))]
146        #[unsafe(method_family = none)]
147        pub unsafe fn setShowsDoneButton(&self, shows_done_button: bool);
148
149        #[unsafe(method(showsCancelButton))]
150        #[unsafe(method_family = none)]
151        pub unsafe fn showsCancelButton(&self) -> bool;
152
153        /// Setter for [`showsCancelButton`][Self::showsCancelButton].
154        #[unsafe(method(setShowsCancelButton:))]
155        #[unsafe(method_family = none)]
156        pub unsafe fn setShowsCancelButton(&self, shows_cancel_button: bool);
157
158        #[cfg(feature = "objc2-event-kit")]
159        #[unsafe(method(selectedCalendars))]
160        #[unsafe(method_family = none)]
161        pub unsafe fn selectedCalendars(&self) -> Retained<NSSet<EKCalendar>>;
162
163        #[cfg(feature = "objc2-event-kit")]
164        /// Setter for [`selectedCalendars`][Self::selectedCalendars].
165        #[unsafe(method(setSelectedCalendars:))]
166        #[unsafe(method_family = none)]
167        pub unsafe fn setSelectedCalendars(&self, selected_calendars: &NSSet<EKCalendar>);
168    );
169}
170
171/// Methods declared on superclass `UIViewController`.
172#[cfg(feature = "objc2-ui-kit")]
173impl EKCalendarChooser {
174    extern_methods!(
175        #[unsafe(method(initWithNibName:bundle:))]
176        #[unsafe(method_family = init)]
177        pub unsafe fn initWithNibName_bundle(
178            this: Allocated<Self>,
179            nib_name_or_nil: Option<&NSString>,
180            nib_bundle_or_nil: Option<&NSBundle>,
181        ) -> Retained<Self>;
182
183        #[unsafe(method(initWithCoder:))]
184        #[unsafe(method_family = init)]
185        pub unsafe fn initWithCoder(
186            this: Allocated<Self>,
187            coder: &NSCoder,
188        ) -> Option<Retained<Self>>;
189    );
190}
191
192/// Methods declared on superclass `NSObject`.
193#[cfg(feature = "objc2-ui-kit")]
194impl EKCalendarChooser {
195    extern_methods!(
196        #[unsafe(method(init))]
197        #[unsafe(method_family = init)]
198        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
199
200        #[unsafe(method(new))]
201        #[unsafe(method_family = new)]
202        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
203    );
204}
205
206extern_protocol!(
207    /// [Apple's documentation](https://developer.apple.com/documentation/eventkitui/ekcalendarchooserdelegate?language=objc)
208    pub unsafe trait EKCalendarChooserDelegate: NSObjectProtocol {
209        #[cfg(feature = "objc2-ui-kit")]
210        #[optional]
211        #[unsafe(method(calendarChooserSelectionDidChange:))]
212        #[unsafe(method_family = none)]
213        unsafe fn calendarChooserSelectionDidChange(&self, calendar_chooser: &EKCalendarChooser);
214
215        #[cfg(feature = "objc2-ui-kit")]
216        #[optional]
217        #[unsafe(method(calendarChooserDidFinish:))]
218        #[unsafe(method_family = none)]
219        unsafe fn calendarChooserDidFinish(&self, calendar_chooser: &EKCalendarChooser);
220
221        #[cfg(feature = "objc2-ui-kit")]
222        #[optional]
223        #[unsafe(method(calendarChooserDidCancel:))]
224        #[unsafe(method_family = none)]
225        unsafe fn calendarChooserDidCancel(&self, calendar_chooser: &EKCalendarChooser);
226    }
227);