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))]
48extern_conformance!(
49    unsafe impl NSAnimatablePropertyContainer for NSPageController {}
50);
51
52#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
53extern_conformance!(
54    unsafe impl NSCoding for NSPageController {}
55);
56
57#[cfg(all(
58    feature = "NSKeyValueBinding",
59    feature = "NSResponder",
60    feature = "NSViewController"
61))]
62extern_conformance!(
63    unsafe impl NSEditor for NSPageController {}
64);
65
66#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
67extern_conformance!(
68    unsafe impl NSObjectProtocol for NSPageController {}
69);
70
71#[cfg(all(
72    feature = "NSResponder",
73    feature = "NSStoryboardSegue",
74    feature = "NSViewController"
75))]
76extern_conformance!(
77    unsafe impl NSSeguePerforming for NSPageController {}
78);
79
80#[cfg(all(
81    feature = "NSResponder",
82    feature = "NSUserInterfaceItemIdentification",
83    feature = "NSViewController"
84))]
85extern_conformance!(
86    unsafe impl NSUserInterfaceItemIdentification for NSPageController {}
87);
88
89#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
90impl NSPageController {
91    extern_methods!(
92        #[unsafe(method(delegate))]
93        #[unsafe(method_family = none)]
94        pub fn delegate(&self) -> Option<Retained<ProtocolObject<dyn NSPageControllerDelegate>>>;
95
96        /// Setter for [`delegate`][Self::delegate].
97        ///
98        /// This is a [weak property][objc2::topics::weak_property].
99        #[unsafe(method(setDelegate:))]
100        #[unsafe(method_family = none)]
101        pub fn setDelegate(&self, delegate: Option<&ProtocolObject<dyn NSPageControllerDelegate>>);
102
103        #[unsafe(method(selectedViewController))]
104        #[unsafe(method_family = none)]
105        pub fn selectedViewController(&self) -> Option<Retained<NSViewController>>;
106
107        #[unsafe(method(transitionStyle))]
108        #[unsafe(method_family = none)]
109        pub fn transitionStyle(&self) -> NSPageControllerTransitionStyle;
110
111        /// Setter for [`transitionStyle`][Self::transitionStyle].
112        #[unsafe(method(setTransitionStyle:))]
113        #[unsafe(method_family = none)]
114        pub fn setTransitionStyle(&self, transition_style: NSPageControllerTransitionStyle);
115
116        #[unsafe(method(arrangedObjects))]
117        #[unsafe(method_family = none)]
118        pub fn arrangedObjects(&self) -> Retained<NSArray>;
119
120        /// Setter for [`arrangedObjects`][Self::arrangedObjects].
121        ///
122        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
123        ///
124        /// # Safety
125        ///
126        /// `arranged_objects` generic should be of the correct type.
127        #[unsafe(method(setArrangedObjects:))]
128        #[unsafe(method_family = none)]
129        pub unsafe fn setArrangedObjects(&self, arranged_objects: &NSArray);
130
131        #[unsafe(method(selectedIndex))]
132        #[unsafe(method_family = none)]
133        pub fn selectedIndex(&self) -> NSInteger;
134
135        /// Setter for [`selectedIndex`][Self::selectedIndex].
136        #[unsafe(method(setSelectedIndex:))]
137        #[unsafe(method_family = none)]
138        pub fn setSelectedIndex(&self, selected_index: NSInteger);
139
140        /// # Safety
141        ///
142        /// `object` should be of the correct type.
143        #[unsafe(method(navigateForwardToObject:))]
144        #[unsafe(method_family = none)]
145        pub unsafe fn navigateForwardToObject(&self, object: &AnyObject);
146
147        #[unsafe(method(completeTransition))]
148        #[unsafe(method_family = none)]
149        pub fn completeTransition(&self);
150
151        /// # Safety
152        ///
153        /// `sender` should be of the correct type.
154        #[unsafe(method(navigateBack:))]
155        #[unsafe(method_family = none)]
156        pub unsafe fn navigateBack(&self, sender: Option<&AnyObject>);
157
158        /// # Safety
159        ///
160        /// `sender` should be of the correct type.
161        #[unsafe(method(navigateForward:))]
162        #[unsafe(method_family = none)]
163        pub unsafe fn navigateForward(&self, sender: Option<&AnyObject>);
164
165        /// # Safety
166        ///
167        /// `sender` should be of the correct type.
168        #[unsafe(method(takeSelectedIndexFrom:))]
169        #[unsafe(method_family = none)]
170        pub unsafe fn takeSelectedIndexFrom(&self, sender: Option<&AnyObject>);
171    );
172}
173
174/// Methods declared on superclass `NSViewController`.
175#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
176impl NSPageController {
177    extern_methods!(
178        #[cfg(feature = "NSNib")]
179        #[unsafe(method(initWithNibName:bundle:))]
180        #[unsafe(method_family = init)]
181        pub fn initWithNibName_bundle(
182            this: Allocated<Self>,
183            nib_name_or_nil: Option<&NSNibName>,
184            nib_bundle_or_nil: Option<&NSBundle>,
185        ) -> Retained<Self>;
186
187        /// # Safety
188        ///
189        /// `coder` possibly has further requirements.
190        #[unsafe(method(initWithCoder:))]
191        #[unsafe(method_family = init)]
192        pub unsafe fn initWithCoder(
193            this: Allocated<Self>,
194            coder: &NSCoder,
195        ) -> Option<Retained<Self>>;
196    );
197}
198
199/// Methods declared on superclass `NSResponder`.
200#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
201impl NSPageController {
202    extern_methods!(
203        #[unsafe(method(init))]
204        #[unsafe(method_family = init)]
205        pub fn init(this: Allocated<Self>) -> Retained<Self>;
206    );
207}
208
209/// Methods declared on superclass `NSObject`.
210#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
211impl NSPageController {
212    extern_methods!(
213        #[unsafe(method(new))]
214        #[unsafe(method_family = new)]
215        pub fn new(mtm: MainThreadMarker) -> Retained<Self>;
216    );
217}
218
219extern_protocol!(
220    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nspagecontrollerdelegate?language=objc)
221    pub unsafe trait NSPageControllerDelegate: NSObjectProtocol + MainThreadOnly {
222        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
223        /// # Safety
224        ///
225        /// `object` should be of the correct type.
226        #[optional]
227        #[unsafe(method(pageController:identifierForObject:))]
228        #[unsafe(method_family = none)]
229        unsafe fn pageController_identifierForObject(
230            &self,
231            page_controller: &NSPageController,
232            object: &AnyObject,
233        ) -> Retained<NSPageControllerObjectIdentifier>;
234
235        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
236        #[optional]
237        #[unsafe(method(pageController:viewControllerForIdentifier:))]
238        #[unsafe(method_family = none)]
239        fn pageController_viewControllerForIdentifier(
240            &self,
241            page_controller: &NSPageController,
242            identifier: &NSPageControllerObjectIdentifier,
243        ) -> Retained<NSViewController>;
244
245        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
246        /// # Safety
247        ///
248        /// `object` should be of the correct type.
249        #[optional]
250        #[unsafe(method(pageController:frameForObject:))]
251        #[unsafe(method_family = none)]
252        unsafe fn pageController_frameForObject(
253            &self,
254            page_controller: &NSPageController,
255            object: Option<&AnyObject>,
256        ) -> NSRect;
257
258        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
259        /// # Safety
260        ///
261        /// `object` should be of the correct type.
262        #[optional]
263        #[unsafe(method(pageController:prepareViewController:withObject:))]
264        #[unsafe(method_family = none)]
265        unsafe fn pageController_prepareViewController_withObject(
266            &self,
267            page_controller: &NSPageController,
268            view_controller: &NSViewController,
269            object: Option<&AnyObject>,
270        );
271
272        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
273        /// # Safety
274        ///
275        /// `object` should be of the correct type.
276        #[optional]
277        #[unsafe(method(pageController:didTransitionToObject:))]
278        #[unsafe(method_family = none)]
279        unsafe fn pageController_didTransitionToObject(
280            &self,
281            page_controller: &NSPageController,
282            object: &AnyObject,
283        );
284
285        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
286        #[optional]
287        #[unsafe(method(pageControllerWillStartLiveTransition:))]
288        #[unsafe(method_family = none)]
289        fn pageControllerWillStartLiveTransition(&self, page_controller: &NSPageController);
290
291        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
292        #[optional]
293        #[unsafe(method(pageControllerDidEndLiveTransition:))]
294        #[unsafe(method_family = none)]
295        fn pageControllerDidEndLiveTransition(&self, page_controller: &NSPageController);
296    }
297);