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))]
139unsafe impl NSAccessibility for NSComboBox {}
140
141#[cfg(all(
142    feature = "NSAccessibilityProtocols",
143    feature = "NSControl",
144    feature = "NSResponder",
145    feature = "NSTextField",
146    feature = "NSView"
147))]
148unsafe impl NSAccessibilityElementProtocol for NSComboBox {}
149
150#[cfg(all(
151    feature = "NSAccessibilityProtocols",
152    feature = "NSControl",
153    feature = "NSResponder",
154    feature = "NSTextField",
155    feature = "NSView"
156))]
157unsafe impl NSAccessibilityNavigableStaticText for NSComboBox {}
158
159#[cfg(all(
160    feature = "NSAccessibilityProtocols",
161    feature = "NSControl",
162    feature = "NSResponder",
163    feature = "NSTextField",
164    feature = "NSView"
165))]
166unsafe impl NSAccessibilityStaticText for NSComboBox {}
167
168#[cfg(all(
169    feature = "NSAnimation",
170    feature = "NSControl",
171    feature = "NSResponder",
172    feature = "NSTextField",
173    feature = "NSView"
174))]
175unsafe impl NSAnimatablePropertyContainer for NSComboBox {}
176
177#[cfg(all(
178    feature = "NSAppearance",
179    feature = "NSControl",
180    feature = "NSResponder",
181    feature = "NSTextField",
182    feature = "NSView"
183))]
184unsafe impl NSAppearanceCustomization for NSComboBox {}
185
186#[cfg(all(
187    feature = "NSControl",
188    feature = "NSResponder",
189    feature = "NSTextField",
190    feature = "NSView"
191))]
192unsafe impl NSCoding for NSComboBox {}
193
194#[cfg(all(
195    feature = "NSControl",
196    feature = "NSDragging",
197    feature = "NSResponder",
198    feature = "NSTextField",
199    feature = "NSView"
200))]
201unsafe impl NSDraggingDestination for NSComboBox {}
202
203#[cfg(all(
204    feature = "NSControl",
205    feature = "NSResponder",
206    feature = "NSTextField",
207    feature = "NSView"
208))]
209unsafe impl NSObjectProtocol for NSComboBox {}
210
211#[cfg(all(
212    feature = "NSControl",
213    feature = "NSResponder",
214    feature = "NSTextContent",
215    feature = "NSTextField",
216    feature = "NSView"
217))]
218unsafe impl NSTextContent for NSComboBox {}
219
220#[cfg(all(
221    feature = "NSControl",
222    feature = "NSResponder",
223    feature = "NSTextField",
224    feature = "NSUserInterfaceItemIdentification",
225    feature = "NSView"
226))]
227unsafe impl NSUserInterfaceItemIdentification for NSComboBox {}
228
229#[cfg(all(
230    feature = "NSControl",
231    feature = "NSResponder",
232    feature = "NSTextField",
233    feature = "NSUserInterfaceValidation",
234    feature = "NSView"
235))]
236unsafe impl NSUserInterfaceValidations for NSComboBox {}
237
238#[cfg(all(
239    feature = "NSControl",
240    feature = "NSResponder",
241    feature = "NSTextField",
242    feature = "NSView"
243))]
244impl NSComboBox {
245    extern_methods!(
246        #[unsafe(method(hasVerticalScroller))]
247        #[unsafe(method_family = none)]
248        pub unsafe fn hasVerticalScroller(&self) -> bool;
249
250        /// Setter for [`hasVerticalScroller`][Self::hasVerticalScroller].
251        #[unsafe(method(setHasVerticalScroller:))]
252        #[unsafe(method_family = none)]
253        pub unsafe fn setHasVerticalScroller(&self, has_vertical_scroller: bool);
254
255        #[unsafe(method(intercellSpacing))]
256        #[unsafe(method_family = none)]
257        pub unsafe fn intercellSpacing(&self) -> NSSize;
258
259        /// Setter for [`intercellSpacing`][Self::intercellSpacing].
260        #[unsafe(method(setIntercellSpacing:))]
261        #[unsafe(method_family = none)]
262        pub unsafe fn setIntercellSpacing(&self, intercell_spacing: NSSize);
263
264        #[cfg(feature = "objc2-core-foundation")]
265        #[unsafe(method(itemHeight))]
266        #[unsafe(method_family = none)]
267        pub unsafe fn itemHeight(&self) -> CGFloat;
268
269        #[cfg(feature = "objc2-core-foundation")]
270        /// Setter for [`itemHeight`][Self::itemHeight].
271        #[unsafe(method(setItemHeight:))]
272        #[unsafe(method_family = none)]
273        pub unsafe fn setItemHeight(&self, item_height: CGFloat);
274
275        #[unsafe(method(numberOfVisibleItems))]
276        #[unsafe(method_family = none)]
277        pub unsafe fn numberOfVisibleItems(&self) -> NSInteger;
278
279        /// Setter for [`numberOfVisibleItems`][Self::numberOfVisibleItems].
280        #[unsafe(method(setNumberOfVisibleItems:))]
281        #[unsafe(method_family = none)]
282        pub unsafe fn setNumberOfVisibleItems(&self, number_of_visible_items: NSInteger);
283
284        #[unsafe(method(isButtonBordered))]
285        #[unsafe(method_family = none)]
286        pub unsafe fn isButtonBordered(&self) -> bool;
287
288        /// Setter for [`isButtonBordered`][Self::isButtonBordered].
289        #[unsafe(method(setButtonBordered:))]
290        #[unsafe(method_family = none)]
291        pub unsafe fn setButtonBordered(&self, button_bordered: bool);
292
293        #[unsafe(method(reloadData))]
294        #[unsafe(method_family = none)]
295        pub unsafe fn reloadData(&self);
296
297        #[unsafe(method(noteNumberOfItemsChanged))]
298        #[unsafe(method_family = none)]
299        pub unsafe fn noteNumberOfItemsChanged(&self);
300
301        #[unsafe(method(usesDataSource))]
302        #[unsafe(method_family = none)]
303        pub unsafe fn usesDataSource(&self) -> bool;
304
305        /// Setter for [`usesDataSource`][Self::usesDataSource].
306        #[unsafe(method(setUsesDataSource:))]
307        #[unsafe(method_family = none)]
308        pub unsafe fn setUsesDataSource(&self, uses_data_source: bool);
309
310        #[unsafe(method(scrollItemAtIndexToTop:))]
311        #[unsafe(method_family = none)]
312        pub unsafe fn scrollItemAtIndexToTop(&self, index: NSInteger);
313
314        #[unsafe(method(scrollItemAtIndexToVisible:))]
315        #[unsafe(method_family = none)]
316        pub unsafe fn scrollItemAtIndexToVisible(&self, index: NSInteger);
317
318        #[unsafe(method(selectItemAtIndex:))]
319        #[unsafe(method_family = none)]
320        pub unsafe fn selectItemAtIndex(&self, index: NSInteger);
321
322        #[unsafe(method(deselectItemAtIndex:))]
323        #[unsafe(method_family = none)]
324        pub unsafe fn deselectItemAtIndex(&self, index: NSInteger);
325
326        #[unsafe(method(indexOfSelectedItem))]
327        #[unsafe(method_family = none)]
328        pub unsafe fn indexOfSelectedItem(&self) -> NSInteger;
329
330        #[unsafe(method(numberOfItems))]
331        #[unsafe(method_family = none)]
332        pub unsafe fn numberOfItems(&self) -> NSInteger;
333
334        #[unsafe(method(completes))]
335        #[unsafe(method_family = none)]
336        pub unsafe fn completes(&self) -> bool;
337
338        /// Setter for [`completes`][Self::completes].
339        #[unsafe(method(setCompletes:))]
340        #[unsafe(method_family = none)]
341        pub unsafe fn setCompletes(&self, completes: bool);
342
343        #[unsafe(method(delegate))]
344        #[unsafe(method_family = none)]
345        pub unsafe fn delegate(&self) -> Option<Retained<ProtocolObject<dyn NSComboBoxDelegate>>>;
346
347        /// This is a [weak property][objc2::topics::weak_property].
348        /// Setter for [`delegate`][Self::delegate].
349        #[unsafe(method(setDelegate:))]
350        #[unsafe(method_family = none)]
351        pub unsafe fn setDelegate(&self, delegate: Option<&ProtocolObject<dyn NSComboBoxDelegate>>);
352
353        #[unsafe(method(dataSource))]
354        #[unsafe(method_family = none)]
355        pub unsafe fn dataSource(
356            &self,
357        ) -> Option<Retained<ProtocolObject<dyn NSComboBoxDataSource>>>;
358
359        /// Setter for [`dataSource`][Self::dataSource].
360        #[unsafe(method(setDataSource:))]
361        #[unsafe(method_family = none)]
362        pub unsafe fn setDataSource(
363            &self,
364            data_source: Option<&ProtocolObject<dyn NSComboBoxDataSource>>,
365        );
366
367        #[unsafe(method(addItemWithObjectValue:))]
368        #[unsafe(method_family = none)]
369        pub unsafe fn addItemWithObjectValue(&self, object: &AnyObject);
370
371        #[unsafe(method(addItemsWithObjectValues:))]
372        #[unsafe(method_family = none)]
373        pub unsafe fn addItemsWithObjectValues(&self, objects: &NSArray);
374
375        #[unsafe(method(insertItemWithObjectValue:atIndex:))]
376        #[unsafe(method_family = none)]
377        pub unsafe fn insertItemWithObjectValue_atIndex(
378            &self,
379            object: &AnyObject,
380            index: NSInteger,
381        );
382
383        #[unsafe(method(removeItemWithObjectValue:))]
384        #[unsafe(method_family = none)]
385        pub unsafe fn removeItemWithObjectValue(&self, object: &AnyObject);
386
387        #[unsafe(method(removeItemAtIndex:))]
388        #[unsafe(method_family = none)]
389        pub unsafe fn removeItemAtIndex(&self, index: NSInteger);
390
391        #[unsafe(method(removeAllItems))]
392        #[unsafe(method_family = none)]
393        pub unsafe fn removeAllItems(&self);
394
395        #[unsafe(method(selectItemWithObjectValue:))]
396        #[unsafe(method_family = none)]
397        pub unsafe fn selectItemWithObjectValue(&self, object: Option<&AnyObject>);
398
399        #[unsafe(method(itemObjectValueAtIndex:))]
400        #[unsafe(method_family = none)]
401        pub unsafe fn itemObjectValueAtIndex(&self, index: NSInteger) -> Retained<AnyObject>;
402
403        #[unsafe(method(objectValueOfSelectedItem))]
404        #[unsafe(method_family = none)]
405        pub unsafe fn objectValueOfSelectedItem(&self) -> Option<Retained<AnyObject>>;
406
407        #[unsafe(method(indexOfItemWithObjectValue:))]
408        #[unsafe(method_family = none)]
409        pub unsafe fn indexOfItemWithObjectValue(&self, object: &AnyObject) -> NSInteger;
410
411        #[unsafe(method(objectValues))]
412        #[unsafe(method_family = none)]
413        pub unsafe fn objectValues(&self) -> Retained<NSArray>;
414    );
415}
416
417/// Methods declared on superclass `NSControl`.
418#[cfg(all(
419    feature = "NSControl",
420    feature = "NSResponder",
421    feature = "NSTextField",
422    feature = "NSView"
423))]
424impl NSComboBox {
425    extern_methods!(
426        #[unsafe(method(initWithFrame:))]
427        #[unsafe(method_family = init)]
428        pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
429
430        #[unsafe(method(initWithCoder:))]
431        #[unsafe(method_family = init)]
432        pub unsafe fn initWithCoder(
433            this: Allocated<Self>,
434            coder: &NSCoder,
435        ) -> Option<Retained<Self>>;
436    );
437}
438
439/// Methods declared on superclass `NSResponder`.
440#[cfg(all(
441    feature = "NSControl",
442    feature = "NSResponder",
443    feature = "NSTextField",
444    feature = "NSView"
445))]
446impl NSComboBox {
447    extern_methods!(
448        #[unsafe(method(init))]
449        #[unsafe(method_family = init)]
450        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
451    );
452}
453
454/// Methods declared on superclass `NSObject`.
455#[cfg(all(
456    feature = "NSControl",
457    feature = "NSResponder",
458    feature = "NSTextField",
459    feature = "NSView"
460))]
461impl NSComboBox {
462    extern_methods!(
463        #[unsafe(method(new))]
464        #[unsafe(method_family = new)]
465        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
466    );
467}