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 unsafe 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:))]
92 #[unsafe(method_family = init)]
93 pub unsafe fn initWithCoder(
94 this: Allocated<Self>,
95 coder: &NSCoder,
96 ) -> Option<Retained<Self>>;
97
98 #[cfg(feature = "NSNib")]
99 #[unsafe(method(nibName))]
100 #[unsafe(method_family = none)]
101 pub unsafe fn nibName(&self) -> Option<Retained<NSNibName>>;
102
103 #[unsafe(method(nibBundle))]
104 #[unsafe(method_family = none)]
105 pub unsafe fn nibBundle(&self) -> Option<Retained<NSBundle>>;
106
107 #[unsafe(method(representedObject))]
108 #[unsafe(method_family = none)]
109 pub unsafe fn representedObject(&self) -> Option<Retained<AnyObject>>;
110
111 #[unsafe(method(setRepresentedObject:))]
113 #[unsafe(method_family = none)]
114 pub unsafe fn setRepresentedObject(&self, represented_object: Option<&AnyObject>);
115
116 #[unsafe(method(title))]
117 #[unsafe(method_family = none)]
118 pub unsafe fn title(&self) -> Option<Retained<NSString>>;
119
120 #[unsafe(method(setTitle:))]
122 #[unsafe(method_family = none)]
123 pub unsafe fn setTitle(&self, title: Option<&NSString>);
124
125 #[cfg(feature = "NSView")]
126 #[unsafe(method(view))]
127 #[unsafe(method_family = none)]
128 pub unsafe fn view(&self) -> Retained<NSView>;
129
130 #[cfg(feature = "NSView")]
131 #[unsafe(method(setView:))]
133 #[unsafe(method_family = none)]
134 pub unsafe fn setView(&self, view: &NSView);
135
136 #[cfg(feature = "NSView")]
137 #[unsafe(method(viewIfLoaded))]
138 #[unsafe(method_family = none)]
139 pub unsafe fn viewIfLoaded(&self) -> Option<Retained<NSView>>;
140
141 #[unsafe(method(loadView))]
142 #[unsafe(method_family = none)]
143 pub unsafe fn loadView(&self);
144
145 #[unsafe(method(loadViewIfNeeded))]
146 #[unsafe(method_family = none)]
147 pub unsafe fn loadViewIfNeeded(&self);
148
149 #[unsafe(method(commitEditingWithDelegate:didCommitSelector:contextInfo:))]
150 #[unsafe(method_family = none)]
151 pub unsafe fn commitEditingWithDelegate_didCommitSelector_contextInfo(
152 &self,
153 delegate: Option<&AnyObject>,
154 did_commit_selector: Option<Sel>,
155 context_info: *mut c_void,
156 );
157
158 #[unsafe(method(commitEditing))]
159 #[unsafe(method_family = none)]
160 pub unsafe fn commitEditing(&self) -> bool;
161
162 #[unsafe(method(discardEditing))]
163 #[unsafe(method_family = none)]
164 pub unsafe fn discardEditing(&self);
165
166 #[unsafe(method(viewDidLoad))]
167 #[unsafe(method_family = none)]
168 pub unsafe fn viewDidLoad(&self);
169
170 #[unsafe(method(isViewLoaded))]
171 #[unsafe(method_family = none)]
172 pub unsafe fn isViewLoaded(&self) -> bool;
173
174 #[unsafe(method(viewWillAppear))]
175 #[unsafe(method_family = none)]
176 pub unsafe fn viewWillAppear(&self);
177
178 #[unsafe(method(viewDidAppear))]
179 #[unsafe(method_family = none)]
180 pub unsafe fn viewDidAppear(&self);
181
182 #[unsafe(method(viewWillDisappear))]
183 #[unsafe(method_family = none)]
184 pub unsafe fn viewWillDisappear(&self);
185
186 #[unsafe(method(viewDidDisappear))]
187 #[unsafe(method_family = none)]
188 pub unsafe fn viewDidDisappear(&self);
189
190 #[unsafe(method(preferredContentSize))]
191 #[unsafe(method_family = none)]
192 pub unsafe fn preferredContentSize(&self) -> NSSize;
193
194 #[unsafe(method(setPreferredContentSize:))]
196 #[unsafe(method_family = none)]
197 pub unsafe fn setPreferredContentSize(&self, preferred_content_size: NSSize);
198
199 #[unsafe(method(updateViewConstraints))]
200 #[unsafe(method_family = none)]
201 pub unsafe fn updateViewConstraints(&self);
202
203 #[unsafe(method(viewWillLayout))]
204 #[unsafe(method_family = none)]
205 pub unsafe fn viewWillLayout(&self);
206
207 #[unsafe(method(viewDidLayout))]
208 #[unsafe(method_family = none)]
209 pub unsafe fn viewDidLayout(&self);
210 );
211}
212
213#[cfg(feature = "NSResponder")]
215impl NSViewController {
216 extern_methods!(
217 #[unsafe(method(init))]
218 #[unsafe(method_family = init)]
219 pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
220 );
221}
222
223#[cfg(feature = "NSResponder")]
225impl NSViewController {
226 extern_methods!(
227 #[unsafe(method(new))]
228 #[unsafe(method_family = new)]
229 pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
230 );
231}
232
233#[cfg(feature = "NSResponder")]
235impl NSViewController {
236 extern_methods!(
237 #[unsafe(method(presentViewController:animator:))]
238 #[unsafe(method_family = none)]
239 pub unsafe fn presentViewController_animator(
240 &self,
241 view_controller: &NSViewController,
242 animator: &ProtocolObject<dyn NSViewControllerPresentationAnimator>,
243 );
244
245 #[unsafe(method(dismissViewController:))]
246 #[unsafe(method_family = none)]
247 pub unsafe fn dismissViewController(&self, view_controller: &NSViewController);
248
249 #[unsafe(method(dismissController:))]
250 #[unsafe(method_family = none)]
251 pub unsafe fn dismissController(&self, sender: Option<&AnyObject>);
252
253 #[unsafe(method(presentedViewControllers))]
254 #[unsafe(method_family = none)]
255 pub unsafe fn presentedViewControllers(
256 &self,
257 ) -> Option<Retained<NSArray<NSViewController>>>;
258
259 #[unsafe(method(presentingViewController))]
260 #[unsafe(method_family = none)]
261 pub unsafe fn presentingViewController(&self) -> Option<Retained<NSViewController>>;
262 );
263}
264
265#[cfg(feature = "NSResponder")]
267impl NSViewController {
268 extern_methods!(
269 #[unsafe(method(presentViewControllerAsSheet:))]
270 #[unsafe(method_family = none)]
271 pub unsafe fn presentViewControllerAsSheet(&self, view_controller: &NSViewController);
272
273 #[unsafe(method(presentViewControllerAsModalWindow:))]
274 #[unsafe(method_family = none)]
275 pub unsafe fn presentViewControllerAsModalWindow(&self, view_controller: &NSViewController);
276
277 #[cfg(all(feature = "NSPopover", feature = "NSView"))]
278 #[unsafe(method(presentViewController:asPopoverRelativeToRect:ofView:preferredEdge:behavior:))]
279 #[unsafe(method_family = none)]
280 pub unsafe fn presentViewController_asPopoverRelativeToRect_ofView_preferredEdge_behavior(
281 &self,
282 view_controller: &NSViewController,
283 positioning_rect: NSRect,
284 positioning_view: &NSView,
285 preferred_edge: NSRectEdge,
286 behavior: NSPopoverBehavior,
287 );
288
289 #[cfg(all(feature = "NSPopover", feature = "NSView"))]
290 #[unsafe(method(presentViewController:asPopoverRelativeToRect:ofView:preferredEdge:behavior:hasFullSizeContent:))]
291 #[unsafe(method_family = none)]
292 pub unsafe fn presentViewController_asPopoverRelativeToRect_ofView_preferredEdge_behavior_hasFullSizeContent(
293 &self,
294 view_controller: &NSViewController,
295 positioning_rect: NSRect,
296 positioning_view: &NSView,
297 preferred_edge: NSRectEdge,
298 behavior: NSPopoverBehavior,
299 has_full_size_content: bool,
300 );
301
302 #[cfg(feature = "block2")]
303 #[unsafe(method(transitionFromViewController:toViewController:options:completionHandler:))]
304 #[unsafe(method_family = none)]
305 pub unsafe fn transitionFromViewController_toViewController_options_completionHandler(
306 &self,
307 from_view_controller: &NSViewController,
308 to_view_controller: &NSViewController,
309 options: NSViewControllerTransitionOptions,
310 completion: Option<&block2::DynBlock<dyn Fn()>>,
311 );
312 );
313}
314
315#[cfg(feature = "NSResponder")]
317impl NSViewController {
318 extern_methods!(
319 #[unsafe(method(parentViewController))]
320 #[unsafe(method_family = none)]
321 pub unsafe fn parentViewController(&self) -> Option<Retained<NSViewController>>;
322
323 #[unsafe(method(childViewControllers))]
324 #[unsafe(method_family = none)]
325 pub unsafe fn childViewControllers(&self) -> Retained<NSArray<NSViewController>>;
326
327 #[unsafe(method(setChildViewControllers:))]
329 #[unsafe(method_family = none)]
330 pub unsafe fn setChildViewControllers(
331 &self,
332 child_view_controllers: &NSArray<NSViewController>,
333 );
334
335 #[unsafe(method(addChildViewController:))]
336 #[unsafe(method_family = none)]
337 pub unsafe fn addChildViewController(&self, child_view_controller: &NSViewController);
338
339 #[unsafe(method(removeFromParentViewController))]
340 #[unsafe(method_family = none)]
341 pub unsafe fn removeFromParentViewController(&self);
342
343 #[unsafe(method(insertChildViewController:atIndex:))]
344 #[unsafe(method_family = none)]
345 pub unsafe fn insertChildViewController_atIndex(
346 &self,
347 child_view_controller: &NSViewController,
348 index: NSInteger,
349 );
350
351 #[unsafe(method(removeChildViewControllerAtIndex:))]
352 #[unsafe(method_family = none)]
353 pub unsafe fn removeChildViewControllerAtIndex(&self, index: NSInteger);
354
355 #[unsafe(method(preferredContentSizeDidChangeForViewController:))]
356 #[unsafe(method_family = none)]
357 pub unsafe fn preferredContentSizeDidChangeForViewController(
358 &self,
359 view_controller: &NSViewController,
360 );
361
362 #[unsafe(method(viewWillTransitionToSize:))]
363 #[unsafe(method_family = none)]
364 pub unsafe fn viewWillTransitionToSize(&self, new_size: NSSize);
365 );
366}
367
368extern_protocol!(
369 pub unsafe trait NSViewControllerPresentationAnimator:
371 NSObjectProtocol + MainThreadOnly
372 {
373 #[cfg(feature = "NSResponder")]
374 #[unsafe(method(animatePresentationOfViewController:fromViewController:))]
375 #[unsafe(method_family = none)]
376 unsafe fn animatePresentationOfViewController_fromViewController(
377 &self,
378 view_controller: &NSViewController,
379 from_view_controller: &NSViewController,
380 );
381
382 #[cfg(feature = "NSResponder")]
383 #[unsafe(method(animateDismissalOfViewController:fromViewController:))]
384 #[unsafe(method_family = none)]
385 unsafe fn animateDismissalOfViewController_fromViewController(
386 &self,
387 view_controller: &NSViewController,
388 from_view_controller: &NSViewController,
389 );
390 }
391);
392
393#[cfg(feature = "NSResponder")]
395impl NSViewController {
396 extern_methods!(
397 #[cfg(feature = "NSStoryboard")]
398 #[unsafe(method(storyboard))]
399 #[unsafe(method_family = none)]
400 pub unsafe fn storyboard(&self) -> Option<Retained<NSStoryboard>>;
401 );
402}
403
404#[cfg(feature = "NSResponder")]
406impl NSViewController {
407 extern_methods!(
408 #[unsafe(method(extensionContext))]
409 #[unsafe(method_family = none)]
410 pub unsafe fn extensionContext(&self) -> Option<Retained<NSExtensionContext>>;
411
412 #[cfg(feature = "NSView")]
413 #[unsafe(method(sourceItemView))]
414 #[unsafe(method_family = none)]
415 pub unsafe fn sourceItemView(&self) -> Option<Retained<NSView>>;
416
417 #[cfg(feature = "NSView")]
418 #[unsafe(method(setSourceItemView:))]
420 #[unsafe(method_family = none)]
421 pub unsafe fn setSourceItemView(&self, source_item_view: Option<&NSView>);
422
423 #[unsafe(method(preferredScreenOrigin))]
424 #[unsafe(method_family = none)]
425 pub unsafe fn preferredScreenOrigin(&self) -> NSPoint;
426
427 #[unsafe(method(setPreferredScreenOrigin:))]
429 #[unsafe(method_family = none)]
430 pub unsafe fn setPreferredScreenOrigin(&self, preferred_screen_origin: NSPoint);
431
432 #[unsafe(method(preferredMinimumSize))]
433 #[unsafe(method_family = none)]
434 pub unsafe fn preferredMinimumSize(&self) -> NSSize;
435
436 #[unsafe(method(preferredMaximumSize))]
437 #[unsafe(method_family = none)]
438 pub unsafe fn preferredMaximumSize(&self) -> NSSize;
439 );
440}
441
442#[cfg(feature = "NSResponder")]
443extern_conformance!(
444 unsafe impl NSExtensionRequestHandling for NSViewController {}
445);