objc2_app_kit/generated/
NSPageController.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::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nspagecontrollerobjectidentifier?language=objc)
11pub type NSPageControllerObjectIdentifier = NSString;
12
13/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nspagecontrollertransitionstyle?language=objc)
14// NS_ENUM
15#[repr(transparent)]
16#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
17pub struct NSPageControllerTransitionStyle(pub NSInteger);
18impl NSPageControllerTransitionStyle {
19    #[doc(alias = "NSPageControllerTransitionStyleStackHistory")]
20    pub const StackHistory: Self = Self(0);
21    #[doc(alias = "NSPageControllerTransitionStyleStackBook")]
22    pub const StackBook: Self = Self(1);
23    #[doc(alias = "NSPageControllerTransitionStyleHorizontalStrip")]
24    pub const HorizontalStrip: Self = Self(2);
25}
26
27unsafe impl Encode for NSPageControllerTransitionStyle {
28    const ENCODING: Encoding = NSInteger::ENCODING;
29}
30
31unsafe impl RefEncode for NSPageControllerTransitionStyle {
32    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
33}
34
35extern_class!(
36    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nspagecontroller?language=objc)
37    #[unsafe(super(NSViewController, NSResponder, NSObject))]
38    #[derive(Debug, PartialEq, Eq, Hash)]
39    #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
40    pub struct NSPageController;
41);
42
43#[cfg(all(
44    feature = "NSAnimation",
45    feature = "NSResponder",
46    feature = "NSViewController"
47))]
48unsafe impl NSAnimatablePropertyContainer for NSPageController {}
49
50#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
51unsafe impl NSCoding for NSPageController {}
52
53#[cfg(all(
54    feature = "NSKeyValueBinding",
55    feature = "NSResponder",
56    feature = "NSViewController"
57))]
58unsafe impl NSEditor for NSPageController {}
59
60#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
61unsafe impl NSObjectProtocol for NSPageController {}
62
63#[cfg(all(
64    feature = "NSResponder",
65    feature = "NSStoryboardSegue",
66    feature = "NSViewController"
67))]
68unsafe impl NSSeguePerforming for NSPageController {}
69
70#[cfg(all(
71    feature = "NSResponder",
72    feature = "NSUserInterfaceItemIdentification",
73    feature = "NSViewController"
74))]
75unsafe impl NSUserInterfaceItemIdentification for NSPageController {}
76
77#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
78impl NSPageController {
79    extern_methods!(
80        #[unsafe(method(delegate))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn delegate(
83            &self,
84        ) -> Option<Retained<ProtocolObject<dyn NSPageControllerDelegate>>>;
85
86        /// This is a [weak property][objc2::topics::weak_property].
87        /// Setter for [`delegate`][Self::delegate].
88        #[unsafe(method(setDelegate:))]
89        #[unsafe(method_family = none)]
90        pub unsafe fn setDelegate(
91            &self,
92            delegate: Option<&ProtocolObject<dyn NSPageControllerDelegate>>,
93        );
94
95        #[unsafe(method(selectedViewController))]
96        #[unsafe(method_family = none)]
97        pub unsafe fn selectedViewController(&self) -> Option<Retained<NSViewController>>;
98
99        #[unsafe(method(transitionStyle))]
100        #[unsafe(method_family = none)]
101        pub unsafe fn transitionStyle(&self) -> NSPageControllerTransitionStyle;
102
103        /// Setter for [`transitionStyle`][Self::transitionStyle].
104        #[unsafe(method(setTransitionStyle:))]
105        #[unsafe(method_family = none)]
106        pub unsafe fn setTransitionStyle(&self, transition_style: NSPageControllerTransitionStyle);
107
108        #[unsafe(method(arrangedObjects))]
109        #[unsafe(method_family = none)]
110        pub unsafe fn arrangedObjects(&self) -> Retained<NSArray>;
111
112        /// Setter for [`arrangedObjects`][Self::arrangedObjects].
113        #[unsafe(method(setArrangedObjects:))]
114        #[unsafe(method_family = none)]
115        pub unsafe fn setArrangedObjects(&self, arranged_objects: &NSArray);
116
117        #[unsafe(method(selectedIndex))]
118        #[unsafe(method_family = none)]
119        pub unsafe fn selectedIndex(&self) -> NSInteger;
120
121        /// Setter for [`selectedIndex`][Self::selectedIndex].
122        #[unsafe(method(setSelectedIndex:))]
123        #[unsafe(method_family = none)]
124        pub unsafe fn setSelectedIndex(&self, selected_index: NSInteger);
125
126        #[unsafe(method(navigateForwardToObject:))]
127        #[unsafe(method_family = none)]
128        pub unsafe fn navigateForwardToObject(&self, object: &AnyObject);
129
130        #[unsafe(method(completeTransition))]
131        #[unsafe(method_family = none)]
132        pub unsafe fn completeTransition(&self);
133
134        #[unsafe(method(navigateBack:))]
135        #[unsafe(method_family = none)]
136        pub unsafe fn navigateBack(&self, sender: Option<&AnyObject>);
137
138        #[unsafe(method(navigateForward:))]
139        #[unsafe(method_family = none)]
140        pub unsafe fn navigateForward(&self, sender: Option<&AnyObject>);
141
142        #[unsafe(method(takeSelectedIndexFrom:))]
143        #[unsafe(method_family = none)]
144        pub unsafe fn takeSelectedIndexFrom(&self, sender: Option<&AnyObject>);
145    );
146}
147
148/// Methods declared on superclass `NSViewController`.
149#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
150impl NSPageController {
151    extern_methods!(
152        #[cfg(feature = "NSNib")]
153        #[unsafe(method(initWithNibName:bundle:))]
154        #[unsafe(method_family = init)]
155        pub unsafe fn initWithNibName_bundle(
156            this: Allocated<Self>,
157            nib_name_or_nil: Option<&NSNibName>,
158            nib_bundle_or_nil: Option<&NSBundle>,
159        ) -> Retained<Self>;
160
161        #[unsafe(method(initWithCoder:))]
162        #[unsafe(method_family = init)]
163        pub unsafe fn initWithCoder(
164            this: Allocated<Self>,
165            coder: &NSCoder,
166        ) -> Option<Retained<Self>>;
167    );
168}
169
170/// Methods declared on superclass `NSResponder`.
171#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
172impl NSPageController {
173    extern_methods!(
174        #[unsafe(method(init))]
175        #[unsafe(method_family = init)]
176        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
177    );
178}
179
180/// Methods declared on superclass `NSObject`.
181#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
182impl NSPageController {
183    extern_methods!(
184        #[unsafe(method(new))]
185        #[unsafe(method_family = new)]
186        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
187    );
188}
189
190extern_protocol!(
191    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nspagecontrollerdelegate?language=objc)
192    pub unsafe trait NSPageControllerDelegate: NSObjectProtocol + MainThreadOnly {
193        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
194        #[optional]
195        #[unsafe(method(pageController:identifierForObject:))]
196        #[unsafe(method_family = none)]
197        unsafe fn pageController_identifierForObject(
198            &self,
199            page_controller: &NSPageController,
200            object: &AnyObject,
201        ) -> Retained<NSPageControllerObjectIdentifier>;
202
203        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
204        #[optional]
205        #[unsafe(method(pageController:viewControllerForIdentifier:))]
206        #[unsafe(method_family = none)]
207        unsafe fn pageController_viewControllerForIdentifier(
208            &self,
209            page_controller: &NSPageController,
210            identifier: &NSPageControllerObjectIdentifier,
211        ) -> Retained<NSViewController>;
212
213        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
214        #[optional]
215        #[unsafe(method(pageController:frameForObject:))]
216        #[unsafe(method_family = none)]
217        unsafe fn pageController_frameForObject(
218            &self,
219            page_controller: &NSPageController,
220            object: Option<&AnyObject>,
221        ) -> NSRect;
222
223        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
224        #[optional]
225        #[unsafe(method(pageController:prepareViewController:withObject:))]
226        #[unsafe(method_family = none)]
227        unsafe fn pageController_prepareViewController_withObject(
228            &self,
229            page_controller: &NSPageController,
230            view_controller: &NSViewController,
231            object: Option<&AnyObject>,
232        );
233
234        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
235        #[optional]
236        #[unsafe(method(pageController:didTransitionToObject:))]
237        #[unsafe(method_family = none)]
238        unsafe fn pageController_didTransitionToObject(
239            &self,
240            page_controller: &NSPageController,
241            object: &AnyObject,
242        );
243
244        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
245        #[optional]
246        #[unsafe(method(pageControllerWillStartLiveTransition:))]
247        #[unsafe(method_family = none)]
248        unsafe fn pageControllerWillStartLiveTransition(&self, page_controller: &NSPageController);
249
250        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
251        #[optional]
252        #[unsafe(method(pageControllerDidEndLiveTransition:))]
253        #[unsafe(method_family = none)]
254        unsafe fn pageControllerDidEndLiveTransition(&self, page_controller: &NSPageController);
255    }
256);