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")]
63unsafe impl NSCoding for EKCalendarChooser {}
64
65#[cfg(feature = "objc2-ui-kit")]
66unsafe impl NSObjectProtocol for EKCalendarChooser {}
67
68#[cfg(feature = "objc2-ui-kit")]
69unsafe impl UIAppearanceContainer for EKCalendarChooser {}
70
71#[cfg(feature = "objc2-ui-kit")]
72unsafe impl UIContentContainer for EKCalendarChooser {}
73
74#[cfg(feature = "objc2-ui-kit")]
75unsafe impl UIFocusEnvironment for EKCalendarChooser {}
76
77#[cfg(feature = "objc2-ui-kit")]
78unsafe impl UIResponderStandardEditActions for EKCalendarChooser {}
79
80#[cfg(feature = "objc2-ui-kit")]
81unsafe impl UITraitEnvironment for EKCalendarChooser {}
82
83#[cfg(feature = "objc2-ui-kit")]
84impl EKCalendarChooser {
85    extern_methods!(
86        #[cfg(feature = "objc2-event-kit")]
87        #[unsafe(method(initWithSelectionStyle:displayStyle:eventStore:))]
88        #[unsafe(method_family = init)]
89        pub unsafe fn initWithSelectionStyle_displayStyle_eventStore(
90            this: Allocated<Self>,
91            selection_style: EKCalendarChooserSelectionStyle,
92            display_style: EKCalendarChooserDisplayStyle,
93            event_store: &EKEventStore,
94        ) -> Retained<Self>;
95
96        #[cfg(feature = "objc2-event-kit")]
97        #[unsafe(method(initWithSelectionStyle:displayStyle:entityType:eventStore:))]
98        #[unsafe(method_family = init)]
99        pub unsafe fn initWithSelectionStyle_displayStyle_entityType_eventStore(
100            this: Allocated<Self>,
101            style: EKCalendarChooserSelectionStyle,
102            display_style: EKCalendarChooserDisplayStyle,
103            entity_type: EKEntityType,
104            event_store: &EKEventStore,
105        ) -> Retained<Self>;
106
107        #[unsafe(method(selectionStyle))]
108        #[unsafe(method_family = none)]
109        pub unsafe fn selectionStyle(&self) -> EKCalendarChooserSelectionStyle;
110
111        #[unsafe(method(delegate))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn delegate(
114            &self,
115        ) -> Option<Retained<ProtocolObject<dyn EKCalendarChooserDelegate>>>;
116
117        /// This is a [weak property][objc2::topics::weak_property].
118        /// Setter for [`delegate`][Self::delegate].
119        #[unsafe(method(setDelegate:))]
120        #[unsafe(method_family = none)]
121        pub unsafe fn setDelegate(
122            &self,
123            delegate: Option<&ProtocolObject<dyn EKCalendarChooserDelegate>>,
124        );
125
126        #[unsafe(method(showsDoneButton))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn showsDoneButton(&self) -> bool;
129
130        /// Setter for [`showsDoneButton`][Self::showsDoneButton].
131        #[unsafe(method(setShowsDoneButton:))]
132        #[unsafe(method_family = none)]
133        pub unsafe fn setShowsDoneButton(&self, shows_done_button: bool);
134
135        #[unsafe(method(showsCancelButton))]
136        #[unsafe(method_family = none)]
137        pub unsafe fn showsCancelButton(&self) -> bool;
138
139        /// Setter for [`showsCancelButton`][Self::showsCancelButton].
140        #[unsafe(method(setShowsCancelButton:))]
141        #[unsafe(method_family = none)]
142        pub unsafe fn setShowsCancelButton(&self, shows_cancel_button: bool);
143
144        #[cfg(feature = "objc2-event-kit")]
145        #[unsafe(method(selectedCalendars))]
146        #[unsafe(method_family = none)]
147        pub unsafe fn selectedCalendars(&self) -> Retained<NSSet<EKCalendar>>;
148
149        #[cfg(feature = "objc2-event-kit")]
150        /// Setter for [`selectedCalendars`][Self::selectedCalendars].
151        #[unsafe(method(setSelectedCalendars:))]
152        #[unsafe(method_family = none)]
153        pub unsafe fn setSelectedCalendars(&self, selected_calendars: &NSSet<EKCalendar>);
154    );
155}
156
157/// Methods declared on superclass `UIViewController`.
158#[cfg(feature = "objc2-ui-kit")]
159impl EKCalendarChooser {
160    extern_methods!(
161        #[unsafe(method(initWithNibName:bundle:))]
162        #[unsafe(method_family = init)]
163        pub unsafe fn initWithNibName_bundle(
164            this: Allocated<Self>,
165            nib_name_or_nil: Option<&NSString>,
166            nib_bundle_or_nil: Option<&NSBundle>,
167        ) -> Retained<Self>;
168
169        #[unsafe(method(initWithCoder:))]
170        #[unsafe(method_family = init)]
171        pub unsafe fn initWithCoder(
172            this: Allocated<Self>,
173            coder: &NSCoder,
174        ) -> Option<Retained<Self>>;
175    );
176}
177
178/// Methods declared on superclass `NSObject`.
179#[cfg(feature = "objc2-ui-kit")]
180impl EKCalendarChooser {
181    extern_methods!(
182        #[unsafe(method(init))]
183        #[unsafe(method_family = init)]
184        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
185
186        #[unsafe(method(new))]
187        #[unsafe(method_family = new)]
188        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
189    );
190}
191
192extern_protocol!(
193    /// [Apple's documentation](https://developer.apple.com/documentation/eventkitui/ekcalendarchooserdelegate?language=objc)
194    pub unsafe trait EKCalendarChooserDelegate: NSObjectProtocol {
195        #[cfg(feature = "objc2-ui-kit")]
196        #[optional]
197        #[unsafe(method(calendarChooserSelectionDidChange:))]
198        #[unsafe(method_family = none)]
199        unsafe fn calendarChooserSelectionDidChange(&self, calendar_chooser: &EKCalendarChooser);
200
201        #[cfg(feature = "objc2-ui-kit")]
202        #[optional]
203        #[unsafe(method(calendarChooserDidFinish:))]
204        #[unsafe(method_family = none)]
205        unsafe fn calendarChooserDidFinish(&self, calendar_chooser: &EKCalendarChooser);
206
207        #[cfg(feature = "objc2-ui-kit")]
208        #[optional]
209        #[unsafe(method(calendarChooserDidCancel:))]
210        #[unsafe(method_family = none)]
211        unsafe fn calendarChooserDidCancel(&self, calendar_chooser: &EKCalendarChooser);
212    }
213);