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