objc2_app_kit/generated/
NSComboBox.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::*;
6#[cfg(feature = "objc2-core-foundation")]
7use objc2_core_foundation::*;
8use objc2_foundation::*;
9
10use crate::*;
11
12extern "C" {
13    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nscomboboxwillpopupnotification?language=objc)
14    pub static NSComboBoxWillPopUpNotification: &'static NSNotificationName;
15}
16
17extern "C" {
18    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nscomboboxwilldismissnotification?language=objc)
19    pub static NSComboBoxWillDismissNotification: &'static NSNotificationName;
20}
21
22extern "C" {
23    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nscomboboxselectiondidchangenotification?language=objc)
24    pub static NSComboBoxSelectionDidChangeNotification: &'static NSNotificationName;
25}
26
27extern "C" {
28    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nscomboboxselectionischangingnotification?language=objc)
29    pub static NSComboBoxSelectionIsChangingNotification: &'static NSNotificationName;
30}
31
32extern_protocol!(
33    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nscomboboxdatasource?language=objc)
34    pub unsafe trait NSComboBoxDataSource: NSObjectProtocol + MainThreadOnly {
35        #[cfg(all(
36            feature = "NSControl",
37            feature = "NSResponder",
38            feature = "NSTextField",
39            feature = "NSView"
40        ))]
41        #[optional]
42        #[unsafe(method(numberOfItemsInComboBox:))]
43        #[unsafe(method_family = none)]
44        unsafe fn numberOfItemsInComboBox(&self, combo_box: &NSComboBox) -> NSInteger;
45
46        #[cfg(all(
47            feature = "NSControl",
48            feature = "NSResponder",
49            feature = "NSTextField",
50            feature = "NSView"
51        ))]
52        #[optional]
53        #[unsafe(method(comboBox:objectValueForItemAtIndex:))]
54        #[unsafe(method_family = none)]
55        unsafe fn comboBox_objectValueForItemAtIndex(
56            &self,
57            combo_box: &NSComboBox,
58            index: NSInteger,
59        ) -> Option<Retained<AnyObject>>;
60
61        #[cfg(all(
62            feature = "NSControl",
63            feature = "NSResponder",
64            feature = "NSTextField",
65            feature = "NSView"
66        ))]
67        #[optional]
68        #[unsafe(method(comboBox:indexOfItemWithStringValue:))]
69        #[unsafe(method_family = none)]
70        unsafe fn comboBox_indexOfItemWithStringValue(
71            &self,
72            combo_box: &NSComboBox,
73            string: &NSString,
74        ) -> NSUInteger;
75
76        #[cfg(all(
77            feature = "NSControl",
78            feature = "NSResponder",
79            feature = "NSTextField",
80            feature = "NSView"
81        ))]
82        #[optional]
83        #[unsafe(method(comboBox:completedString:))]
84        #[unsafe(method_family = none)]
85        unsafe fn comboBox_completedString(
86            &self,
87            combo_box: &NSComboBox,
88            string: &NSString,
89        ) -> Option<Retained<NSString>>;
90    }
91);
92
93extern_protocol!(
94    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nscomboboxdelegate?language=objc)
95    #[cfg(all(feature = "NSControl", feature = "NSTextField"))]
96    pub unsafe trait NSComboBoxDelegate: NSTextFieldDelegate + MainThreadOnly {
97        #[optional]
98        #[unsafe(method(comboBoxWillPopUp:))]
99        #[unsafe(method_family = none)]
100        unsafe fn comboBoxWillPopUp(&self, notification: &NSNotification);
101
102        #[optional]
103        #[unsafe(method(comboBoxWillDismiss:))]
104        #[unsafe(method_family = none)]
105        unsafe fn comboBoxWillDismiss(&self, notification: &NSNotification);
106
107        #[optional]
108        #[unsafe(method(comboBoxSelectionDidChange:))]
109        #[unsafe(method_family = none)]
110        unsafe fn comboBoxSelectionDidChange(&self, notification: &NSNotification);
111
112        #[optional]
113        #[unsafe(method(comboBoxSelectionIsChanging:))]
114        #[unsafe(method_family = none)]
115        unsafe fn comboBoxSelectionIsChanging(&self, notification: &NSNotification);
116    }
117);
118
119extern_class!(
120    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nscombobox?language=objc)
121    #[unsafe(super(NSTextField, NSControl, NSView, NSResponder, NSObject))]
122    #[derive(Debug, PartialEq, Eq, Hash)]
123    #[cfg(all(
124        feature = "NSControl",
125        feature = "NSResponder",
126        feature = "NSTextField",
127        feature = "NSView"
128    ))]
129    pub struct NSComboBox;
130);
131
132#[cfg(all(
133    feature = "NSAccessibilityProtocols",
134    feature = "NSControl",
135    feature = "NSResponder",
136    feature = "NSTextField",
137    feature = "NSView"
138))]
139extern_conformance!(
140    unsafe impl NSAccessibility for NSComboBox {}
141);
142
143#[cfg(all(
144    feature = "NSAccessibilityProtocols",
145    feature = "NSControl",
146    feature = "NSResponder",
147    feature = "NSTextField",
148    feature = "NSView"
149))]
150extern_conformance!(
151    unsafe impl NSAccessibilityElementProtocol for NSComboBox {}
152);
153
154#[cfg(all(
155    feature = "NSAccessibilityProtocols",
156    feature = "NSControl",
157    feature = "NSResponder",
158    feature = "NSTextField",
159    feature = "NSView"
160))]
161extern_conformance!(
162    unsafe impl NSAccessibilityNavigableStaticText for NSComboBox {}
163);
164
165#[cfg(all(
166    feature = "NSAccessibilityProtocols",
167    feature = "NSControl",
168    feature = "NSResponder",
169    feature = "NSTextField",
170    feature = "NSView"
171))]
172extern_conformance!(
173    unsafe impl NSAccessibilityStaticText for NSComboBox {}
174);
175
176#[cfg(all(
177    feature = "NSAnimation",
178    feature = "NSControl",
179    feature = "NSResponder",
180    feature = "NSTextField",
181    feature = "NSView"
182))]
183extern_conformance!(
184    unsafe impl NSAnimatablePropertyContainer for NSComboBox {}
185);
186
187#[cfg(all(
188    feature = "NSAppearance",
189    feature = "NSControl",
190    feature = "NSResponder",
191    feature = "NSTextField",
192    feature = "NSView"
193))]
194extern_conformance!(
195    unsafe impl NSAppearanceCustomization for NSComboBox {}
196);
197
198#[cfg(all(
199    feature = "NSControl",
200    feature = "NSResponder",
201    feature = "NSTextField",
202    feature = "NSView"
203))]
204extern_conformance!(
205    unsafe impl NSCoding for NSComboBox {}
206);
207
208#[cfg(all(
209    feature = "NSControl",
210    feature = "NSDragging",
211    feature = "NSResponder",
212    feature = "NSTextField",
213    feature = "NSView"
214))]
215extern_conformance!(
216    unsafe impl NSDraggingDestination for NSComboBox {}
217);
218
219#[cfg(all(
220    feature = "NSControl",
221    feature = "NSResponder",
222    feature = "NSTextField",
223    feature = "NSView"
224))]
225extern_conformance!(
226    unsafe impl NSObjectProtocol for NSComboBox {}
227);
228
229#[cfg(all(
230    feature = "NSControl",
231    feature = "NSResponder",
232    feature = "NSTextContent",
233    feature = "NSTextField",
234    feature = "NSView"
235))]
236extern_conformance!(
237    unsafe impl NSTextContent for NSComboBox {}
238);
239
240#[cfg(all(
241    feature = "NSControl",
242    feature = "NSResponder",
243    feature = "NSTextField",
244    feature = "NSUserInterfaceItemIdentification",
245    feature = "NSView"
246))]
247extern_conformance!(
248    unsafe impl NSUserInterfaceItemIdentification for NSComboBox {}
249);
250
251#[cfg(all(
252    feature = "NSControl",
253    feature = "NSResponder",
254    feature = "NSTextField",
255    feature = "NSUserInterfaceValidation",
256    feature = "NSView"
257))]
258extern_conformance!(
259    unsafe impl NSUserInterfaceValidations for NSComboBox {}
260);
261
262#[cfg(all(
263    feature = "NSControl",
264    feature = "NSResponder",
265    feature = "NSTextField",
266    feature = "NSView"
267))]
268impl NSComboBox {
269    extern_methods!(
270        #[unsafe(method(hasVerticalScroller))]
271        #[unsafe(method_family = none)]
272        pub unsafe fn hasVerticalScroller(&self) -> bool;
273
274        /// Setter for [`hasVerticalScroller`][Self::hasVerticalScroller].
275        #[unsafe(method(setHasVerticalScroller:))]
276        #[unsafe(method_family = none)]
277        pub unsafe fn setHasVerticalScroller(&self, has_vertical_scroller: bool);
278
279        #[unsafe(method(intercellSpacing))]
280        #[unsafe(method_family = none)]
281        pub unsafe fn intercellSpacing(&self) -> NSSize;
282
283        /// Setter for [`intercellSpacing`][Self::intercellSpacing].
284        #[unsafe(method(setIntercellSpacing:))]
285        #[unsafe(method_family = none)]
286        pub unsafe fn setIntercellSpacing(&self, intercell_spacing: NSSize);
287
288        #[cfg(feature = "objc2-core-foundation")]
289        #[unsafe(method(itemHeight))]
290        #[unsafe(method_family = none)]
291        pub unsafe fn itemHeight(&self) -> CGFloat;
292
293        #[cfg(feature = "objc2-core-foundation")]
294        /// Setter for [`itemHeight`][Self::itemHeight].
295        #[unsafe(method(setItemHeight:))]
296        #[unsafe(method_family = none)]
297        pub unsafe fn setItemHeight(&self, item_height: CGFloat);
298
299        #[unsafe(method(numberOfVisibleItems))]
300        #[unsafe(method_family = none)]
301        pub unsafe fn numberOfVisibleItems(&self) -> NSInteger;
302
303        /// Setter for [`numberOfVisibleItems`][Self::numberOfVisibleItems].
304        #[unsafe(method(setNumberOfVisibleItems:))]
305        #[unsafe(method_family = none)]
306        pub unsafe fn setNumberOfVisibleItems(&self, number_of_visible_items: NSInteger);
307
308        #[unsafe(method(isButtonBordered))]
309        #[unsafe(method_family = none)]
310        pub unsafe fn isButtonBordered(&self) -> bool;
311
312        /// Setter for [`isButtonBordered`][Self::isButtonBordered].
313        #[unsafe(method(setButtonBordered:))]
314        #[unsafe(method_family = none)]
315        pub unsafe fn setButtonBordered(&self, button_bordered: bool);
316
317        #[unsafe(method(reloadData))]
318        #[unsafe(method_family = none)]
319        pub unsafe fn reloadData(&self);
320
321        #[unsafe(method(noteNumberOfItemsChanged))]
322        #[unsafe(method_family = none)]
323        pub unsafe fn noteNumberOfItemsChanged(&self);
324
325        #[unsafe(method(usesDataSource))]
326        #[unsafe(method_family = none)]
327        pub unsafe fn usesDataSource(&self) -> bool;
328
329        /// Setter for [`usesDataSource`][Self::usesDataSource].
330        #[unsafe(method(setUsesDataSource:))]
331        #[unsafe(method_family = none)]
332        pub unsafe fn setUsesDataSource(&self, uses_data_source: bool);
333
334        #[unsafe(method(scrollItemAtIndexToTop:))]
335        #[unsafe(method_family = none)]
336        pub unsafe fn scrollItemAtIndexToTop(&self, index: NSInteger);
337
338        #[unsafe(method(scrollItemAtIndexToVisible:))]
339        #[unsafe(method_family = none)]
340        pub unsafe fn scrollItemAtIndexToVisible(&self, index: NSInteger);
341
342        #[unsafe(method(selectItemAtIndex:))]
343        #[unsafe(method_family = none)]
344        pub unsafe fn selectItemAtIndex(&self, index: NSInteger);
345
346        #[unsafe(method(deselectItemAtIndex:))]
347        #[unsafe(method_family = none)]
348        pub unsafe fn deselectItemAtIndex(&self, index: NSInteger);
349
350        #[unsafe(method(indexOfSelectedItem))]
351        #[unsafe(method_family = none)]
352        pub unsafe fn indexOfSelectedItem(&self) -> NSInteger;
353
354        #[unsafe(method(numberOfItems))]
355        #[unsafe(method_family = none)]
356        pub unsafe fn numberOfItems(&self) -> NSInteger;
357
358        #[unsafe(method(completes))]
359        #[unsafe(method_family = none)]
360        pub unsafe fn completes(&self) -> bool;
361
362        /// Setter for [`completes`][Self::completes].
363        #[unsafe(method(setCompletes:))]
364        #[unsafe(method_family = none)]
365        pub unsafe fn setCompletes(&self, completes: bool);
366
367        #[unsafe(method(delegate))]
368        #[unsafe(method_family = none)]
369        pub unsafe fn delegate(&self) -> Option<Retained<ProtocolObject<dyn NSComboBoxDelegate>>>;
370
371        /// This is a [weak property][objc2::topics::weak_property].
372        /// Setter for [`delegate`][Self::delegate].
373        #[unsafe(method(setDelegate:))]
374        #[unsafe(method_family = none)]
375        pub unsafe fn setDelegate(&self, delegate: Option<&ProtocolObject<dyn NSComboBoxDelegate>>);
376
377        #[unsafe(method(dataSource))]
378        #[unsafe(method_family = none)]
379        pub unsafe fn dataSource(
380            &self,
381        ) -> Option<Retained<ProtocolObject<dyn NSComboBoxDataSource>>>;
382
383        /// Setter for [`dataSource`][Self::dataSource].
384        #[unsafe(method(setDataSource:))]
385        #[unsafe(method_family = none)]
386        pub unsafe fn setDataSource(
387            &self,
388            data_source: Option<&ProtocolObject<dyn NSComboBoxDataSource>>,
389        );
390
391        #[unsafe(method(addItemWithObjectValue:))]
392        #[unsafe(method_family = none)]
393        pub unsafe fn addItemWithObjectValue(&self, object: &AnyObject);
394
395        #[unsafe(method(addItemsWithObjectValues:))]
396        #[unsafe(method_family = none)]
397        pub unsafe fn addItemsWithObjectValues(&self, objects: &NSArray);
398
399        #[unsafe(method(insertItemWithObjectValue:atIndex:))]
400        #[unsafe(method_family = none)]
401        pub unsafe fn insertItemWithObjectValue_atIndex(
402            &self,
403            object: &AnyObject,
404            index: NSInteger,
405        );
406
407        #[unsafe(method(removeItemWithObjectValue:))]
408        #[unsafe(method_family = none)]
409        pub unsafe fn removeItemWithObjectValue(&self, object: &AnyObject);
410
411        #[unsafe(method(removeItemAtIndex:))]
412        #[unsafe(method_family = none)]
413        pub unsafe fn removeItemAtIndex(&self, index: NSInteger);
414
415        #[unsafe(method(removeAllItems))]
416        #[unsafe(method_family = none)]
417        pub unsafe fn removeAllItems(&self);
418
419        #[unsafe(method(selectItemWithObjectValue:))]
420        #[unsafe(method_family = none)]
421        pub unsafe fn selectItemWithObjectValue(&self, object: Option<&AnyObject>);
422
423        #[unsafe(method(itemObjectValueAtIndex:))]
424        #[unsafe(method_family = none)]
425        pub unsafe fn itemObjectValueAtIndex(&self, index: NSInteger) -> Retained<AnyObject>;
426
427        #[unsafe(method(objectValueOfSelectedItem))]
428        #[unsafe(method_family = none)]
429        pub unsafe fn objectValueOfSelectedItem(&self) -> Option<Retained<AnyObject>>;
430
431        #[unsafe(method(indexOfItemWithObjectValue:))]
432        #[unsafe(method_family = none)]
433        pub unsafe fn indexOfItemWithObjectValue(&self, object: &AnyObject) -> NSInteger;
434
435        #[unsafe(method(objectValues))]
436        #[unsafe(method_family = none)]
437        pub unsafe fn objectValues(&self) -> Retained<NSArray>;
438    );
439}
440
441/// Methods declared on superclass `NSControl`.
442#[cfg(all(
443    feature = "NSControl",
444    feature = "NSResponder",
445    feature = "NSTextField",
446    feature = "NSView"
447))]
448impl NSComboBox {
449    extern_methods!(
450        #[unsafe(method(initWithFrame:))]
451        #[unsafe(method_family = init)]
452        pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
453
454        #[unsafe(method(initWithCoder:))]
455        #[unsafe(method_family = init)]
456        pub unsafe fn initWithCoder(
457            this: Allocated<Self>,
458            coder: &NSCoder,
459        ) -> Option<Retained<Self>>;
460    );
461}
462
463/// Methods declared on superclass `NSResponder`.
464#[cfg(all(
465    feature = "NSControl",
466    feature = "NSResponder",
467    feature = "NSTextField",
468    feature = "NSView"
469))]
470impl NSComboBox {
471    extern_methods!(
472        #[unsafe(method(init))]
473        #[unsafe(method_family = init)]
474        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
475    );
476}
477
478/// Methods declared on superclass `NSObject`.
479#[cfg(all(
480    feature = "NSControl",
481    feature = "NSResponder",
482    feature = "NSTextField",
483    feature = "NSView"
484))]
485impl NSComboBox {
486    extern_methods!(
487        #[unsafe(method(new))]
488        #[unsafe(method_family = new)]
489        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
490    );
491}