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 unsafe fn delegate(
95            &self,
96        ) -> Option<Retained<ProtocolObject<dyn NSPageControllerDelegate>>>;
97
98        /// This is a [weak property][objc2::topics::weak_property].
99        /// Setter for [`delegate`][Self::delegate].
100        #[unsafe(method(setDelegate:))]
101        #[unsafe(method_family = none)]
102        pub unsafe fn setDelegate(
103            &self,
104            delegate: Option<&ProtocolObject<dyn NSPageControllerDelegate>>,
105        );
106
107        #[unsafe(method(selectedViewController))]
108        #[unsafe(method_family = none)]
109        pub unsafe fn selectedViewController(&self) -> Option<Retained<NSViewController>>;
110
111        #[unsafe(method(transitionStyle))]
112        #[unsafe(method_family = none)]
113        pub unsafe fn transitionStyle(&self) -> NSPageControllerTransitionStyle;
114
115        /// Setter for [`transitionStyle`][Self::transitionStyle].
116        #[unsafe(method(setTransitionStyle:))]
117        #[unsafe(method_family = none)]
118        pub unsafe fn setTransitionStyle(&self, transition_style: NSPageControllerTransitionStyle);
119
120        #[unsafe(method(arrangedObjects))]
121        #[unsafe(method_family = none)]
122        pub unsafe fn arrangedObjects(&self) -> Retained<NSArray>;
123
124        /// Setter for [`arrangedObjects`][Self::arrangedObjects].
125        #[unsafe(method(setArrangedObjects:))]
126        #[unsafe(method_family = none)]
127        pub unsafe fn setArrangedObjects(&self, arranged_objects: &NSArray);
128
129        #[unsafe(method(selectedIndex))]
130        #[unsafe(method_family = none)]
131        pub unsafe fn selectedIndex(&self) -> NSInteger;
132
133        /// Setter for [`selectedIndex`][Self::selectedIndex].
134        #[unsafe(method(setSelectedIndex:))]
135        #[unsafe(method_family = none)]
136        pub unsafe fn setSelectedIndex(&self, selected_index: NSInteger);
137
138        #[unsafe(method(navigateForwardToObject:))]
139        #[unsafe(method_family = none)]
140        pub unsafe fn navigateForwardToObject(&self, object: &AnyObject);
141
142        #[unsafe(method(completeTransition))]
143        #[unsafe(method_family = none)]
144        pub unsafe fn completeTransition(&self);
145
146        #[unsafe(method(navigateBack:))]
147        #[unsafe(method_family = none)]
148        pub unsafe fn navigateBack(&self, sender: Option<&AnyObject>);
149
150        #[unsafe(method(navigateForward:))]
151        #[unsafe(method_family = none)]
152        pub unsafe fn navigateForward(&self, sender: Option<&AnyObject>);
153
154        #[unsafe(method(takeSelectedIndexFrom:))]
155        #[unsafe(method_family = none)]
156        pub unsafe fn takeSelectedIndexFrom(&self, sender: Option<&AnyObject>);
157    );
158}
159
160/// Methods declared on superclass `NSViewController`.
161#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
162impl NSPageController {
163    extern_methods!(
164        #[cfg(feature = "NSNib")]
165        #[unsafe(method(initWithNibName:bundle:))]
166        #[unsafe(method_family = init)]
167        pub unsafe fn initWithNibName_bundle(
168            this: Allocated<Self>,
169            nib_name_or_nil: Option<&NSNibName>,
170            nib_bundle_or_nil: Option<&NSBundle>,
171        ) -> Retained<Self>;
172
173        #[unsafe(method(initWithCoder:))]
174        #[unsafe(method_family = init)]
175        pub unsafe fn initWithCoder(
176            this: Allocated<Self>,
177            coder: &NSCoder,
178        ) -> Option<Retained<Self>>;
179    );
180}
181
182/// Methods declared on superclass `NSResponder`.
183#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
184impl NSPageController {
185    extern_methods!(
186        #[unsafe(method(init))]
187        #[unsafe(method_family = init)]
188        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
189    );
190}
191
192/// Methods declared on superclass `NSObject`.
193#[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
194impl NSPageController {
195    extern_methods!(
196        #[unsafe(method(new))]
197        #[unsafe(method_family = new)]
198        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
199    );
200}
201
202extern_protocol!(
203    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nspagecontrollerdelegate?language=objc)
204    pub unsafe trait NSPageControllerDelegate: NSObjectProtocol + MainThreadOnly {
205        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
206        #[optional]
207        #[unsafe(method(pageController:identifierForObject:))]
208        #[unsafe(method_family = none)]
209        unsafe fn pageController_identifierForObject(
210            &self,
211            page_controller: &NSPageController,
212            object: &AnyObject,
213        ) -> Retained<NSPageControllerObjectIdentifier>;
214
215        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
216        #[optional]
217        #[unsafe(method(pageController:viewControllerForIdentifier:))]
218        #[unsafe(method_family = none)]
219        unsafe fn pageController_viewControllerForIdentifier(
220            &self,
221            page_controller: &NSPageController,
222            identifier: &NSPageControllerObjectIdentifier,
223        ) -> Retained<NSViewController>;
224
225        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
226        #[optional]
227        #[unsafe(method(pageController:frameForObject:))]
228        #[unsafe(method_family = none)]
229        unsafe fn pageController_frameForObject(
230            &self,
231            page_controller: &NSPageController,
232            object: Option<&AnyObject>,
233        ) -> NSRect;
234
235        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
236        #[optional]
237        #[unsafe(method(pageController:prepareViewController:withObject:))]
238        #[unsafe(method_family = none)]
239        unsafe fn pageController_prepareViewController_withObject(
240            &self,
241            page_controller: &NSPageController,
242            view_controller: &NSViewController,
243            object: Option<&AnyObject>,
244        );
245
246        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
247        #[optional]
248        #[unsafe(method(pageController:didTransitionToObject:))]
249        #[unsafe(method_family = none)]
250        unsafe fn pageController_didTransitionToObject(
251            &self,
252            page_controller: &NSPageController,
253            object: &AnyObject,
254        );
255
256        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
257        #[optional]
258        #[unsafe(method(pageControllerWillStartLiveTransition:))]
259        #[unsafe(method_family = none)]
260        unsafe fn pageControllerWillStartLiveTransition(&self, page_controller: &NSPageController);
261
262        #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
263        #[optional]
264        #[unsafe(method(pageControllerDidEndLiveTransition:))]
265        #[unsafe(method_family = none)]
266        unsafe fn pageControllerDidEndLiveTransition(&self, page_controller: &NSPageController);
267    }
268);