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