objc2_app_kit/generated/
NSTableView.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
12/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewdropoperation?language=objc)
13// NS_ENUM
14#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct NSTableViewDropOperation(pub NSUInteger);
17impl NSTableViewDropOperation {
18    #[doc(alias = "NSTableViewDropOn")]
19    pub const On: Self = Self(0);
20    #[doc(alias = "NSTableViewDropAbove")]
21    pub const Above: Self = Self(1);
22}
23
24unsafe impl Encode for NSTableViewDropOperation {
25    const ENCODING: Encoding = NSUInteger::ENCODING;
26}
27
28unsafe impl RefEncode for NSTableViewDropOperation {
29    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
30}
31
32/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewcolumnautoresizingstyle?language=objc)
33// NS_ENUM
34#[repr(transparent)]
35#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
36pub struct NSTableViewColumnAutoresizingStyle(pub NSUInteger);
37impl NSTableViewColumnAutoresizingStyle {
38    #[doc(alias = "NSTableViewNoColumnAutoresizing")]
39    pub const NoColumnAutoresizing: Self = Self(0);
40    #[doc(alias = "NSTableViewUniformColumnAutoresizingStyle")]
41    pub const UniformColumnAutoresizingStyle: Self = Self(1);
42    #[doc(alias = "NSTableViewSequentialColumnAutoresizingStyle")]
43    pub const SequentialColumnAutoresizingStyle: Self = Self(2);
44    #[doc(alias = "NSTableViewReverseSequentialColumnAutoresizingStyle")]
45    pub const ReverseSequentialColumnAutoresizingStyle: Self = Self(3);
46    #[doc(alias = "NSTableViewLastColumnOnlyAutoresizingStyle")]
47    pub const LastColumnOnlyAutoresizingStyle: Self = Self(4);
48    #[doc(alias = "NSTableViewFirstColumnOnlyAutoresizingStyle")]
49    pub const FirstColumnOnlyAutoresizingStyle: Self = Self(5);
50}
51
52unsafe impl Encode for NSTableViewColumnAutoresizingStyle {
53    const ENCODING: Encoding = NSUInteger::ENCODING;
54}
55
56unsafe impl RefEncode for NSTableViewColumnAutoresizingStyle {
57    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
58}
59
60/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewgridlinestyle?language=objc)
61// NS_OPTIONS
62#[repr(transparent)]
63#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
64pub struct NSTableViewGridLineStyle(pub NSUInteger);
65bitflags::bitflags! {
66    impl NSTableViewGridLineStyle: NSUInteger {
67        #[doc(alias = "NSTableViewGridNone")]
68        const GridNone = 0;
69        #[doc(alias = "NSTableViewSolidVerticalGridLineMask")]
70        const SolidVerticalGridLineMask = 1<<0;
71        #[doc(alias = "NSTableViewSolidHorizontalGridLineMask")]
72        const SolidHorizontalGridLineMask = 1<<1;
73        #[doc(alias = "NSTableViewDashedHorizontalGridLineMask")]
74        const DashedHorizontalGridLineMask = 1<<3;
75    }
76}
77
78unsafe impl Encode for NSTableViewGridLineStyle {
79    const ENCODING: Encoding = NSUInteger::ENCODING;
80}
81
82unsafe impl RefEncode for NSTableViewGridLineStyle {
83    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
84}
85
86/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewrowsizestyle?language=objc)
87// NS_ENUM
88#[repr(transparent)]
89#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
90pub struct NSTableViewRowSizeStyle(pub NSInteger);
91impl NSTableViewRowSizeStyle {
92    #[doc(alias = "NSTableViewRowSizeStyleDefault")]
93    pub const Default: Self = Self(-1);
94    #[doc(alias = "NSTableViewRowSizeStyleCustom")]
95    pub const Custom: Self = Self(0);
96    #[doc(alias = "NSTableViewRowSizeStyleSmall")]
97    pub const Small: Self = Self(1);
98    #[doc(alias = "NSTableViewRowSizeStyleMedium")]
99    pub const Medium: Self = Self(2);
100    #[doc(alias = "NSTableViewRowSizeStyleLarge")]
101    pub const Large: Self = Self(3);
102}
103
104unsafe impl Encode for NSTableViewRowSizeStyle {
105    const ENCODING: Encoding = NSInteger::ENCODING;
106}
107
108unsafe impl RefEncode for NSTableViewRowSizeStyle {
109    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
110}
111
112/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewstyle?language=objc)
113// NS_ENUM
114#[repr(transparent)]
115#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
116pub struct NSTableViewStyle(pub NSInteger);
117impl NSTableViewStyle {
118    #[doc(alias = "NSTableViewStyleAutomatic")]
119    pub const Automatic: Self = Self(0);
120    #[doc(alias = "NSTableViewStyleFullWidth")]
121    pub const FullWidth: Self = Self(1);
122    #[doc(alias = "NSTableViewStyleInset")]
123    pub const Inset: Self = Self(2);
124    #[doc(alias = "NSTableViewStyleSourceList")]
125    pub const SourceList: Self = Self(3);
126    #[doc(alias = "NSTableViewStylePlain")]
127    pub const Plain: Self = Self(4);
128}
129
130unsafe impl Encode for NSTableViewStyle {
131    const ENCODING: Encoding = NSInteger::ENCODING;
132}
133
134unsafe impl RefEncode for NSTableViewStyle {
135    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
136}
137
138/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewselectionhighlightstyle?language=objc)
139// NS_ENUM
140#[repr(transparent)]
141#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
142pub struct NSTableViewSelectionHighlightStyle(pub NSInteger);
143impl NSTableViewSelectionHighlightStyle {
144    #[doc(alias = "NSTableViewSelectionHighlightStyleNone")]
145    pub const None: Self = Self(-1);
146    #[doc(alias = "NSTableViewSelectionHighlightStyleRegular")]
147    pub const Regular: Self = Self(0);
148    #[doc(alias = "NSTableViewSelectionHighlightStyleSourceList")]
149    #[deprecated = "Set the NSTableView.style property to NSTableViewStyleSourceList instead."]
150    pub const SourceList: Self = Self(1);
151}
152
153unsafe impl Encode for NSTableViewSelectionHighlightStyle {
154    const ENCODING: Encoding = NSInteger::ENCODING;
155}
156
157unsafe impl RefEncode for NSTableViewSelectionHighlightStyle {
158    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
159}
160
161/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewdraggingdestinationfeedbackstyle?language=objc)
162// NS_ENUM
163#[repr(transparent)]
164#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
165pub struct NSTableViewDraggingDestinationFeedbackStyle(pub NSInteger);
166impl NSTableViewDraggingDestinationFeedbackStyle {
167    #[doc(alias = "NSTableViewDraggingDestinationFeedbackStyleNone")]
168    pub const None: Self = Self(-1);
169    #[doc(alias = "NSTableViewDraggingDestinationFeedbackStyleRegular")]
170    pub const Regular: Self = Self(0);
171    #[doc(alias = "NSTableViewDraggingDestinationFeedbackStyleSourceList")]
172    pub const SourceList: Self = Self(1);
173    #[doc(alias = "NSTableViewDraggingDestinationFeedbackStyleGap")]
174    pub const Gap: Self = Self(2);
175}
176
177unsafe impl Encode for NSTableViewDraggingDestinationFeedbackStyle {
178    const ENCODING: Encoding = NSInteger::ENCODING;
179}
180
181unsafe impl RefEncode for NSTableViewDraggingDestinationFeedbackStyle {
182    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
183}
184
185/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstablerowactionedge?language=objc)
186// NS_ENUM
187#[repr(transparent)]
188#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
189pub struct NSTableRowActionEdge(pub NSInteger);
190impl NSTableRowActionEdge {
191    #[doc(alias = "NSTableRowActionEdgeLeading")]
192    pub const Leading: Self = Self(0);
193    #[doc(alias = "NSTableRowActionEdgeTrailing")]
194    pub const Trailing: Self = Self(1);
195}
196
197unsafe impl Encode for NSTableRowActionEdge {
198    const ENCODING: Encoding = NSInteger::ENCODING;
199}
200
201unsafe impl RefEncode for NSTableRowActionEdge {
202    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
203}
204
205/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewautosavename?language=objc)
206pub type NSTableViewAutosaveName = NSString;
207
208/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewanimationoptions?language=objc)
209// NS_OPTIONS
210#[repr(transparent)]
211#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
212pub struct NSTableViewAnimationOptions(pub NSUInteger);
213bitflags::bitflags! {
214    impl NSTableViewAnimationOptions: NSUInteger {
215        #[doc(alias = "NSTableViewAnimationEffectNone")]
216        const EffectNone = 0x0;
217        #[doc(alias = "NSTableViewAnimationEffectFade")]
218        const EffectFade = 0x1;
219        #[doc(alias = "NSTableViewAnimationEffectGap")]
220        const EffectGap = 0x2;
221        #[doc(alias = "NSTableViewAnimationSlideUp")]
222        const SlideUp = 0x10;
223        #[doc(alias = "NSTableViewAnimationSlideDown")]
224        const SlideDown = 0x20;
225        #[doc(alias = "NSTableViewAnimationSlideLeft")]
226        const SlideLeft = 0x30;
227        #[doc(alias = "NSTableViewAnimationSlideRight")]
228        const SlideRight = 0x40;
229    }
230}
231
232unsafe impl Encode for NSTableViewAnimationOptions {
233    const ENCODING: Encoding = NSUInteger::ENCODING;
234}
235
236unsafe impl RefEncode for NSTableViewAnimationOptions {
237    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
238}
239
240extern_class!(
241    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableview?language=objc)
242    #[unsafe(super(NSControl, NSView, NSResponder, NSObject))]
243    #[derive(Debug, PartialEq, Eq, Hash)]
244    #[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
245    pub struct NSTableView;
246);
247
248#[cfg(all(
249    feature = "NSAccessibilityProtocols",
250    feature = "NSControl",
251    feature = "NSResponder",
252    feature = "NSView"
253))]
254extern_conformance!(
255    unsafe impl NSAccessibility for NSTableView {}
256);
257
258#[cfg(all(
259    feature = "NSAccessibilityProtocols",
260    feature = "NSControl",
261    feature = "NSResponder",
262    feature = "NSView"
263))]
264extern_conformance!(
265    unsafe impl NSAccessibilityElementProtocol for NSTableView {}
266);
267
268#[cfg(all(
269    feature = "NSAccessibilityProtocols",
270    feature = "NSControl",
271    feature = "NSResponder",
272    feature = "NSView"
273))]
274extern_conformance!(
275    unsafe impl NSAccessibilityGroup for NSTableView {}
276);
277
278#[cfg(all(
279    feature = "NSAccessibilityProtocols",
280    feature = "NSControl",
281    feature = "NSResponder",
282    feature = "NSView"
283))]
284extern_conformance!(
285    unsafe impl NSAccessibilityTable for NSTableView {}
286);
287
288#[cfg(all(
289    feature = "NSAnimation",
290    feature = "NSControl",
291    feature = "NSResponder",
292    feature = "NSView"
293))]
294extern_conformance!(
295    unsafe impl NSAnimatablePropertyContainer for NSTableView {}
296);
297
298#[cfg(all(
299    feature = "NSAppearance",
300    feature = "NSControl",
301    feature = "NSResponder",
302    feature = "NSView"
303))]
304extern_conformance!(
305    unsafe impl NSAppearanceCustomization for NSTableView {}
306);
307
308#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
309extern_conformance!(
310    unsafe impl NSCoding for NSTableView {}
311);
312
313#[cfg(all(
314    feature = "NSControl",
315    feature = "NSDragging",
316    feature = "NSResponder",
317    feature = "NSView"
318))]
319extern_conformance!(
320    unsafe impl NSDraggingDestination for NSTableView {}
321);
322
323#[cfg(all(
324    feature = "NSControl",
325    feature = "NSDragging",
326    feature = "NSResponder",
327    feature = "NSView"
328))]
329extern_conformance!(
330    unsafe impl NSDraggingSource for NSTableView {}
331);
332
333#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
334extern_conformance!(
335    unsafe impl NSObjectProtocol for NSTableView {}
336);
337
338#[cfg(all(
339    feature = "NSControl",
340    feature = "NSResponder",
341    feature = "NSText",
342    feature = "NSView"
343))]
344extern_conformance!(
345    unsafe impl NSTextDelegate for NSTableView {}
346);
347
348#[cfg(all(
349    feature = "NSControl",
350    feature = "NSResponder",
351    feature = "NSText",
352    feature = "NSTextView",
353    feature = "NSView"
354))]
355extern_conformance!(
356    unsafe impl NSTextViewDelegate for NSTableView {}
357);
358
359#[cfg(all(
360    feature = "NSControl",
361    feature = "NSResponder",
362    feature = "NSUserInterfaceItemIdentification",
363    feature = "NSView"
364))]
365extern_conformance!(
366    unsafe impl NSUserInterfaceItemIdentification for NSTableView {}
367);
368
369#[cfg(all(
370    feature = "NSControl",
371    feature = "NSResponder",
372    feature = "NSUserInterfaceValidation",
373    feature = "NSView"
374))]
375extern_conformance!(
376    unsafe impl NSUserInterfaceValidations for NSTableView {}
377);
378
379#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
380impl NSTableView {
381    extern_methods!(
382        #[unsafe(method(initWithFrame:))]
383        #[unsafe(method_family = init)]
384        pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
385
386        #[unsafe(method(initWithCoder:))]
387        #[unsafe(method_family = init)]
388        pub unsafe fn initWithCoder(
389            this: Allocated<Self>,
390            coder: &NSCoder,
391        ) -> Option<Retained<Self>>;
392
393        #[unsafe(method(dataSource))]
394        #[unsafe(method_family = none)]
395        pub unsafe fn dataSource(
396            &self,
397        ) -> Option<Retained<ProtocolObject<dyn NSTableViewDataSource>>>;
398
399        /// This is a [weak property][objc2::topics::weak_property].
400        /// Setter for [`dataSource`][Self::dataSource].
401        #[unsafe(method(setDataSource:))]
402        #[unsafe(method_family = none)]
403        pub unsafe fn setDataSource(
404            &self,
405            data_source: Option<&ProtocolObject<dyn NSTableViewDataSource>>,
406        );
407
408        #[unsafe(method(delegate))]
409        #[unsafe(method_family = none)]
410        pub unsafe fn delegate(&self) -> Option<Retained<ProtocolObject<dyn NSTableViewDelegate>>>;
411
412        /// This is a [weak property][objc2::topics::weak_property].
413        /// Setter for [`delegate`][Self::delegate].
414        #[unsafe(method(setDelegate:))]
415        #[unsafe(method_family = none)]
416        pub unsafe fn setDelegate(
417            &self,
418            delegate: Option<&ProtocolObject<dyn NSTableViewDelegate>>,
419        );
420
421        #[cfg(feature = "NSTableHeaderView")]
422        #[unsafe(method(headerView))]
423        #[unsafe(method_family = none)]
424        pub unsafe fn headerView(&self) -> Option<Retained<NSTableHeaderView>>;
425
426        #[cfg(feature = "NSTableHeaderView")]
427        /// Setter for [`headerView`][Self::headerView].
428        #[unsafe(method(setHeaderView:))]
429        #[unsafe(method_family = none)]
430        pub unsafe fn setHeaderView(&self, header_view: Option<&NSTableHeaderView>);
431
432        #[unsafe(method(cornerView))]
433        #[unsafe(method_family = none)]
434        pub unsafe fn cornerView(&self) -> Option<Retained<NSView>>;
435
436        /// Setter for [`cornerView`][Self::cornerView].
437        #[unsafe(method(setCornerView:))]
438        #[unsafe(method_family = none)]
439        pub unsafe fn setCornerView(&self, corner_view: Option<&NSView>);
440
441        #[unsafe(method(allowsColumnReordering))]
442        #[unsafe(method_family = none)]
443        pub unsafe fn allowsColumnReordering(&self) -> bool;
444
445        /// Setter for [`allowsColumnReordering`][Self::allowsColumnReordering].
446        #[unsafe(method(setAllowsColumnReordering:))]
447        #[unsafe(method_family = none)]
448        pub unsafe fn setAllowsColumnReordering(&self, allows_column_reordering: bool);
449
450        #[unsafe(method(allowsColumnResizing))]
451        #[unsafe(method_family = none)]
452        pub unsafe fn allowsColumnResizing(&self) -> bool;
453
454        /// Setter for [`allowsColumnResizing`][Self::allowsColumnResizing].
455        #[unsafe(method(setAllowsColumnResizing:))]
456        #[unsafe(method_family = none)]
457        pub unsafe fn setAllowsColumnResizing(&self, allows_column_resizing: bool);
458
459        #[unsafe(method(columnAutoresizingStyle))]
460        #[unsafe(method_family = none)]
461        pub unsafe fn columnAutoresizingStyle(&self) -> NSTableViewColumnAutoresizingStyle;
462
463        /// Setter for [`columnAutoresizingStyle`][Self::columnAutoresizingStyle].
464        #[unsafe(method(setColumnAutoresizingStyle:))]
465        #[unsafe(method_family = none)]
466        pub unsafe fn setColumnAutoresizingStyle(
467            &self,
468            column_autoresizing_style: NSTableViewColumnAutoresizingStyle,
469        );
470
471        #[unsafe(method(gridStyleMask))]
472        #[unsafe(method_family = none)]
473        pub unsafe fn gridStyleMask(&self) -> NSTableViewGridLineStyle;
474
475        /// Setter for [`gridStyleMask`][Self::gridStyleMask].
476        #[unsafe(method(setGridStyleMask:))]
477        #[unsafe(method_family = none)]
478        pub unsafe fn setGridStyleMask(&self, grid_style_mask: NSTableViewGridLineStyle);
479
480        #[unsafe(method(intercellSpacing))]
481        #[unsafe(method_family = none)]
482        pub unsafe fn intercellSpacing(&self) -> NSSize;
483
484        /// Setter for [`intercellSpacing`][Self::intercellSpacing].
485        #[unsafe(method(setIntercellSpacing:))]
486        #[unsafe(method_family = none)]
487        pub unsafe fn setIntercellSpacing(&self, intercell_spacing: NSSize);
488
489        #[unsafe(method(usesAlternatingRowBackgroundColors))]
490        #[unsafe(method_family = none)]
491        pub unsafe fn usesAlternatingRowBackgroundColors(&self) -> bool;
492
493        /// Setter for [`usesAlternatingRowBackgroundColors`][Self::usesAlternatingRowBackgroundColors].
494        #[unsafe(method(setUsesAlternatingRowBackgroundColors:))]
495        #[unsafe(method_family = none)]
496        pub unsafe fn setUsesAlternatingRowBackgroundColors(
497            &self,
498            uses_alternating_row_background_colors: bool,
499        );
500
501        #[cfg(feature = "NSColor")]
502        #[unsafe(method(backgroundColor))]
503        #[unsafe(method_family = none)]
504        pub unsafe fn backgroundColor(&self) -> Retained<NSColor>;
505
506        #[cfg(feature = "NSColor")]
507        /// Setter for [`backgroundColor`][Self::backgroundColor].
508        #[unsafe(method(setBackgroundColor:))]
509        #[unsafe(method_family = none)]
510        pub unsafe fn setBackgroundColor(&self, background_color: &NSColor);
511
512        #[cfg(feature = "NSColor")]
513        #[unsafe(method(gridColor))]
514        #[unsafe(method_family = none)]
515        pub unsafe fn gridColor(&self) -> Retained<NSColor>;
516
517        #[cfg(feature = "NSColor")]
518        /// Setter for [`gridColor`][Self::gridColor].
519        #[unsafe(method(setGridColor:))]
520        #[unsafe(method_family = none)]
521        pub unsafe fn setGridColor(&self, grid_color: &NSColor);
522
523        #[unsafe(method(rowSizeStyle))]
524        #[unsafe(method_family = none)]
525        pub unsafe fn rowSizeStyle(&self) -> NSTableViewRowSizeStyle;
526
527        /// Setter for [`rowSizeStyle`][Self::rowSizeStyle].
528        #[unsafe(method(setRowSizeStyle:))]
529        #[unsafe(method_family = none)]
530        pub unsafe fn setRowSizeStyle(&self, row_size_style: NSTableViewRowSizeStyle);
531
532        #[unsafe(method(effectiveRowSizeStyle))]
533        #[unsafe(method_family = none)]
534        pub unsafe fn effectiveRowSizeStyle(&self) -> NSTableViewRowSizeStyle;
535
536        #[cfg(feature = "objc2-core-foundation")]
537        #[unsafe(method(rowHeight))]
538        #[unsafe(method_family = none)]
539        pub unsafe fn rowHeight(&self) -> CGFloat;
540
541        #[cfg(feature = "objc2-core-foundation")]
542        /// Setter for [`rowHeight`][Self::rowHeight].
543        #[unsafe(method(setRowHeight:))]
544        #[unsafe(method_family = none)]
545        pub unsafe fn setRowHeight(&self, row_height: CGFloat);
546
547        #[unsafe(method(noteHeightOfRowsWithIndexesChanged:))]
548        #[unsafe(method_family = none)]
549        pub unsafe fn noteHeightOfRowsWithIndexesChanged(&self, index_set: &NSIndexSet);
550
551        #[cfg(feature = "NSTableColumn")]
552        #[unsafe(method(tableColumns))]
553        #[unsafe(method_family = none)]
554        pub unsafe fn tableColumns(&self) -> Retained<NSArray<NSTableColumn>>;
555
556        #[unsafe(method(numberOfColumns))]
557        #[unsafe(method_family = none)]
558        pub unsafe fn numberOfColumns(&self) -> NSInteger;
559
560        #[unsafe(method(numberOfRows))]
561        #[unsafe(method_family = none)]
562        pub unsafe fn numberOfRows(&self) -> NSInteger;
563
564        #[cfg(feature = "NSTableColumn")]
565        #[unsafe(method(addTableColumn:))]
566        #[unsafe(method_family = none)]
567        pub unsafe fn addTableColumn(&self, table_column: &NSTableColumn);
568
569        #[cfg(feature = "NSTableColumn")]
570        #[unsafe(method(removeTableColumn:))]
571        #[unsafe(method_family = none)]
572        pub unsafe fn removeTableColumn(&self, table_column: &NSTableColumn);
573
574        #[unsafe(method(moveColumn:toColumn:))]
575        #[unsafe(method_family = none)]
576        pub unsafe fn moveColumn_toColumn(&self, old_index: NSInteger, new_index: NSInteger);
577
578        #[cfg(feature = "NSUserInterfaceItemIdentification")]
579        #[unsafe(method(columnWithIdentifier:))]
580        #[unsafe(method_family = none)]
581        pub unsafe fn columnWithIdentifier(
582            &self,
583            identifier: &NSUserInterfaceItemIdentifier,
584        ) -> NSInteger;
585
586        #[cfg(all(
587            feature = "NSTableColumn",
588            feature = "NSUserInterfaceItemIdentification"
589        ))]
590        #[unsafe(method(tableColumnWithIdentifier:))]
591        #[unsafe(method_family = none)]
592        pub unsafe fn tableColumnWithIdentifier(
593            &self,
594            identifier: &NSUserInterfaceItemIdentifier,
595        ) -> Option<Retained<NSTableColumn>>;
596
597        #[unsafe(method(tile))]
598        #[unsafe(method_family = none)]
599        pub unsafe fn tile(&self);
600
601        #[unsafe(method(sizeToFit))]
602        #[unsafe(method_family = none)]
603        pub unsafe fn sizeToFit(&self);
604
605        #[unsafe(method(sizeLastColumnToFit))]
606        #[unsafe(method_family = none)]
607        pub unsafe fn sizeLastColumnToFit(&self);
608
609        #[unsafe(method(scrollRowToVisible:))]
610        #[unsafe(method_family = none)]
611        pub unsafe fn scrollRowToVisible(&self, row: NSInteger);
612
613        #[unsafe(method(scrollColumnToVisible:))]
614        #[unsafe(method_family = none)]
615        pub unsafe fn scrollColumnToVisible(&self, column: NSInteger);
616
617        #[unsafe(method(reloadData))]
618        #[unsafe(method_family = none)]
619        pub unsafe fn reloadData(&self);
620
621        #[unsafe(method(noteNumberOfRowsChanged))]
622        #[unsafe(method_family = none)]
623        pub unsafe fn noteNumberOfRowsChanged(&self);
624
625        #[unsafe(method(reloadDataForRowIndexes:columnIndexes:))]
626        #[unsafe(method_family = none)]
627        pub unsafe fn reloadDataForRowIndexes_columnIndexes(
628            &self,
629            row_indexes: &NSIndexSet,
630            column_indexes: &NSIndexSet,
631        );
632
633        #[unsafe(method(editedColumn))]
634        #[unsafe(method_family = none)]
635        pub unsafe fn editedColumn(&self) -> NSInteger;
636
637        #[unsafe(method(editedRow))]
638        #[unsafe(method_family = none)]
639        pub unsafe fn editedRow(&self) -> NSInteger;
640
641        #[unsafe(method(clickedColumn))]
642        #[unsafe(method_family = none)]
643        pub unsafe fn clickedColumn(&self) -> NSInteger;
644
645        #[unsafe(method(clickedRow))]
646        #[unsafe(method_family = none)]
647        pub unsafe fn clickedRow(&self) -> NSInteger;
648
649        #[unsafe(method(doubleAction))]
650        #[unsafe(method_family = none)]
651        pub unsafe fn doubleAction(&self) -> Option<Sel>;
652
653        /// Setter for [`doubleAction`][Self::doubleAction].
654        #[unsafe(method(setDoubleAction:))]
655        #[unsafe(method_family = none)]
656        pub unsafe fn setDoubleAction(&self, double_action: Option<Sel>);
657
658        #[unsafe(method(sortDescriptors))]
659        #[unsafe(method_family = none)]
660        pub unsafe fn sortDescriptors(&self) -> Retained<NSArray<NSSortDescriptor>>;
661
662        /// Setter for [`sortDescriptors`][Self::sortDescriptors].
663        #[unsafe(method(setSortDescriptors:))]
664        #[unsafe(method_family = none)]
665        pub unsafe fn setSortDescriptors(&self, sort_descriptors: &NSArray<NSSortDescriptor>);
666
667        #[cfg(all(feature = "NSImage", feature = "NSTableColumn"))]
668        #[unsafe(method(setIndicatorImage:inTableColumn:))]
669        #[unsafe(method_family = none)]
670        pub unsafe fn setIndicatorImage_inTableColumn(
671            &self,
672            image: Option<&NSImage>,
673            table_column: &NSTableColumn,
674        );
675
676        #[cfg(all(feature = "NSImage", feature = "NSTableColumn"))]
677        #[unsafe(method(indicatorImageInTableColumn:))]
678        #[unsafe(method_family = none)]
679        pub unsafe fn indicatorImageInTableColumn(
680            &self,
681            table_column: &NSTableColumn,
682        ) -> Option<Retained<NSImage>>;
683
684        #[cfg(feature = "NSTableColumn")]
685        #[unsafe(method(highlightedTableColumn))]
686        #[unsafe(method_family = none)]
687        pub unsafe fn highlightedTableColumn(&self) -> Option<Retained<NSTableColumn>>;
688
689        #[cfg(feature = "NSTableColumn")]
690        /// This is a [weak property][objc2::topics::weak_property].
691        /// Setter for [`highlightedTableColumn`][Self::highlightedTableColumn].
692        #[unsafe(method(setHighlightedTableColumn:))]
693        #[unsafe(method_family = none)]
694        pub unsafe fn setHighlightedTableColumn(
695            &self,
696            highlighted_table_column: Option<&NSTableColumn>,
697        );
698
699        #[unsafe(method(verticalMotionCanBeginDrag))]
700        #[unsafe(method_family = none)]
701        pub unsafe fn verticalMotionCanBeginDrag(&self) -> bool;
702
703        /// Setter for [`verticalMotionCanBeginDrag`][Self::verticalMotionCanBeginDrag].
704        #[unsafe(method(setVerticalMotionCanBeginDrag:))]
705        #[unsafe(method_family = none)]
706        pub unsafe fn setVerticalMotionCanBeginDrag(&self, vertical_motion_can_begin_drag: bool);
707
708        #[unsafe(method(canDragRowsWithIndexes:atPoint:))]
709        #[unsafe(method_family = none)]
710        pub unsafe fn canDragRowsWithIndexes_atPoint(
711            &self,
712            row_indexes: &NSIndexSet,
713            mouse_down_point: NSPoint,
714        ) -> bool;
715
716        #[cfg(all(feature = "NSEvent", feature = "NSImage", feature = "NSTableColumn"))]
717        #[unsafe(method(dragImageForRowsWithIndexes:tableColumns:event:offset:))]
718        #[unsafe(method_family = none)]
719        pub unsafe fn dragImageForRowsWithIndexes_tableColumns_event_offset(
720            &self,
721            drag_rows: &NSIndexSet,
722            table_columns: &NSArray<NSTableColumn>,
723            drag_event: &NSEvent,
724            drag_image_offset: NSPointPointer,
725        ) -> Retained<NSImage>;
726
727        #[cfg(feature = "NSDragging")]
728        #[unsafe(method(setDraggingSourceOperationMask:forLocal:))]
729        #[unsafe(method_family = none)]
730        pub unsafe fn setDraggingSourceOperationMask_forLocal(
731            &self,
732            mask: NSDragOperation,
733            is_local: bool,
734        );
735
736        #[unsafe(method(setDropRow:dropOperation:))]
737        #[unsafe(method_family = none)]
738        pub unsafe fn setDropRow_dropOperation(
739            &self,
740            row: NSInteger,
741            drop_operation: NSTableViewDropOperation,
742        );
743
744        #[unsafe(method(allowsMultipleSelection))]
745        #[unsafe(method_family = none)]
746        pub unsafe fn allowsMultipleSelection(&self) -> bool;
747
748        /// Setter for [`allowsMultipleSelection`][Self::allowsMultipleSelection].
749        #[unsafe(method(setAllowsMultipleSelection:))]
750        #[unsafe(method_family = none)]
751        pub unsafe fn setAllowsMultipleSelection(&self, allows_multiple_selection: bool);
752
753        #[unsafe(method(allowsEmptySelection))]
754        #[unsafe(method_family = none)]
755        pub unsafe fn allowsEmptySelection(&self) -> bool;
756
757        /// Setter for [`allowsEmptySelection`][Self::allowsEmptySelection].
758        #[unsafe(method(setAllowsEmptySelection:))]
759        #[unsafe(method_family = none)]
760        pub unsafe fn setAllowsEmptySelection(&self, allows_empty_selection: bool);
761
762        #[unsafe(method(allowsColumnSelection))]
763        #[unsafe(method_family = none)]
764        pub unsafe fn allowsColumnSelection(&self) -> bool;
765
766        /// Setter for [`allowsColumnSelection`][Self::allowsColumnSelection].
767        #[unsafe(method(setAllowsColumnSelection:))]
768        #[unsafe(method_family = none)]
769        pub unsafe fn setAllowsColumnSelection(&self, allows_column_selection: bool);
770
771        #[unsafe(method(selectAll:))]
772        #[unsafe(method_family = none)]
773        pub unsafe fn selectAll(&self, sender: Option<&AnyObject>);
774
775        #[unsafe(method(deselectAll:))]
776        #[unsafe(method_family = none)]
777        pub unsafe fn deselectAll(&self, sender: Option<&AnyObject>);
778
779        #[unsafe(method(selectColumnIndexes:byExtendingSelection:))]
780        #[unsafe(method_family = none)]
781        pub unsafe fn selectColumnIndexes_byExtendingSelection(
782            &self,
783            indexes: &NSIndexSet,
784            extend: bool,
785        );
786
787        #[unsafe(method(selectRowIndexes:byExtendingSelection:))]
788        #[unsafe(method_family = none)]
789        pub unsafe fn selectRowIndexes_byExtendingSelection(
790            &self,
791            indexes: &NSIndexSet,
792            extend: bool,
793        );
794
795        #[unsafe(method(selectedColumnIndexes))]
796        #[unsafe(method_family = none)]
797        pub unsafe fn selectedColumnIndexes(&self) -> Retained<NSIndexSet>;
798
799        #[unsafe(method(selectedRowIndexes))]
800        #[unsafe(method_family = none)]
801        pub unsafe fn selectedRowIndexes(&self) -> Retained<NSIndexSet>;
802
803        #[unsafe(method(deselectColumn:))]
804        #[unsafe(method_family = none)]
805        pub unsafe fn deselectColumn(&self, column: NSInteger);
806
807        #[unsafe(method(deselectRow:))]
808        #[unsafe(method_family = none)]
809        pub unsafe fn deselectRow(&self, row: NSInteger);
810
811        #[unsafe(method(selectedColumn))]
812        #[unsafe(method_family = none)]
813        pub unsafe fn selectedColumn(&self) -> NSInteger;
814
815        #[unsafe(method(selectedRow))]
816        #[unsafe(method_family = none)]
817        pub unsafe fn selectedRow(&self) -> NSInteger;
818
819        #[unsafe(method(isColumnSelected:))]
820        #[unsafe(method_family = none)]
821        pub unsafe fn isColumnSelected(&self, column: NSInteger) -> bool;
822
823        #[unsafe(method(isRowSelected:))]
824        #[unsafe(method_family = none)]
825        pub unsafe fn isRowSelected(&self, row: NSInteger) -> bool;
826
827        #[unsafe(method(numberOfSelectedColumns))]
828        #[unsafe(method_family = none)]
829        pub unsafe fn numberOfSelectedColumns(&self) -> NSInteger;
830
831        #[unsafe(method(numberOfSelectedRows))]
832        #[unsafe(method_family = none)]
833        pub unsafe fn numberOfSelectedRows(&self) -> NSInteger;
834
835        #[unsafe(method(allowsTypeSelect))]
836        #[unsafe(method_family = none)]
837        pub unsafe fn allowsTypeSelect(&self) -> bool;
838
839        /// Setter for [`allowsTypeSelect`][Self::allowsTypeSelect].
840        #[unsafe(method(setAllowsTypeSelect:))]
841        #[unsafe(method_family = none)]
842        pub unsafe fn setAllowsTypeSelect(&self, allows_type_select: bool);
843
844        #[unsafe(method(style))]
845        #[unsafe(method_family = none)]
846        pub unsafe fn style(&self) -> NSTableViewStyle;
847
848        /// Setter for [`style`][Self::style].
849        #[unsafe(method(setStyle:))]
850        #[unsafe(method_family = none)]
851        pub unsafe fn setStyle(&self, style: NSTableViewStyle);
852
853        #[unsafe(method(effectiveStyle))]
854        #[unsafe(method_family = none)]
855        pub unsafe fn effectiveStyle(&self) -> NSTableViewStyle;
856
857        #[unsafe(method(selectionHighlightStyle))]
858        #[unsafe(method_family = none)]
859        pub unsafe fn selectionHighlightStyle(&self) -> NSTableViewSelectionHighlightStyle;
860
861        /// Setter for [`selectionHighlightStyle`][Self::selectionHighlightStyle].
862        #[unsafe(method(setSelectionHighlightStyle:))]
863        #[unsafe(method_family = none)]
864        pub unsafe fn setSelectionHighlightStyle(
865            &self,
866            selection_highlight_style: NSTableViewSelectionHighlightStyle,
867        );
868
869        #[unsafe(method(draggingDestinationFeedbackStyle))]
870        #[unsafe(method_family = none)]
871        pub unsafe fn draggingDestinationFeedbackStyle(
872            &self,
873        ) -> NSTableViewDraggingDestinationFeedbackStyle;
874
875        /// Setter for [`draggingDestinationFeedbackStyle`][Self::draggingDestinationFeedbackStyle].
876        #[unsafe(method(setDraggingDestinationFeedbackStyle:))]
877        #[unsafe(method_family = none)]
878        pub unsafe fn setDraggingDestinationFeedbackStyle(
879            &self,
880            dragging_destination_feedback_style: NSTableViewDraggingDestinationFeedbackStyle,
881        );
882
883        #[unsafe(method(rectOfColumn:))]
884        #[unsafe(method_family = none)]
885        pub unsafe fn rectOfColumn(&self, column: NSInteger) -> NSRect;
886
887        #[unsafe(method(rectOfRow:))]
888        #[unsafe(method_family = none)]
889        pub unsafe fn rectOfRow(&self, row: NSInteger) -> NSRect;
890
891        #[unsafe(method(columnIndexesInRect:))]
892        #[unsafe(method_family = none)]
893        pub unsafe fn columnIndexesInRect(&self, rect: NSRect) -> Retained<NSIndexSet>;
894
895        #[unsafe(method(rowsInRect:))]
896        #[unsafe(method_family = none)]
897        pub unsafe fn rowsInRect(&self, rect: NSRect) -> NSRange;
898
899        #[unsafe(method(columnAtPoint:))]
900        #[unsafe(method_family = none)]
901        pub unsafe fn columnAtPoint(&self, point: NSPoint) -> NSInteger;
902
903        #[unsafe(method(rowAtPoint:))]
904        #[unsafe(method_family = none)]
905        pub unsafe fn rowAtPoint(&self, point: NSPoint) -> NSInteger;
906
907        #[unsafe(method(frameOfCellAtColumn:row:))]
908        #[unsafe(method_family = none)]
909        pub unsafe fn frameOfCellAtColumn_row(&self, column: NSInteger, row: NSInteger) -> NSRect;
910
911        #[unsafe(method(autosaveName))]
912        #[unsafe(method_family = none)]
913        pub unsafe fn autosaveName(&self) -> Option<Retained<NSTableViewAutosaveName>>;
914
915        /// Setter for [`autosaveName`][Self::autosaveName].
916        #[unsafe(method(setAutosaveName:))]
917        #[unsafe(method_family = none)]
918        pub unsafe fn setAutosaveName(&self, autosave_name: Option<&NSTableViewAutosaveName>);
919
920        #[unsafe(method(autosaveTableColumns))]
921        #[unsafe(method_family = none)]
922        pub unsafe fn autosaveTableColumns(&self) -> bool;
923
924        /// Setter for [`autosaveTableColumns`][Self::autosaveTableColumns].
925        #[unsafe(method(setAutosaveTableColumns:))]
926        #[unsafe(method_family = none)]
927        pub unsafe fn setAutosaveTableColumns(&self, autosave_table_columns: bool);
928
929        #[cfg(feature = "NSEvent")]
930        #[unsafe(method(editColumn:row:withEvent:select:))]
931        #[unsafe(method_family = none)]
932        pub unsafe fn editColumn_row_withEvent_select(
933            &self,
934            column: NSInteger,
935            row: NSInteger,
936            event: Option<&NSEvent>,
937            select: bool,
938        );
939
940        #[unsafe(method(drawRow:clipRect:))]
941        #[unsafe(method_family = none)]
942        pub unsafe fn drawRow_clipRect(&self, row: NSInteger, clip_rect: NSRect);
943
944        #[unsafe(method(highlightSelectionInClipRect:))]
945        #[unsafe(method_family = none)]
946        pub unsafe fn highlightSelectionInClipRect(&self, clip_rect: NSRect);
947
948        #[unsafe(method(drawGridInClipRect:))]
949        #[unsafe(method_family = none)]
950        pub unsafe fn drawGridInClipRect(&self, clip_rect: NSRect);
951
952        #[unsafe(method(drawBackgroundInClipRect:))]
953        #[unsafe(method_family = none)]
954        pub unsafe fn drawBackgroundInClipRect(&self, clip_rect: NSRect);
955
956        #[unsafe(method(viewAtColumn:row:makeIfNecessary:))]
957        #[unsafe(method_family = none)]
958        pub unsafe fn viewAtColumn_row_makeIfNecessary(
959            &self,
960            column: NSInteger,
961            row: NSInteger,
962            make_if_necessary: bool,
963        ) -> Option<Retained<NSView>>;
964
965        #[cfg(feature = "NSTableRowView")]
966        #[unsafe(method(rowViewAtRow:makeIfNecessary:))]
967        #[unsafe(method_family = none)]
968        pub unsafe fn rowViewAtRow_makeIfNecessary(
969            &self,
970            row: NSInteger,
971            make_if_necessary: bool,
972        ) -> Option<Retained<NSTableRowView>>;
973
974        #[unsafe(method(rowForView:))]
975        #[unsafe(method_family = none)]
976        pub unsafe fn rowForView(&self, view: &NSView) -> NSInteger;
977
978        #[unsafe(method(columnForView:))]
979        #[unsafe(method_family = none)]
980        pub unsafe fn columnForView(&self, view: &NSView) -> NSInteger;
981
982        #[cfg(feature = "NSUserInterfaceItemIdentification")]
983        #[unsafe(method(makeViewWithIdentifier:owner:))]
984        #[unsafe(method_family = none)]
985        pub unsafe fn makeViewWithIdentifier_owner(
986            &self,
987            identifier: &NSUserInterfaceItemIdentifier,
988            owner: Option<&AnyObject>,
989        ) -> Option<Retained<NSView>>;
990
991        #[cfg(all(feature = "NSTableRowView", feature = "block2"))]
992        #[unsafe(method(enumerateAvailableRowViewsUsingBlock:))]
993        #[unsafe(method_family = none)]
994        pub unsafe fn enumerateAvailableRowViewsUsingBlock(
995            &self,
996            handler: &block2::DynBlock<dyn Fn(NonNull<NSTableRowView>, NSInteger) + '_>,
997        );
998
999        #[unsafe(method(floatsGroupRows))]
1000        #[unsafe(method_family = none)]
1001        pub unsafe fn floatsGroupRows(&self) -> bool;
1002
1003        /// Setter for [`floatsGroupRows`][Self::floatsGroupRows].
1004        #[unsafe(method(setFloatsGroupRows:))]
1005        #[unsafe(method_family = none)]
1006        pub unsafe fn setFloatsGroupRows(&self, floats_group_rows: bool);
1007
1008        #[unsafe(method(rowActionsVisible))]
1009        #[unsafe(method_family = none)]
1010        pub unsafe fn rowActionsVisible(&self) -> bool;
1011
1012        /// Setter for [`rowActionsVisible`][Self::rowActionsVisible].
1013        #[unsafe(method(setRowActionsVisible:))]
1014        #[unsafe(method_family = none)]
1015        pub unsafe fn setRowActionsVisible(&self, row_actions_visible: bool);
1016
1017        #[unsafe(method(beginUpdates))]
1018        #[unsafe(method_family = none)]
1019        pub unsafe fn beginUpdates(&self);
1020
1021        #[unsafe(method(endUpdates))]
1022        #[unsafe(method_family = none)]
1023        pub unsafe fn endUpdates(&self);
1024
1025        #[unsafe(method(insertRowsAtIndexes:withAnimation:))]
1026        #[unsafe(method_family = none)]
1027        pub unsafe fn insertRowsAtIndexes_withAnimation(
1028            &self,
1029            indexes: &NSIndexSet,
1030            animation_options: NSTableViewAnimationOptions,
1031        );
1032
1033        #[unsafe(method(removeRowsAtIndexes:withAnimation:))]
1034        #[unsafe(method_family = none)]
1035        pub unsafe fn removeRowsAtIndexes_withAnimation(
1036            &self,
1037            indexes: &NSIndexSet,
1038            animation_options: NSTableViewAnimationOptions,
1039        );
1040
1041        #[unsafe(method(moveRowAtIndex:toIndex:))]
1042        #[unsafe(method_family = none)]
1043        pub unsafe fn moveRowAtIndex_toIndex(&self, old_index: NSInteger, new_index: NSInteger);
1044
1045        #[unsafe(method(hideRowsAtIndexes:withAnimation:))]
1046        #[unsafe(method_family = none)]
1047        pub unsafe fn hideRowsAtIndexes_withAnimation(
1048            &self,
1049            indexes: &NSIndexSet,
1050            row_animation: NSTableViewAnimationOptions,
1051        );
1052
1053        #[unsafe(method(unhideRowsAtIndexes:withAnimation:))]
1054        #[unsafe(method_family = none)]
1055        pub unsafe fn unhideRowsAtIndexes_withAnimation(
1056            &self,
1057            indexes: &NSIndexSet,
1058            row_animation: NSTableViewAnimationOptions,
1059        );
1060
1061        #[unsafe(method(hiddenRowIndexes))]
1062        #[unsafe(method_family = none)]
1063        pub unsafe fn hiddenRowIndexes(&self) -> Retained<NSIndexSet>;
1064
1065        #[cfg(all(feature = "NSNib", feature = "NSUserInterfaceItemIdentification"))]
1066        #[unsafe(method(registerNib:forIdentifier:))]
1067        #[unsafe(method_family = none)]
1068        pub unsafe fn registerNib_forIdentifier(
1069            &self,
1070            nib: Option<&NSNib>,
1071            identifier: &NSUserInterfaceItemIdentifier,
1072        );
1073
1074        #[cfg(all(feature = "NSNib", feature = "NSUserInterfaceItemIdentification"))]
1075        #[unsafe(method(registeredNibsByIdentifier))]
1076        #[unsafe(method_family = none)]
1077        pub unsafe fn registeredNibsByIdentifier(
1078            &self,
1079        ) -> Option<Retained<NSDictionary<NSUserInterfaceItemIdentifier, NSNib>>>;
1080
1081        #[cfg(feature = "NSTableRowView")]
1082        #[unsafe(method(didAddRowView:forRow:))]
1083        #[unsafe(method_family = none)]
1084        pub unsafe fn didAddRowView_forRow(&self, row_view: &NSTableRowView, row: NSInteger);
1085
1086        #[cfg(feature = "NSTableRowView")]
1087        #[unsafe(method(didRemoveRowView:forRow:))]
1088        #[unsafe(method_family = none)]
1089        pub unsafe fn didRemoveRowView_forRow(&self, row_view: &NSTableRowView, row: NSInteger);
1090
1091        #[unsafe(method(usesStaticContents))]
1092        #[unsafe(method_family = none)]
1093        pub unsafe fn usesStaticContents(&self) -> bool;
1094
1095        /// Setter for [`usesStaticContents`][Self::usesStaticContents].
1096        #[unsafe(method(setUsesStaticContents:))]
1097        #[unsafe(method_family = none)]
1098        pub unsafe fn setUsesStaticContents(&self, uses_static_contents: bool);
1099
1100        #[cfg(feature = "NSUserInterfaceLayout")]
1101        #[unsafe(method(userInterfaceLayoutDirection))]
1102        #[unsafe(method_family = none)]
1103        pub unsafe fn userInterfaceLayoutDirection(&self) -> NSUserInterfaceLayoutDirection;
1104
1105        #[cfg(feature = "NSUserInterfaceLayout")]
1106        /// Setter for [`userInterfaceLayoutDirection`][Self::userInterfaceLayoutDirection].
1107        #[unsafe(method(setUserInterfaceLayoutDirection:))]
1108        #[unsafe(method_family = none)]
1109        pub unsafe fn setUserInterfaceLayoutDirection(
1110            &self,
1111            user_interface_layout_direction: NSUserInterfaceLayoutDirection,
1112        );
1113
1114        #[unsafe(method(usesAutomaticRowHeights))]
1115        #[unsafe(method_family = none)]
1116        pub unsafe fn usesAutomaticRowHeights(&self) -> bool;
1117
1118        /// Setter for [`usesAutomaticRowHeights`][Self::usesAutomaticRowHeights].
1119        #[unsafe(method(setUsesAutomaticRowHeights:))]
1120        #[unsafe(method_family = none)]
1121        pub unsafe fn setUsesAutomaticRowHeights(&self, uses_automatic_row_heights: bool);
1122    );
1123}
1124
1125/// Methods declared on superclass `NSResponder`.
1126#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
1127impl NSTableView {
1128    extern_methods!(
1129        #[unsafe(method(init))]
1130        #[unsafe(method_family = init)]
1131        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
1132    );
1133}
1134
1135/// Methods declared on superclass `NSObject`.
1136#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
1137impl NSTableView {
1138    extern_methods!(
1139        #[unsafe(method(new))]
1140        #[unsafe(method_family = new)]
1141        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
1142    );
1143}
1144
1145extern_protocol!(
1146    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewdelegate?language=objc)
1147    #[cfg(feature = "NSControl")]
1148    pub unsafe trait NSTableViewDelegate: NSControlTextEditingDelegate {
1149        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1150        #[optional]
1151        #[unsafe(method(tableView:viewForTableColumn:row:))]
1152        #[unsafe(method_family = none)]
1153        unsafe fn tableView_viewForTableColumn_row(
1154            &self,
1155            table_view: &NSTableView,
1156            table_column: Option<&NSTableColumn>,
1157            row: NSInteger,
1158        ) -> Option<Retained<NSView>>;
1159
1160        #[cfg(all(
1161            feature = "NSResponder",
1162            feature = "NSTableRowView",
1163            feature = "NSView"
1164        ))]
1165        #[optional]
1166        #[unsafe(method(tableView:rowViewForRow:))]
1167        #[unsafe(method_family = none)]
1168        unsafe fn tableView_rowViewForRow(
1169            &self,
1170            table_view: &NSTableView,
1171            row: NSInteger,
1172        ) -> Option<Retained<NSTableRowView>>;
1173
1174        #[cfg(all(
1175            feature = "NSResponder",
1176            feature = "NSTableRowView",
1177            feature = "NSView"
1178        ))]
1179        #[optional]
1180        #[unsafe(method(tableView:didAddRowView:forRow:))]
1181        #[unsafe(method_family = none)]
1182        unsafe fn tableView_didAddRowView_forRow(
1183            &self,
1184            table_view: &NSTableView,
1185            row_view: &NSTableRowView,
1186            row: NSInteger,
1187        );
1188
1189        #[cfg(all(
1190            feature = "NSResponder",
1191            feature = "NSTableRowView",
1192            feature = "NSView"
1193        ))]
1194        #[optional]
1195        #[unsafe(method(tableView:didRemoveRowView:forRow:))]
1196        #[unsafe(method_family = none)]
1197        unsafe fn tableView_didRemoveRowView_forRow(
1198            &self,
1199            table_view: &NSTableView,
1200            row_view: &NSTableRowView,
1201            row: NSInteger,
1202        );
1203
1204        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1205        #[optional]
1206        #[unsafe(method(tableView:willDisplayCell:forTableColumn:row:))]
1207        #[unsafe(method_family = none)]
1208        unsafe fn tableView_willDisplayCell_forTableColumn_row(
1209            &self,
1210            table_view: &NSTableView,
1211            cell: &AnyObject,
1212            table_column: Option<&NSTableColumn>,
1213            row: NSInteger,
1214        );
1215
1216        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1217        #[optional]
1218        #[unsafe(method(tableView:shouldEditTableColumn:row:))]
1219        #[unsafe(method_family = none)]
1220        unsafe fn tableView_shouldEditTableColumn_row(
1221            &self,
1222            table_view: &NSTableView,
1223            table_column: Option<&NSTableColumn>,
1224            row: NSInteger,
1225        ) -> bool;
1226
1227        #[cfg(all(
1228            feature = "NSCell",
1229            feature = "NSResponder",
1230            feature = "NSTableColumn",
1231            feature = "NSView"
1232        ))]
1233        #[optional]
1234        #[unsafe(method(tableView:toolTipForCell:rect:tableColumn:row:mouseLocation:))]
1235        #[unsafe(method_family = none)]
1236        unsafe fn tableView_toolTipForCell_rect_tableColumn_row_mouseLocation(
1237            &self,
1238            table_view: &NSTableView,
1239            cell: &NSCell,
1240            rect: NSRectPointer,
1241            table_column: Option<&NSTableColumn>,
1242            row: NSInteger,
1243            mouse_location: NSPoint,
1244        ) -> Retained<NSString>;
1245
1246        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1247        #[optional]
1248        #[unsafe(method(tableView:shouldShowCellExpansionForTableColumn:row:))]
1249        #[unsafe(method_family = none)]
1250        unsafe fn tableView_shouldShowCellExpansionForTableColumn_row(
1251            &self,
1252            table_view: &NSTableView,
1253            table_column: Option<&NSTableColumn>,
1254            row: NSInteger,
1255        ) -> bool;
1256
1257        #[cfg(all(
1258            feature = "NSCell",
1259            feature = "NSResponder",
1260            feature = "NSTableColumn",
1261            feature = "NSView"
1262        ))]
1263        #[optional]
1264        #[unsafe(method(tableView:shouldTrackCell:forTableColumn:row:))]
1265        #[unsafe(method_family = none)]
1266        unsafe fn tableView_shouldTrackCell_forTableColumn_row(
1267            &self,
1268            table_view: &NSTableView,
1269            cell: &NSCell,
1270            table_column: Option<&NSTableColumn>,
1271            row: NSInteger,
1272        ) -> bool;
1273
1274        #[cfg(all(
1275            feature = "NSCell",
1276            feature = "NSResponder",
1277            feature = "NSTableColumn",
1278            feature = "NSView"
1279        ))]
1280        #[optional]
1281        #[unsafe(method(tableView:dataCellForTableColumn:row:))]
1282        #[unsafe(method_family = none)]
1283        unsafe fn tableView_dataCellForTableColumn_row(
1284            &self,
1285            table_view: &NSTableView,
1286            table_column: Option<&NSTableColumn>,
1287            row: NSInteger,
1288        ) -> Option<Retained<NSCell>>;
1289
1290        #[cfg(all(feature = "NSResponder", feature = "NSView"))]
1291        #[optional]
1292        #[unsafe(method(selectionShouldChangeInTableView:))]
1293        #[unsafe(method_family = none)]
1294        unsafe fn selectionShouldChangeInTableView(&self, table_view: &NSTableView) -> bool;
1295
1296        #[cfg(all(feature = "NSResponder", feature = "NSView"))]
1297        #[optional]
1298        #[unsafe(method(tableView:shouldSelectRow:))]
1299        #[unsafe(method_family = none)]
1300        unsafe fn tableView_shouldSelectRow(
1301            &self,
1302            table_view: &NSTableView,
1303            row: NSInteger,
1304        ) -> bool;
1305
1306        #[cfg(all(feature = "NSResponder", feature = "NSView"))]
1307        #[optional]
1308        #[unsafe(method(tableView:selectionIndexesForProposedSelection:))]
1309        #[unsafe(method_family = none)]
1310        unsafe fn tableView_selectionIndexesForProposedSelection(
1311            &self,
1312            table_view: &NSTableView,
1313            proposed_selection_indexes: &NSIndexSet,
1314        ) -> Retained<NSIndexSet>;
1315
1316        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1317        #[optional]
1318        #[unsafe(method(tableView:shouldSelectTableColumn:))]
1319        #[unsafe(method_family = none)]
1320        unsafe fn tableView_shouldSelectTableColumn(
1321            &self,
1322            table_view: &NSTableView,
1323            table_column: Option<&NSTableColumn>,
1324        ) -> bool;
1325
1326        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1327        #[optional]
1328        #[unsafe(method(tableView:mouseDownInHeaderOfTableColumn:))]
1329        #[unsafe(method_family = none)]
1330        unsafe fn tableView_mouseDownInHeaderOfTableColumn(
1331            &self,
1332            table_view: &NSTableView,
1333            table_column: &NSTableColumn,
1334        );
1335
1336        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1337        #[optional]
1338        #[unsafe(method(tableView:didClickTableColumn:))]
1339        #[unsafe(method_family = none)]
1340        unsafe fn tableView_didClickTableColumn(
1341            &self,
1342            table_view: &NSTableView,
1343            table_column: &NSTableColumn,
1344        );
1345
1346        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1347        #[optional]
1348        #[unsafe(method(tableView:didDragTableColumn:))]
1349        #[unsafe(method_family = none)]
1350        unsafe fn tableView_didDragTableColumn(
1351            &self,
1352            table_view: &NSTableView,
1353            table_column: &NSTableColumn,
1354        );
1355
1356        #[cfg(all(
1357            feature = "NSResponder",
1358            feature = "NSView",
1359            feature = "objc2-core-foundation"
1360        ))]
1361        #[optional]
1362        #[unsafe(method(tableView:heightOfRow:))]
1363        #[unsafe(method_family = none)]
1364        unsafe fn tableView_heightOfRow(&self, table_view: &NSTableView, row: NSInteger)
1365            -> CGFloat;
1366
1367        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1368        #[optional]
1369        #[unsafe(method(tableView:typeSelectStringForTableColumn:row:))]
1370        #[unsafe(method_family = none)]
1371        unsafe fn tableView_typeSelectStringForTableColumn_row(
1372            &self,
1373            table_view: &NSTableView,
1374            table_column: Option<&NSTableColumn>,
1375            row: NSInteger,
1376        ) -> Option<Retained<NSString>>;
1377
1378        #[cfg(all(feature = "NSResponder", feature = "NSView"))]
1379        #[optional]
1380        #[unsafe(method(tableView:nextTypeSelectMatchFromRow:toRow:forString:))]
1381        #[unsafe(method_family = none)]
1382        unsafe fn tableView_nextTypeSelectMatchFromRow_toRow_forString(
1383            &self,
1384            table_view: &NSTableView,
1385            start_row: NSInteger,
1386            end_row: NSInteger,
1387            search_string: &NSString,
1388        ) -> NSInteger;
1389
1390        #[cfg(all(feature = "NSEvent", feature = "NSResponder", feature = "NSView"))]
1391        #[optional]
1392        #[unsafe(method(tableView:shouldTypeSelectForEvent:withCurrentSearchString:))]
1393        #[unsafe(method_family = none)]
1394        unsafe fn tableView_shouldTypeSelectForEvent_withCurrentSearchString(
1395            &self,
1396            table_view: &NSTableView,
1397            event: &NSEvent,
1398            search_string: Option<&NSString>,
1399        ) -> bool;
1400
1401        #[cfg(all(feature = "NSResponder", feature = "NSView"))]
1402        #[optional]
1403        #[unsafe(method(tableView:isGroupRow:))]
1404        #[unsafe(method_family = none)]
1405        unsafe fn tableView_isGroupRow(&self, table_view: &NSTableView, row: NSInteger) -> bool;
1406
1407        #[cfg(all(
1408            feature = "NSResponder",
1409            feature = "NSView",
1410            feature = "objc2-core-foundation"
1411        ))]
1412        #[optional]
1413        #[unsafe(method(tableView:sizeToFitWidthOfColumn:))]
1414        #[unsafe(method_family = none)]
1415        unsafe fn tableView_sizeToFitWidthOfColumn(
1416            &self,
1417            table_view: &NSTableView,
1418            column: NSInteger,
1419        ) -> CGFloat;
1420
1421        #[cfg(all(feature = "NSResponder", feature = "NSView"))]
1422        #[optional]
1423        #[unsafe(method(tableView:shouldReorderColumn:toColumn:))]
1424        #[unsafe(method_family = none)]
1425        unsafe fn tableView_shouldReorderColumn_toColumn(
1426            &self,
1427            table_view: &NSTableView,
1428            column_index: NSInteger,
1429            new_column_index: NSInteger,
1430        ) -> bool;
1431
1432        #[cfg(all(
1433            feature = "NSResponder",
1434            feature = "NSTableViewRowAction",
1435            feature = "NSView"
1436        ))]
1437        #[optional]
1438        #[unsafe(method(tableView:rowActionsForRow:edge:))]
1439        #[unsafe(method_family = none)]
1440        unsafe fn tableView_rowActionsForRow_edge(
1441            &self,
1442            table_view: &NSTableView,
1443            row: NSInteger,
1444            edge: NSTableRowActionEdge,
1445        ) -> Retained<NSArray<NSTableViewRowAction>>;
1446
1447        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1448        #[optional]
1449        #[unsafe(method(tableView:userCanChangeVisibilityOfTableColumn:))]
1450        #[unsafe(method_family = none)]
1451        unsafe fn tableView_userCanChangeVisibilityOfTableColumn(
1452            &self,
1453            table_view: &NSTableView,
1454            column: &NSTableColumn,
1455        ) -> bool;
1456
1457        #[cfg(all(feature = "NSResponder", feature = "NSTableColumn", feature = "NSView"))]
1458        #[optional]
1459        #[unsafe(method(tableView:userDidChangeVisibilityOfTableColumns:))]
1460        #[unsafe(method_family = none)]
1461        unsafe fn tableView_userDidChangeVisibilityOfTableColumns(
1462            &self,
1463            table_view: &NSTableView,
1464            columns: &NSArray<NSTableColumn>,
1465        );
1466
1467        #[optional]
1468        #[unsafe(method(tableViewSelectionDidChange:))]
1469        #[unsafe(method_family = none)]
1470        unsafe fn tableViewSelectionDidChange(&self, notification: &NSNotification);
1471
1472        #[optional]
1473        #[unsafe(method(tableViewColumnDidMove:))]
1474        #[unsafe(method_family = none)]
1475        unsafe fn tableViewColumnDidMove(&self, notification: &NSNotification);
1476
1477        #[optional]
1478        #[unsafe(method(tableViewColumnDidResize:))]
1479        #[unsafe(method_family = none)]
1480        unsafe fn tableViewColumnDidResize(&self, notification: &NSNotification);
1481
1482        #[optional]
1483        #[unsafe(method(tableViewSelectionIsChanging:))]
1484        #[unsafe(method_family = none)]
1485        unsafe fn tableViewSelectionIsChanging(&self, notification: &NSNotification);
1486    }
1487);
1488
1489extern "C" {
1490    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewselectiondidchangenotification?language=objc)
1491    pub static NSTableViewSelectionDidChangeNotification: &'static NSNotificationName;
1492}
1493
1494extern "C" {
1495    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewcolumndidmovenotification?language=objc)
1496    pub static NSTableViewColumnDidMoveNotification: &'static NSNotificationName;
1497}
1498
1499extern "C" {
1500    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewcolumndidresizenotification?language=objc)
1501    pub static NSTableViewColumnDidResizeNotification: &'static NSNotificationName;
1502}
1503
1504extern "C" {
1505    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewselectionischangingnotification?language=objc)
1506    pub static NSTableViewSelectionIsChangingNotification: &'static NSNotificationName;
1507}
1508
1509extern "C" {
1510    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewrowviewkey?language=objc)
1511    #[cfg(feature = "NSUserInterfaceItemIdentification")]
1512    pub static NSTableViewRowViewKey: &'static NSUserInterfaceItemIdentifier;
1513}
1514
1515extern_protocol!(
1516    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstableviewdatasource?language=objc)
1517    pub unsafe trait NSTableViewDataSource: NSObjectProtocol {
1518        #[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
1519        #[optional]
1520        #[unsafe(method(numberOfRowsInTableView:))]
1521        #[unsafe(method_family = none)]
1522        unsafe fn numberOfRowsInTableView(&self, table_view: &NSTableView) -> NSInteger;
1523
1524        #[cfg(all(
1525            feature = "NSControl",
1526            feature = "NSResponder",
1527            feature = "NSTableColumn",
1528            feature = "NSView"
1529        ))]
1530        #[optional]
1531        #[unsafe(method(tableView:objectValueForTableColumn:row:))]
1532        #[unsafe(method_family = none)]
1533        unsafe fn tableView_objectValueForTableColumn_row(
1534            &self,
1535            table_view: &NSTableView,
1536            table_column: Option<&NSTableColumn>,
1537            row: NSInteger,
1538        ) -> Option<Retained<AnyObject>>;
1539
1540        #[cfg(all(
1541            feature = "NSControl",
1542            feature = "NSResponder",
1543            feature = "NSTableColumn",
1544            feature = "NSView"
1545        ))]
1546        #[optional]
1547        #[unsafe(method(tableView:setObjectValue:forTableColumn:row:))]
1548        #[unsafe(method_family = none)]
1549        unsafe fn tableView_setObjectValue_forTableColumn_row(
1550            &self,
1551            table_view: &NSTableView,
1552            object: Option<&AnyObject>,
1553            table_column: Option<&NSTableColumn>,
1554            row: NSInteger,
1555        );
1556
1557        #[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
1558        #[optional]
1559        #[unsafe(method(tableView:sortDescriptorsDidChange:))]
1560        #[unsafe(method_family = none)]
1561        unsafe fn tableView_sortDescriptorsDidChange(
1562            &self,
1563            table_view: &NSTableView,
1564            old_descriptors: &NSArray<NSSortDescriptor>,
1565        );
1566
1567        #[cfg(all(
1568            feature = "NSControl",
1569            feature = "NSPasteboard",
1570            feature = "NSResponder",
1571            feature = "NSView"
1572        ))]
1573        #[optional]
1574        #[unsafe(method(tableView:pasteboardWriterForRow:))]
1575        #[unsafe(method_family = none)]
1576        unsafe fn tableView_pasteboardWriterForRow(
1577            &self,
1578            table_view: &NSTableView,
1579            row: NSInteger,
1580        ) -> Option<Retained<ProtocolObject<dyn NSPasteboardWriting>>>;
1581
1582        #[cfg(all(
1583            feature = "NSControl",
1584            feature = "NSDraggingSession",
1585            feature = "NSResponder",
1586            feature = "NSView"
1587        ))]
1588        #[optional]
1589        #[unsafe(method(tableView:draggingSession:willBeginAtPoint:forRowIndexes:))]
1590        #[unsafe(method_family = none)]
1591        unsafe fn tableView_draggingSession_willBeginAtPoint_forRowIndexes(
1592            &self,
1593            table_view: &NSTableView,
1594            session: &NSDraggingSession,
1595            screen_point: NSPoint,
1596            row_indexes: &NSIndexSet,
1597        );
1598
1599        #[cfg(all(
1600            feature = "NSControl",
1601            feature = "NSDragging",
1602            feature = "NSDraggingSession",
1603            feature = "NSResponder",
1604            feature = "NSView"
1605        ))]
1606        #[optional]
1607        #[unsafe(method(tableView:draggingSession:endedAtPoint:operation:))]
1608        #[unsafe(method_family = none)]
1609        unsafe fn tableView_draggingSession_endedAtPoint_operation(
1610            &self,
1611            table_view: &NSTableView,
1612            session: &NSDraggingSession,
1613            screen_point: NSPoint,
1614            operation: NSDragOperation,
1615        );
1616
1617        #[cfg(all(
1618            feature = "NSControl",
1619            feature = "NSDragging",
1620            feature = "NSResponder",
1621            feature = "NSView"
1622        ))]
1623        #[optional]
1624        #[unsafe(method(tableView:updateDraggingItemsForDrag:))]
1625        #[unsafe(method_family = none)]
1626        unsafe fn tableView_updateDraggingItemsForDrag(
1627            &self,
1628            table_view: &NSTableView,
1629            dragging_info: &ProtocolObject<dyn NSDraggingInfo>,
1630        );
1631
1632        #[cfg(all(
1633            feature = "NSControl",
1634            feature = "NSPasteboard",
1635            feature = "NSResponder",
1636            feature = "NSView"
1637        ))]
1638        #[deprecated = "Use -tableView:pasteboardWriterForRow: instead"]
1639        #[optional]
1640        #[unsafe(method(tableView:writeRowsWithIndexes:toPasteboard:))]
1641        #[unsafe(method_family = none)]
1642        unsafe fn tableView_writeRowsWithIndexes_toPasteboard(
1643            &self,
1644            table_view: &NSTableView,
1645            row_indexes: &NSIndexSet,
1646            pboard: &NSPasteboard,
1647        ) -> bool;
1648
1649        #[cfg(all(
1650            feature = "NSControl",
1651            feature = "NSDragging",
1652            feature = "NSResponder",
1653            feature = "NSView"
1654        ))]
1655        #[optional]
1656        #[unsafe(method(tableView:validateDrop:proposedRow:proposedDropOperation:))]
1657        #[unsafe(method_family = none)]
1658        unsafe fn tableView_validateDrop_proposedRow_proposedDropOperation(
1659            &self,
1660            table_view: &NSTableView,
1661            info: &ProtocolObject<dyn NSDraggingInfo>,
1662            row: NSInteger,
1663            drop_operation: NSTableViewDropOperation,
1664        ) -> NSDragOperation;
1665
1666        #[cfg(all(
1667            feature = "NSControl",
1668            feature = "NSDragging",
1669            feature = "NSResponder",
1670            feature = "NSView"
1671        ))]
1672        #[optional]
1673        #[unsafe(method(tableView:acceptDrop:row:dropOperation:))]
1674        #[unsafe(method_family = none)]
1675        unsafe fn tableView_acceptDrop_row_dropOperation(
1676            &self,
1677            table_view: &NSTableView,
1678            info: &ProtocolObject<dyn NSDraggingInfo>,
1679            row: NSInteger,
1680            drop_operation: NSTableViewDropOperation,
1681        ) -> bool;
1682
1683        #[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
1684        #[deprecated = "Use NSFilePromiseReceiver objects instead"]
1685        #[optional]
1686        #[unsafe(method(tableView:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWithIndexes:))]
1687        #[unsafe(method_family = none)]
1688        unsafe fn tableView_namesOfPromisedFilesDroppedAtDestination_forDraggedRowsWithIndexes(
1689            &self,
1690            table_view: &NSTableView,
1691            drop_destination: &NSURL,
1692            index_set: &NSIndexSet,
1693        ) -> Retained<NSArray<NSString>>;
1694    }
1695);
1696
1697/// NSDeprecated.
1698#[cfg(all(feature = "NSControl", feature = "NSResponder", feature = "NSView"))]
1699impl NSTableView {
1700    extern_methods!(
1701        #[deprecated]
1702        #[unsafe(method(setDrawsGrid:))]
1703        #[unsafe(method_family = none)]
1704        pub unsafe fn setDrawsGrid(&self, flag: bool);
1705
1706        #[deprecated]
1707        #[unsafe(method(drawsGrid))]
1708        #[unsafe(method_family = none)]
1709        pub unsafe fn drawsGrid(&self) -> bool;
1710
1711        #[deprecated]
1712        #[unsafe(method(selectColumn:byExtendingSelection:))]
1713        #[unsafe(method_family = none)]
1714        pub unsafe fn selectColumn_byExtendingSelection(&self, column: NSInteger, extend: bool);
1715
1716        #[deprecated]
1717        #[unsafe(method(selectRow:byExtendingSelection:))]
1718        #[unsafe(method_family = none)]
1719        pub unsafe fn selectRow_byExtendingSelection(&self, row: NSInteger, extend: bool);
1720
1721        #[deprecated]
1722        #[unsafe(method(selectedColumnEnumerator))]
1723        #[unsafe(method_family = none)]
1724        pub unsafe fn selectedColumnEnumerator(&self) -> Retained<NSEnumerator>;
1725
1726        #[deprecated]
1727        #[unsafe(method(selectedRowEnumerator))]
1728        #[unsafe(method_family = none)]
1729        pub unsafe fn selectedRowEnumerator(&self) -> Retained<NSEnumerator>;
1730
1731        #[cfg(all(feature = "NSEvent", feature = "NSImage"))]
1732        #[deprecated]
1733        #[unsafe(method(dragImageForRows:event:dragImageOffset:))]
1734        #[unsafe(method_family = none)]
1735        pub unsafe fn dragImageForRows_event_dragImageOffset(
1736            &self,
1737            drag_rows: &NSArray,
1738            drag_event: &NSEvent,
1739            drag_image_offset: NSPointPointer,
1740        ) -> Option<Retained<NSImage>>;
1741
1742        #[deprecated]
1743        #[unsafe(method(setAutoresizesAllColumnsToFit:))]
1744        #[unsafe(method_family = none)]
1745        pub unsafe fn setAutoresizesAllColumnsToFit(&self, flag: bool);
1746
1747        #[deprecated]
1748        #[unsafe(method(autoresizesAllColumnsToFit))]
1749        #[unsafe(method_family = none)]
1750        pub unsafe fn autoresizesAllColumnsToFit(&self) -> bool;
1751
1752        #[deprecated]
1753        #[unsafe(method(columnsInRect:))]
1754        #[unsafe(method_family = none)]
1755        pub unsafe fn columnsInRect(&self, rect: NSRect) -> NSRange;
1756
1757        #[cfg(feature = "NSCell")]
1758        #[deprecated = "Use View Based TableView and -viewAtColumn:row:"]
1759        #[unsafe(method(preparedCellAtColumn:row:))]
1760        #[unsafe(method_family = none)]
1761        pub unsafe fn preparedCellAtColumn_row(
1762            &self,
1763            column: NSInteger,
1764            row: NSInteger,
1765        ) -> Option<Retained<NSCell>>;
1766
1767        #[cfg(feature = "NSText")]
1768        #[deprecated = "Use a View Based TableView with an NSTextField"]
1769        #[unsafe(method(textShouldBeginEditing:))]
1770        #[unsafe(method_family = none)]
1771        pub unsafe fn textShouldBeginEditing(&self, text_object: &NSText) -> bool;
1772
1773        #[cfg(feature = "NSText")]
1774        #[deprecated = "Use a View Based TableView with an NSTextField"]
1775        #[unsafe(method(textShouldEndEditing:))]
1776        #[unsafe(method_family = none)]
1777        pub unsafe fn textShouldEndEditing(&self, text_object: &NSText) -> bool;
1778
1779        #[deprecated = "Use a View Based TableView with an NSTextField"]
1780        #[unsafe(method(textDidBeginEditing:))]
1781        #[unsafe(method_family = none)]
1782        pub unsafe fn textDidBeginEditing(&self, notification: &NSNotification);
1783
1784        #[deprecated = "Use a View Based TableView with an NSTextField"]
1785        #[unsafe(method(textDidEndEditing:))]
1786        #[unsafe(method_family = none)]
1787        pub unsafe fn textDidEndEditing(&self, notification: &NSNotification);
1788
1789        #[deprecated = "Use a View Based TableView with an NSTextField"]
1790        #[unsafe(method(textDidChange:))]
1791        #[unsafe(method_family = none)]
1792        pub unsafe fn textDidChange(&self, notification: &NSNotification);
1793
1794        #[cfg(feature = "NSCell")]
1795        #[deprecated = "Use a View Based TableView; observe the window’s firstResponder for focus change notifications"]
1796        #[unsafe(method(shouldFocusCell:atColumn:row:))]
1797        #[unsafe(method_family = none)]
1798        pub unsafe fn shouldFocusCell_atColumn_row(
1799            &self,
1800            cell: &NSCell,
1801            column: NSInteger,
1802            row: NSInteger,
1803        ) -> bool;
1804
1805        #[deprecated = "Use a View Based TableView and observe the window.firstResponder"]
1806        #[unsafe(method(focusedColumn))]
1807        #[unsafe(method_family = none)]
1808        pub unsafe fn focusedColumn(&self) -> NSInteger;
1809
1810        #[deprecated = "Use a View Based TableView; make a particular view the first responder with [window makeFirstResponder:view] to focus it."]
1811        #[unsafe(method(setFocusedColumn:))]
1812        #[unsafe(method_family = none)]
1813        pub unsafe fn setFocusedColumn(&self, focused_column: NSInteger);
1814
1815        #[deprecated = "Use a View Based TableView; directly interact with a particular view as required and call -performClick: on it, if necessary"]
1816        #[unsafe(method(performClickOnCellAtColumn:row:))]
1817        #[unsafe(method_family = none)]
1818        pub unsafe fn performClickOnCellAtColumn_row(&self, column: NSInteger, row: NSInteger);
1819    );
1820}