objc2_event_kit_ui/generated/
EKCalendarChooser.rs1use 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#[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#[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 #[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 #[unsafe(method(setDelegate:))]
135 #[unsafe(method_family = none)]
136 pub unsafe fn setDelegate(
137 &self,
138 delegate: Option<&ProtocolObject<dyn EKCalendarChooserDelegate>>,
139 );
140
141 #[unsafe(method(showsDoneButton))]
142 #[unsafe(method_family = none)]
143 pub unsafe fn showsDoneButton(&self) -> bool;
144
145 #[unsafe(method(setShowsDoneButton:))]
147 #[unsafe(method_family = none)]
148 pub unsafe fn setShowsDoneButton(&self, shows_done_button: bool);
149
150 #[unsafe(method(showsCancelButton))]
151 #[unsafe(method_family = none)]
152 pub unsafe fn showsCancelButton(&self) -> bool;
153
154 #[unsafe(method(setShowsCancelButton:))]
156 #[unsafe(method_family = none)]
157 pub unsafe fn setShowsCancelButton(&self, shows_cancel_button: bool);
158
159 #[cfg(feature = "objc2-event-kit")]
160 #[unsafe(method(selectedCalendars))]
161 #[unsafe(method_family = none)]
162 pub unsafe fn selectedCalendars(&self) -> Retained<NSSet<EKCalendar>>;
163
164 #[cfg(feature = "objc2-event-kit")]
165 #[unsafe(method(setSelectedCalendars:))]
169 #[unsafe(method_family = none)]
170 pub unsafe fn setSelectedCalendars(&self, selected_calendars: &NSSet<EKCalendar>);
171 );
172}
173
174#[cfg(feature = "objc2-ui-kit")]
176impl EKCalendarChooser {
177 extern_methods!(
178 #[unsafe(method(initWithNibName:bundle:))]
179 #[unsafe(method_family = init)]
180 pub unsafe fn initWithNibName_bundle(
181 this: Allocated<Self>,
182 nib_name_or_nil: Option<&NSString>,
183 nib_bundle_or_nil: Option<&NSBundle>,
184 ) -> Retained<Self>;
185
186 #[unsafe(method(initWithCoder:))]
190 #[unsafe(method_family = init)]
191 pub unsafe fn initWithCoder(
192 this: Allocated<Self>,
193 coder: &NSCoder,
194 ) -> Option<Retained<Self>>;
195 );
196}
197
198#[cfg(feature = "objc2-ui-kit")]
200impl EKCalendarChooser {
201 extern_methods!(
202 #[unsafe(method(init))]
203 #[unsafe(method_family = init)]
204 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
205
206 #[unsafe(method(new))]
207 #[unsafe(method_family = new)]
208 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
209 );
210}
211
212extern_protocol!(
213 pub unsafe trait EKCalendarChooserDelegate: NSObjectProtocol {
215 #[cfg(feature = "objc2-ui-kit")]
216 #[optional]
217 #[unsafe(method(calendarChooserSelectionDidChange:))]
218 #[unsafe(method_family = none)]
219 unsafe fn calendarChooserSelectionDidChange(&self, calendar_chooser: &EKCalendarChooser);
220
221 #[cfg(feature = "objc2-ui-kit")]
222 #[optional]
223 #[unsafe(method(calendarChooserDidFinish:))]
224 #[unsafe(method_family = none)]
225 unsafe fn calendarChooserDidFinish(&self, calendar_chooser: &EKCalendarChooser);
226
227 #[cfg(feature = "objc2-ui-kit")]
228 #[optional]
229 #[unsafe(method(calendarChooserDidCancel:))]
230 #[unsafe(method_family = none)]
231 unsafe fn calendarChooserDidCancel(&self, calendar_chooser: &EKCalendarChooser);
232 }
233);