objc2_app_kit/generated/
NSPageController.rs1use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10pub type NSPageControllerObjectIdentifier = NSString;
12
13#[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 #[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 #[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 #[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 #[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 #[unsafe(method(setSelectedIndex:))]
137 #[unsafe(method_family = none)]
138 pub fn setSelectedIndex(&self, selected_index: NSInteger);
139
140 #[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 #[unsafe(method(navigateBack:))]
155 #[unsafe(method_family = none)]
156 pub unsafe fn navigateBack(&self, sender: Option<&AnyObject>);
157
158 #[unsafe(method(navigateForward:))]
162 #[unsafe(method_family = none)]
163 pub unsafe fn navigateForward(&self, sender: Option<&AnyObject>);
164
165 #[unsafe(method(takeSelectedIndexFrom:))]
169 #[unsafe(method_family = none)]
170 pub unsafe fn takeSelectedIndexFrom(&self, sender: Option<&AnyObject>);
171 );
172}
173
174#[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 #[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#[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#[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 pub unsafe trait NSPageControllerDelegate: NSObjectProtocol + MainThreadOnly {
222 #[cfg(all(feature = "NSResponder", feature = "NSViewController"))]
223 #[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 #[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 #[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 #[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);