objc2_app_kit/generated/
NSDocumentController.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
10extern_class!(
11    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsdocumentcontroller?language=objc)
12    #[unsafe(super(NSObject))]
13    #[thread_kind = MainThreadOnly]
14    #[derive(Debug, PartialEq, Eq, Hash)]
15    pub struct NSDocumentController;
16);
17
18extern_conformance!(
19    unsafe impl NSCoding for NSDocumentController {}
20);
21
22#[cfg(feature = "NSMenu")]
23extern_conformance!(
24    unsafe impl NSMenuItemValidation for NSDocumentController {}
25);
26
27extern_conformance!(
28    unsafe impl NSObjectProtocol for NSDocumentController {}
29);
30
31#[cfg(feature = "NSUserInterfaceValidation")]
32extern_conformance!(
33    unsafe impl NSUserInterfaceValidations for NSDocumentController {}
34);
35
36impl NSDocumentController {
37    extern_methods!(
38        #[unsafe(method(sharedDocumentController))]
39        #[unsafe(method_family = none)]
40        pub unsafe fn sharedDocumentController(
41            mtm: MainThreadMarker,
42        ) -> Retained<NSDocumentController>;
43
44        #[unsafe(method(init))]
45        #[unsafe(method_family = init)]
46        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
47
48        #[unsafe(method(initWithCoder:))]
49        #[unsafe(method_family = init)]
50        pub unsafe fn initWithCoder(
51            this: Allocated<Self>,
52            coder: &NSCoder,
53        ) -> Option<Retained<Self>>;
54
55        #[cfg(feature = "NSDocument")]
56        #[unsafe(method(documents))]
57        #[unsafe(method_family = none)]
58        pub unsafe fn documents(&self) -> Retained<NSArray<NSDocument>>;
59
60        #[cfg(feature = "NSDocument")]
61        #[unsafe(method(currentDocument))]
62        #[unsafe(method_family = none)]
63        pub unsafe fn currentDocument(&self) -> Option<Retained<NSDocument>>;
64
65        #[unsafe(method(currentDirectory))]
66        #[unsafe(method_family = none)]
67        pub unsafe fn currentDirectory(&self) -> Option<Retained<NSString>>;
68
69        #[cfg(feature = "NSDocument")]
70        #[unsafe(method(documentForURL:))]
71        #[unsafe(method_family = none)]
72        pub unsafe fn documentForURL(&self, url: &NSURL) -> Option<Retained<NSDocument>>;
73
74        #[cfg(all(feature = "NSDocument", feature = "NSResponder", feature = "NSWindow"))]
75        #[unsafe(method(documentForWindow:))]
76        #[unsafe(method_family = none)]
77        pub unsafe fn documentForWindow(&self, window: &NSWindow) -> Option<Retained<NSDocument>>;
78
79        #[cfg(feature = "NSDocument")]
80        #[unsafe(method(addDocument:))]
81        #[unsafe(method_family = none)]
82        pub unsafe fn addDocument(&self, document: &NSDocument);
83
84        #[cfg(feature = "NSDocument")]
85        #[unsafe(method(removeDocument:))]
86        #[unsafe(method_family = none)]
87        pub unsafe fn removeDocument(&self, document: &NSDocument);
88
89        #[unsafe(method(newDocument:))]
90        #[unsafe(method_family = none)]
91        pub unsafe fn newDocument(&self, sender: Option<&AnyObject>);
92
93        #[cfg(feature = "NSDocument")]
94        #[unsafe(method(openUntitledDocumentAndDisplay:error:_))]
95        #[unsafe(method_family = none)]
96        pub unsafe fn openUntitledDocumentAndDisplay_error(
97            &self,
98            display_document: bool,
99        ) -> Result<Retained<NSDocument>, Retained<NSError>>;
100
101        #[cfg(feature = "NSDocument")]
102        #[unsafe(method(makeUntitledDocumentOfType:error:_))]
103        #[unsafe(method_family = none)]
104        pub unsafe fn makeUntitledDocumentOfType_error(
105            &self,
106            type_name: &NSString,
107        ) -> Result<Retained<NSDocument>, Retained<NSError>>;
108
109        #[unsafe(method(openDocument:))]
110        #[unsafe(method_family = none)]
111        pub unsafe fn openDocument(&self, sender: Option<&AnyObject>);
112
113        #[unsafe(method(URLsFromRunningOpenPanel))]
114        #[unsafe(method_family = none)]
115        pub unsafe fn URLsFromRunningOpenPanel(&self) -> Option<Retained<NSArray<NSURL>>>;
116
117        #[cfg(all(
118            feature = "NSOpenPanel",
119            feature = "NSPanel",
120            feature = "NSResponder",
121            feature = "NSSavePanel",
122            feature = "NSWindow"
123        ))]
124        #[unsafe(method(runModalOpenPanel:forTypes:))]
125        #[unsafe(method_family = none)]
126        pub unsafe fn runModalOpenPanel_forTypes(
127            &self,
128            open_panel: &NSOpenPanel,
129            types: Option<&NSArray<NSString>>,
130        ) -> NSInteger;
131
132        #[cfg(feature = "block2")]
133        #[unsafe(method(beginOpenPanelWithCompletionHandler:))]
134        #[unsafe(method_family = none)]
135        pub unsafe fn beginOpenPanelWithCompletionHandler(
136            &self,
137            completion_handler: &block2::DynBlock<dyn Fn(*mut NSArray<NSURL>)>,
138        );
139
140        #[cfg(all(
141            feature = "NSOpenPanel",
142            feature = "NSPanel",
143            feature = "NSResponder",
144            feature = "NSSavePanel",
145            feature = "NSWindow",
146            feature = "block2"
147        ))]
148        #[unsafe(method(beginOpenPanel:forTypes:completionHandler:))]
149        #[unsafe(method_family = none)]
150        pub unsafe fn beginOpenPanel_forTypes_completionHandler(
151            &self,
152            open_panel: &NSOpenPanel,
153            in_types: Option<&NSArray<NSString>>,
154            completion_handler: &block2::DynBlock<dyn Fn(NSInteger)>,
155        );
156
157        #[cfg(all(feature = "NSDocument", feature = "block2"))]
158        #[unsafe(method(openDocumentWithContentsOfURL:display:completionHandler:))]
159        #[unsafe(method_family = none)]
160        pub unsafe fn openDocumentWithContentsOfURL_display_completionHandler(
161            &self,
162            url: &NSURL,
163            display_document: bool,
164            completion_handler: &block2::DynBlock<dyn Fn(*mut NSDocument, Bool, *mut NSError)>,
165        );
166
167        #[cfg(feature = "NSDocument")]
168        #[unsafe(method(makeDocumentWithContentsOfURL:ofType:error:_))]
169        #[unsafe(method_family = none)]
170        pub unsafe fn makeDocumentWithContentsOfURL_ofType_error(
171            &self,
172            url: &NSURL,
173            type_name: &NSString,
174        ) -> Result<Retained<NSDocument>, Retained<NSError>>;
175
176        #[cfg(all(feature = "NSDocument", feature = "block2"))]
177        #[unsafe(method(reopenDocumentForURL:withContentsOfURL:display:completionHandler:))]
178        #[unsafe(method_family = none)]
179        pub unsafe fn reopenDocumentForURL_withContentsOfURL_display_completionHandler(
180            &self,
181            url_or_nil: Option<&NSURL>,
182            contents_url: &NSURL,
183            display_document: bool,
184            completion_handler: &block2::DynBlock<dyn Fn(*mut NSDocument, Bool, *mut NSError)>,
185        );
186
187        #[cfg(feature = "NSDocument")]
188        #[unsafe(method(makeDocumentForURL:withContentsOfURL:ofType:error:_))]
189        #[unsafe(method_family = none)]
190        pub unsafe fn makeDocumentForURL_withContentsOfURL_ofType_error(
191            &self,
192            url_or_nil: Option<&NSURL>,
193            contents_url: &NSURL,
194            type_name: &NSString,
195        ) -> Result<Retained<NSDocument>, Retained<NSError>>;
196
197        #[unsafe(method(autosavingDelay))]
198        #[unsafe(method_family = none)]
199        pub unsafe fn autosavingDelay(&self) -> NSTimeInterval;
200
201        /// Setter for [`autosavingDelay`][Self::autosavingDelay].
202        #[unsafe(method(setAutosavingDelay:))]
203        #[unsafe(method_family = none)]
204        pub unsafe fn setAutosavingDelay(&self, autosaving_delay: NSTimeInterval);
205
206        #[unsafe(method(saveAllDocuments:))]
207        #[unsafe(method_family = none)]
208        pub unsafe fn saveAllDocuments(&self, sender: Option<&AnyObject>);
209
210        #[unsafe(method(hasEditedDocuments))]
211        #[unsafe(method_family = none)]
212        pub unsafe fn hasEditedDocuments(&self) -> bool;
213
214        #[unsafe(method(reviewUnsavedDocumentsWithAlertTitle:cancellable:delegate:didReviewAllSelector:contextInfo:))]
215        #[unsafe(method_family = none)]
216        pub unsafe fn reviewUnsavedDocumentsWithAlertTitle_cancellable_delegate_didReviewAllSelector_contextInfo(
217            &self,
218            title: Option<&NSString>,
219            cancellable: bool,
220            delegate: Option<&AnyObject>,
221            did_review_all_selector: Option<Sel>,
222            context_info: *mut c_void,
223        );
224
225        #[unsafe(method(closeAllDocumentsWithDelegate:didCloseAllSelector:contextInfo:))]
226        #[unsafe(method_family = none)]
227        pub unsafe fn closeAllDocumentsWithDelegate_didCloseAllSelector_contextInfo(
228            &self,
229            delegate: Option<&AnyObject>,
230            did_close_all_selector: Option<Sel>,
231            context_info: *mut c_void,
232        );
233
234        #[cfg(feature = "NSDocument")]
235        #[unsafe(method(duplicateDocumentWithContentsOfURL:copying:displayName:error:_))]
236        #[unsafe(method_family = none)]
237        pub unsafe fn duplicateDocumentWithContentsOfURL_copying_displayName_error(
238            &self,
239            url: &NSURL,
240            duplicate_by_copying: bool,
241            display_name_or_nil: Option<&NSString>,
242        ) -> Result<Retained<NSDocument>, Retained<NSError>>;
243
244        #[unsafe(method(allowsAutomaticShareMenu))]
245        #[unsafe(method_family = none)]
246        pub unsafe fn allowsAutomaticShareMenu(&self) -> bool;
247
248        #[cfg(feature = "NSMenuItem")]
249        #[unsafe(method(standardShareMenuItem))]
250        #[unsafe(method_family = none)]
251        pub unsafe fn standardShareMenuItem(&self) -> Retained<NSMenuItem>;
252
253        #[cfg(all(feature = "NSResponder", feature = "NSWindow"))]
254        #[unsafe(method(presentError:modalForWindow:delegate:didPresentSelector:contextInfo:))]
255        #[unsafe(method_family = none)]
256        pub unsafe fn presentError_modalForWindow_delegate_didPresentSelector_contextInfo(
257            &self,
258            error: &NSError,
259            window: &NSWindow,
260            delegate: Option<&AnyObject>,
261            did_present_selector: Option<Sel>,
262            context_info: *mut c_void,
263        );
264
265        #[unsafe(method(presentError:))]
266        #[unsafe(method_family = none)]
267        pub unsafe fn presentError(&self, error: &NSError) -> bool;
268
269        #[unsafe(method(willPresentError:))]
270        #[unsafe(method_family = none)]
271        pub unsafe fn willPresentError(&self, error: &NSError) -> Retained<NSError>;
272
273        #[unsafe(method(maximumRecentDocumentCount))]
274        #[unsafe(method_family = none)]
275        pub unsafe fn maximumRecentDocumentCount(&self) -> NSUInteger;
276
277        #[unsafe(method(clearRecentDocuments:))]
278        #[unsafe(method_family = none)]
279        pub unsafe fn clearRecentDocuments(&self, sender: Option<&AnyObject>);
280
281        #[cfg(feature = "NSDocument")]
282        #[unsafe(method(noteNewRecentDocument:))]
283        #[unsafe(method_family = none)]
284        pub unsafe fn noteNewRecentDocument(&self, document: &NSDocument);
285
286        #[unsafe(method(noteNewRecentDocumentURL:))]
287        #[unsafe(method_family = none)]
288        pub unsafe fn noteNewRecentDocumentURL(&self, url: &NSURL);
289
290        #[unsafe(method(recentDocumentURLs))]
291        #[unsafe(method_family = none)]
292        pub unsafe fn recentDocumentURLs(&self) -> Retained<NSArray<NSURL>>;
293
294        #[unsafe(method(defaultType))]
295        #[unsafe(method_family = none)]
296        pub unsafe fn defaultType(&self) -> Option<Retained<NSString>>;
297
298        #[unsafe(method(typeForContentsOfURL:error:_))]
299        #[unsafe(method_family = none)]
300        pub unsafe fn typeForContentsOfURL_error(
301            &self,
302            url: &NSURL,
303        ) -> Result<Retained<NSString>, Retained<NSError>>;
304
305        #[unsafe(method(documentClassNames))]
306        #[unsafe(method_family = none)]
307        pub unsafe fn documentClassNames(&self) -> Retained<NSArray<NSString>>;
308
309        #[unsafe(method(documentClassForType:))]
310        #[unsafe(method_family = none)]
311        pub unsafe fn documentClassForType(
312            &self,
313            type_name: &NSString,
314        ) -> Option<&'static AnyClass>;
315
316        #[unsafe(method(displayNameForType:))]
317        #[unsafe(method_family = none)]
318        pub unsafe fn displayNameForType(&self, type_name: &NSString)
319            -> Option<Retained<NSString>>;
320
321        #[cfg(feature = "NSUserInterfaceValidation")]
322        #[unsafe(method(validateUserInterfaceItem:))]
323        #[unsafe(method_family = none)]
324        pub unsafe fn validateUserInterfaceItem(
325            &self,
326            item: &ProtocolObject<dyn NSValidatedUserInterfaceItem>,
327        ) -> bool;
328    );
329}
330
331/// Methods declared on superclass `NSObject`.
332impl NSDocumentController {
333    extern_methods!(
334        #[unsafe(method(new))]
335        #[unsafe(method_family = new)]
336        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
337    );
338}
339
340/// NSDeprecated.
341impl NSDocumentController {
342    extern_methods!(
343        #[deprecated = "Use -openDocumentWithContentsOfURL:display:completionHandler: instead"]
344        #[unsafe(method(openDocumentWithContentsOfURL:display:error:_))]
345        #[unsafe(method_family = none)]
346        pub unsafe fn openDocumentWithContentsOfURL_display_error(
347            &self,
348            url: &NSURL,
349            display_document: bool,
350        ) -> Result<Retained<AnyObject>, Retained<NSError>>;
351
352        #[deprecated = "Use -reopenDocumentForURL:withContentsOfURL:display:completionHandler: instead"]
353        #[unsafe(method(reopenDocumentForURL:withContentsOfURL:error:_))]
354        #[unsafe(method_family = none)]
355        pub unsafe fn reopenDocumentForURL_withContentsOfURL_error(
356            &self,
357            url: Option<&NSURL>,
358            contents_url: &NSURL,
359        ) -> Result<(), Retained<NSError>>;
360
361        #[deprecated]
362        #[unsafe(method(fileExtensionsFromType:))]
363        #[unsafe(method_family = none)]
364        pub unsafe fn fileExtensionsFromType(
365            &self,
366            type_name: &NSString,
367        ) -> Option<Retained<NSArray>>;
368
369        #[deprecated]
370        #[unsafe(method(typeFromFileExtension:))]
371        #[unsafe(method_family = none)]
372        pub unsafe fn typeFromFileExtension(
373            &self,
374            file_name_extension_or_hfs_file_type: &NSString,
375        ) -> Option<Retained<NSString>>;
376
377        #[deprecated]
378        #[unsafe(method(documentForFileName:))]
379        #[unsafe(method_family = none)]
380        pub unsafe fn documentForFileName(
381            &self,
382            file_name: &NSString,
383        ) -> Option<Retained<AnyObject>>;
384
385        #[deprecated]
386        #[unsafe(method(fileNamesFromRunningOpenPanel))]
387        #[unsafe(method_family = none)]
388        pub unsafe fn fileNamesFromRunningOpenPanel(&self) -> Option<Retained<NSArray>>;
389
390        #[deprecated]
391        #[unsafe(method(makeDocumentWithContentsOfFile:ofType:))]
392        #[unsafe(method_family = none)]
393        pub unsafe fn makeDocumentWithContentsOfFile_ofType(
394            &self,
395            file_name: &NSString,
396            r#type: &NSString,
397        ) -> Option<Retained<AnyObject>>;
398
399        #[deprecated]
400        #[unsafe(method(makeDocumentWithContentsOfURL:ofType:))]
401        #[unsafe(method_family = none)]
402        pub unsafe fn makeDocumentWithContentsOfURL_ofType(
403            &self,
404            url: &NSURL,
405            r#type: Option<&NSString>,
406        ) -> Option<Retained<AnyObject>>;
407
408        #[deprecated]
409        #[unsafe(method(makeUntitledDocumentOfType:))]
410        #[unsafe(method_family = none)]
411        pub unsafe fn makeUntitledDocumentOfType(
412            &self,
413            r#type: &NSString,
414        ) -> Option<Retained<AnyObject>>;
415
416        #[deprecated]
417        #[unsafe(method(openDocumentWithContentsOfFile:display:))]
418        #[unsafe(method_family = none)]
419        pub unsafe fn openDocumentWithContentsOfFile_display(
420            &self,
421            file_name: &NSString,
422            display: bool,
423        ) -> Option<Retained<AnyObject>>;
424
425        #[deprecated]
426        #[unsafe(method(openDocumentWithContentsOfURL:display:))]
427        #[unsafe(method_family = none)]
428        pub unsafe fn openDocumentWithContentsOfURL_display(
429            &self,
430            url: &NSURL,
431            display: bool,
432        ) -> Option<Retained<AnyObject>>;
433
434        #[deprecated]
435        #[unsafe(method(openUntitledDocumentOfType:display:))]
436        #[unsafe(method_family = none)]
437        pub unsafe fn openUntitledDocumentOfType_display(
438            &self,
439            r#type: &NSString,
440            display: bool,
441        ) -> Option<Retained<AnyObject>>;
442
443        #[deprecated]
444        #[unsafe(method(setShouldCreateUI:))]
445        #[unsafe(method_family = none)]
446        pub unsafe fn setShouldCreateUI(&self, flag: bool);
447
448        #[deprecated]
449        #[unsafe(method(shouldCreateUI))]
450        #[unsafe(method_family = none)]
451        pub unsafe fn shouldCreateUI(&self) -> bool;
452    );
453}