objc2_app_kit/generated/
NSViewController.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct NSViewControllerTransitionOptions(pub NSUInteger);
15bitflags::bitflags! {
16 impl NSViewControllerTransitionOptions: NSUInteger {
17 #[doc(alias = "NSViewControllerTransitionNone")]
18 const None = 0x0;
19 #[doc(alias = "NSViewControllerTransitionCrossfade")]
20 const Crossfade = 0x1;
21 #[doc(alias = "NSViewControllerTransitionSlideUp")]
22 const SlideUp = 0x10;
23 #[doc(alias = "NSViewControllerTransitionSlideDown")]
24 const SlideDown = 0x20;
25 #[doc(alias = "NSViewControllerTransitionSlideLeft")]
26 const SlideLeft = 0x40;
27 #[doc(alias = "NSViewControllerTransitionSlideRight")]
28 const SlideRight = 0x80;
29 #[doc(alias = "NSViewControllerTransitionSlideForward")]
30 const SlideForward = 0x140;
31 #[doc(alias = "NSViewControllerTransitionSlideBackward")]
32 const SlideBackward = 0x180;
33 #[doc(alias = "NSViewControllerTransitionAllowUserInteraction")]
34 const AllowUserInteraction = 0x1000;
35 }
36}
37
38unsafe impl Encode for NSViewControllerTransitionOptions {
39 const ENCODING: Encoding = NSUInteger::ENCODING;
40}
41
42unsafe impl RefEncode for NSViewControllerTransitionOptions {
43 const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
44}
45
46extern_class!(
47 #[unsafe(super(NSResponder, NSObject))]
49 #[derive(Debug, PartialEq, Eq, Hash)]
50 #[cfg(feature = "NSResponder")]
51 pub struct NSViewController;
52);
53
54#[cfg(feature = "NSResponder")]
55extern_conformance!(
56 unsafe impl NSCoding for NSViewController {}
57);
58
59#[cfg(all(feature = "NSKeyValueBinding", feature = "NSResponder"))]
60extern_conformance!(
61 unsafe impl NSEditor for NSViewController {}
62);
63
64#[cfg(feature = "NSResponder")]
65extern_conformance!(
66 unsafe impl NSObjectProtocol for NSViewController {}
67);
68
69#[cfg(all(feature = "NSResponder", feature = "NSStoryboardSegue"))]
70extern_conformance!(
71 unsafe impl NSSeguePerforming for NSViewController {}
72);
73
74#[cfg(all(feature = "NSResponder", feature = "NSUserInterfaceItemIdentification"))]
75extern_conformance!(
76 unsafe impl NSUserInterfaceItemIdentification for NSViewController {}
77);
78
79#[cfg(feature = "NSResponder")]
80impl NSViewController {
81 extern_methods!(
82 #[cfg(feature = "NSNib")]
83 #[unsafe(method(initWithNibName:bundle:))]
84 #[unsafe(method_family = init)]
85 pub fn initWithNibName_bundle(
86 this: Allocated<Self>,
87 nib_name_or_nil: Option<&NSNibName>,
88 nib_bundle_or_nil: Option<&NSBundle>,
89 ) -> Retained<Self>;
90
91 #[unsafe(method(initWithCoder:))]
95 #[unsafe(method_family = init)]
96 pub unsafe fn initWithCoder(
97 this: Allocated<Self>,
98 coder: &NSCoder,
99 ) -> Option<Retained<Self>>;
100
101 #[cfg(feature = "NSNib")]
102 #[unsafe(method(nibName))]
103 #[unsafe(method_family = none)]
104 pub fn nibName(&self) -> Option<Retained<NSNibName>>;
105
106 #[unsafe(method(nibBundle))]
107 #[unsafe(method_family = none)]
108 pub fn nibBundle(&self) -> Option<Retained<NSBundle>>;
109
110 #[unsafe(method(representedObject))]
111 #[unsafe(method_family = none)]
112 pub fn representedObject(&self) -> Option<Retained<AnyObject>>;
113
114 #[unsafe(method(setRepresentedObject:))]
120 #[unsafe(method_family = none)]
121 pub unsafe fn setRepresentedObject(&self, represented_object: Option<&AnyObject>);
122
123 #[unsafe(method(title))]
124 #[unsafe(method_family = none)]
125 pub fn title(&self) -> Option<Retained<NSString>>;
126
127 #[unsafe(method(setTitle:))]
131 #[unsafe(method_family = none)]
132 pub fn setTitle(&self, title: Option<&NSString>);
133
134 #[cfg(feature = "NSView")]
135 #[unsafe(method(view))]
136 #[unsafe(method_family = none)]
137 pub fn view(&self) -> Retained<NSView>;
138
139 #[cfg(feature = "NSView")]
140 #[unsafe(method(setView:))]
142 #[unsafe(method_family = none)]
143 pub fn setView(&self, view: &NSView);
144
145 #[cfg(feature = "NSView")]
146 #[unsafe(method(viewIfLoaded))]
147 #[unsafe(method_family = none)]
148 pub fn viewIfLoaded(&self) -> Option<Retained<NSView>>;
149
150 #[unsafe(method(loadView))]
151 #[unsafe(method_family = none)]
152 pub fn loadView(&self);
153
154 #[unsafe(method(loadViewIfNeeded))]
155 #[unsafe(method_family = none)]
156 pub fn loadViewIfNeeded(&self);
157
158 #[unsafe(method(commitEditingWithDelegate:didCommitSelector:contextInfo:))]
164 #[unsafe(method_family = none)]
165 pub unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo(
166 &self,
167 delegate: Option<&AnyObject>,
168 did_commit_selector: Option<Sel>,
169 context_info: *mut c_void,
170 );
171
172 #[unsafe(method(commitEditing))]
173 #[unsafe(method_family = none)]
174 pub fn commitEditing(&self) -> bool;
175
176 #[unsafe(method(discardEditing))]
177 #[unsafe(method_family = none)]
178 pub fn discardEditing(&self);
179
180 #[unsafe(method(viewDidLoad))]
181 #[unsafe(method_family = none)]
182 pub fn viewDidLoad(&self);
183
184 #[unsafe(method(isViewLoaded))]
185 #[unsafe(method_family = none)]
186 pub fn isViewLoaded(&self) -> bool;
187
188 #[unsafe(method(viewWillAppear))]
189 #[unsafe(method_family = none)]
190 pub fn viewWillAppear(&self);
191
192 #[unsafe(method(viewDidAppear))]
193 #[unsafe(method_family = none)]
194 pub fn viewDidAppear(&self);
195
196 #[unsafe(method(viewWillDisappear))]
197 #[unsafe(method_family = none)]
198 pub fn viewWillDisappear(&self);
199
200 #[unsafe(method(viewDidDisappear))]
201 #[unsafe(method_family = none)]
202 pub fn viewDidDisappear(&self);
203
204 #[unsafe(method(preferredContentSize))]
205 #[unsafe(method_family = none)]
206 pub fn preferredContentSize(&self) -> NSSize;
207
208 #[unsafe(method(setPreferredContentSize:))]
210 #[unsafe(method_family = none)]
211 pub fn setPreferredContentSize(&self, preferred_content_size: NSSize);
212
213 #[unsafe(method(updateViewConstraints))]
214 #[unsafe(method_family = none)]
215 pub fn updateViewConstraints(&self);
216
217 #[unsafe(method(viewWillLayout))]
218 #[unsafe(method_family = none)]
219 pub fn viewWillLayout(&self);
220
221 #[unsafe(method(viewDidLayout))]
222 #[unsafe(method_family = none)]
223 pub fn viewDidLayout(&self);
224 );
225}
226
227#[cfg(feature = "NSResponder")]
229impl NSViewController {
230 extern_methods!(
231 #[unsafe(method(init))]
232 #[unsafe(method_family = init)]
233 pub fn init(this: Allocated<Self>) -> Retained<Self>;
234 );
235}
236
237#[cfg(feature = "NSResponder")]
239impl NSViewController {
240 extern_methods!(
241 #[unsafe(method(new))]
242 #[unsafe(method_family = new)]
243 pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
244 );
245}
246
247#[cfg(feature = "NSResponder")]
249impl NSViewController {
250 extern_methods!(
251 #[unsafe(method(presentViewController:animator:))]
252 #[unsafe(method_family = none)]
253 pub fn presentViewController_animator(
254 &self,
255 view_controller: &NSViewController,
256 animator: &ProtocolObject<dyn NSViewControllerPresentationAnimator>,
257 );
258
259 #[unsafe(method(dismissViewController:))]
260 #[unsafe(method_family = none)]
261 pub fn dismissViewController(&self, view_controller: &NSViewController);
262
263 #[unsafe(method(dismissController:))]
267 #[unsafe(method_family = none)]
268 pub unsafe fn dismissController(&self, sender: Option<&AnyObject>);
269
270 #[unsafe(method(presentedViewControllers))]
271 #[unsafe(method_family = none)]
272 pub fn presentedViewControllers(&self) -> Option<Retained<NSArray<NSViewController>>>;
273
274 #[unsafe(method(presentingViewController))]
278 #[unsafe(method_family = none)]
279 pub unsafe fn presentingViewController(&self) -> Option<Retained<NSViewController>>;
280 );
281}
282
283#[cfg(feature = "NSResponder")]
285impl NSViewController {
286 extern_methods!(
287 #[unsafe(method(presentViewControllerAsSheet:))]
288 #[unsafe(method_family = none)]
289 pub fn presentViewControllerAsSheet(&self, view_controller: &NSViewController);
290
291 #[unsafe(method(presentViewControllerAsModalWindow:))]
292 #[unsafe(method_family = none)]
293 pub fn presentViewControllerAsModalWindow(&self, view_controller: &NSViewController);
294
295 #[cfg(all(feature = "NSPopover", feature = "NSView"))]
296 #[unsafe(method(presentViewController:asPopoverRelativeToRect:ofView:preferredEdge:behavior:))]
297 #[unsafe(method_family = none)]
298 pub fn presentViewController_asPopoverRelativeToRect_ofView_preferredEdge_behavior(
299 &self,
300 view_controller: &NSViewController,
301 positioning_rect: NSRect,
302 positioning_view: &NSView,
303 preferred_edge: NSRectEdge,
304 behavior: NSPopoverBehavior,
305 );
306
307 #[cfg(all(feature = "NSPopover", feature = "NSView"))]
308 #[unsafe(method(presentViewController:asPopoverRelativeToRect:ofView:preferredEdge:behavior:hasFullSizeContent:))]
309 #[unsafe(method_family = none)]
310 pub fn presentViewController_asPopoverRelativeToRect_ofView_preferredEdge_behavior_hasFullSizeContent(
311 &self,
312 view_controller: &NSViewController,
313 positioning_rect: NSRect,
314 positioning_view: &NSView,
315 preferred_edge: NSRectEdge,
316 behavior: NSPopoverBehavior,
317 has_full_size_content: bool,
318 );
319
320 #[cfg(feature = "block2")]
321 #[unsafe(method(transitionFromViewController:toViewController:options:completionHandler:))]
322 #[unsafe(method_family = none)]
323 pub fn transitionFromViewController_toViewController_options_completionHandler(
324 &self,
325 from_view_controller: &NSViewController,
326 to_view_controller: &NSViewController,
327 options: NSViewControllerTransitionOptions,
328 completion: Option<&block2::DynBlock<dyn Fn()>>,
329 );
330 );
331}
332
333#[cfg(feature = "NSResponder")]
335impl NSViewController {
336 extern_methods!(
337 #[unsafe(method(parentViewController))]
338 #[unsafe(method_family = none)]
339 pub fn parentViewController(&self) -> Option<Retained<NSViewController>>;
340
341 #[unsafe(method(childViewControllers))]
342 #[unsafe(method_family = none)]
343 pub fn childViewControllers(&self) -> Retained<NSArray<NSViewController>>;
344
345 #[unsafe(method(setChildViewControllers:))]
349 #[unsafe(method_family = none)]
350 pub fn setChildViewControllers(&self, child_view_controllers: &NSArray<NSViewController>);
351
352 #[unsafe(method(addChildViewController:))]
353 #[unsafe(method_family = none)]
354 pub fn addChildViewController(&self, child_view_controller: &NSViewController);
355
356 #[unsafe(method(removeFromParentViewController))]
357 #[unsafe(method_family = none)]
358 pub fn removeFromParentViewController(&self);
359
360 #[unsafe(method(insertChildViewController:atIndex:))]
361 #[unsafe(method_family = none)]
362 pub fn insertChildViewController_atIndex(
363 &self,
364 child_view_controller: &NSViewController,
365 index: NSInteger,
366 );
367
368 #[unsafe(method(removeChildViewControllerAtIndex:))]
369 #[unsafe(method_family = none)]
370 pub fn removeChildViewControllerAtIndex(&self, index: NSInteger);
371
372 #[unsafe(method(preferredContentSizeDidChangeForViewController:))]
373 #[unsafe(method_family = none)]
374 pub fn preferredContentSizeDidChangeForViewController(
375 &self,
376 view_controller: &NSViewController,
377 );
378
379 #[unsafe(method(viewWillTransitionToSize:))]
380 #[unsafe(method_family = none)]
381 pub fn viewWillTransitionToSize(&self, new_size: NSSize);
382 );
383}
384
385extern_protocol!(
386 pub unsafe trait NSViewControllerPresentationAnimator:
388 NSObjectProtocol + MainThreadOnly
389 {
390 #[cfg(feature = "NSResponder")]
391 #[unsafe(method(animatePresentationOfViewController:fromViewController:))]
392 #[unsafe(method_family = none)]
393 fn animatePresentationOfViewController_fromViewController(
394 &self,
395 view_controller: &NSViewController,
396 from_view_controller: &NSViewController,
397 );
398
399 #[cfg(feature = "NSResponder")]
400 #[unsafe(method(animateDismissalOfViewController:fromViewController:))]
401 #[unsafe(method_family = none)]
402 fn animateDismissalOfViewController_fromViewController(
403 &self,
404 view_controller: &NSViewController,
405 from_view_controller: &NSViewController,
406 );
407 }
408);
409
410#[cfg(feature = "NSResponder")]
412impl NSViewController {
413 extern_methods!(
414 #[cfg(feature = "NSStoryboard")]
415 #[unsafe(method(storyboard))]
416 #[unsafe(method_family = none)]
417 pub fn storyboard(&self) -> Option<Retained<NSStoryboard>>;
418 );
419}
420
421#[cfg(feature = "NSResponder")]
423impl NSViewController {
424 extern_methods!(
425 #[unsafe(method(extensionContext))]
426 #[unsafe(method_family = none)]
427 pub fn extensionContext(&self) -> Option<Retained<NSExtensionContext>>;
428
429 #[cfg(feature = "NSView")]
430 #[unsafe(method(sourceItemView))]
431 #[unsafe(method_family = none)]
432 pub fn sourceItemView(&self) -> Option<Retained<NSView>>;
433
434 #[cfg(feature = "NSView")]
435 #[unsafe(method(setSourceItemView:))]
437 #[unsafe(method_family = none)]
438 pub fn setSourceItemView(&self, source_item_view: Option<&NSView>);
439
440 #[unsafe(method(preferredScreenOrigin))]
441 #[unsafe(method_family = none)]
442 pub fn preferredScreenOrigin(&self) -> NSPoint;
443
444 #[unsafe(method(setPreferredScreenOrigin:))]
446 #[unsafe(method_family = none)]
447 pub fn setPreferredScreenOrigin(&self, preferred_screen_origin: NSPoint);
448
449 #[unsafe(method(preferredMinimumSize))]
450 #[unsafe(method_family = none)]
451 pub fn preferredMinimumSize(&self) -> NSSize;
452
453 #[unsafe(method(preferredMaximumSize))]
454 #[unsafe(method_family = none)]
455 pub fn preferredMaximumSize(&self) -> NSSize;
456 );
457}
458
459#[cfg(feature = "NSResponder")]
460extern_conformance!(
461 unsafe impl NSExtensionRequestHandling for NSViewController {}
462);