objc2_ui_kit/generated/
UITableViewCell.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#[cfg(feature = "objc2-quartz-core")]
10#[cfg(not(target_os = "watchos"))]
11use objc2_quartz_core::*;
12
13use crate::*;
14
15/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcellstyle?language=objc)
16// NS_ENUM
17#[repr(transparent)]
18#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
19pub struct UITableViewCellStyle(pub NSInteger);
20impl UITableViewCellStyle {
21    #[doc(alias = "UITableViewCellStyleDefault")]
22    pub const Default: Self = Self(0);
23    #[doc(alias = "UITableViewCellStyleValue1")]
24    pub const Value1: Self = Self(1);
25    #[doc(alias = "UITableViewCellStyleValue2")]
26    pub const Value2: Self = Self(2);
27    #[doc(alias = "UITableViewCellStyleSubtitle")]
28    pub const Subtitle: Self = Self(3);
29}
30
31unsafe impl Encode for UITableViewCellStyle {
32    const ENCODING: Encoding = NSInteger::ENCODING;
33}
34
35unsafe impl RefEncode for UITableViewCellStyle {
36    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
37}
38
39/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcellseparatorstyle?language=objc)
40// NS_ENUM
41#[repr(transparent)]
42#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
43pub struct UITableViewCellSeparatorStyle(pub NSInteger);
44impl UITableViewCellSeparatorStyle {
45    #[doc(alias = "UITableViewCellSeparatorStyleNone")]
46    pub const None: Self = Self(0);
47    #[doc(alias = "UITableViewCellSeparatorStyleSingleLine")]
48    pub const SingleLine: Self = Self(1);
49    #[deprecated = "Use UITableViewCellSeparatorStyleSingleLine for a single line separator."]
50    #[doc(alias = "UITableViewCellSeparatorStyleSingleLineEtched")]
51    pub const SingleLineEtched: Self = Self(2);
52}
53
54unsafe impl Encode for UITableViewCellSeparatorStyle {
55    const ENCODING: Encoding = NSInteger::ENCODING;
56}
57
58unsafe impl RefEncode for UITableViewCellSeparatorStyle {
59    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
60}
61
62/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcellselectionstyle?language=objc)
63// NS_ENUM
64#[repr(transparent)]
65#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
66pub struct UITableViewCellSelectionStyle(pub NSInteger);
67impl UITableViewCellSelectionStyle {
68    #[doc(alias = "UITableViewCellSelectionStyleNone")]
69    pub const None: Self = Self(0);
70    #[doc(alias = "UITableViewCellSelectionStyleBlue")]
71    pub const Blue: Self = Self(1);
72    #[doc(alias = "UITableViewCellSelectionStyleGray")]
73    pub const Gray: Self = Self(2);
74    #[doc(alias = "UITableViewCellSelectionStyleDefault")]
75    pub const Default: Self = Self(3);
76}
77
78unsafe impl Encode for UITableViewCellSelectionStyle {
79    const ENCODING: Encoding = NSInteger::ENCODING;
80}
81
82unsafe impl RefEncode for UITableViewCellSelectionStyle {
83    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
84}
85
86/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcellfocusstyle?language=objc)
87// NS_ENUM
88#[repr(transparent)]
89#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
90pub struct UITableViewCellFocusStyle(pub NSInteger);
91impl UITableViewCellFocusStyle {
92    #[doc(alias = "UITableViewCellFocusStyleDefault")]
93    pub const Default: Self = Self(0);
94    #[doc(alias = "UITableViewCellFocusStyleCustom")]
95    pub const Custom: Self = Self(1);
96}
97
98unsafe impl Encode for UITableViewCellFocusStyle {
99    const ENCODING: Encoding = NSInteger::ENCODING;
100}
101
102unsafe impl RefEncode for UITableViewCellFocusStyle {
103    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
104}
105
106/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcelleditingstyle?language=objc)
107// NS_ENUM
108#[repr(transparent)]
109#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
110pub struct UITableViewCellEditingStyle(pub NSInteger);
111impl UITableViewCellEditingStyle {
112    #[doc(alias = "UITableViewCellEditingStyleNone")]
113    pub const None: Self = Self(0);
114    #[doc(alias = "UITableViewCellEditingStyleDelete")]
115    pub const Delete: Self = Self(1);
116    #[doc(alias = "UITableViewCellEditingStyleInsert")]
117    pub const Insert: Self = Self(2);
118}
119
120unsafe impl Encode for UITableViewCellEditingStyle {
121    const ENCODING: Encoding = NSInteger::ENCODING;
122}
123
124unsafe impl RefEncode for UITableViewCellEditingStyle {
125    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
126}
127
128/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcellaccessorytype?language=objc)
129// NS_ENUM
130#[repr(transparent)]
131#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
132pub struct UITableViewCellAccessoryType(pub NSInteger);
133impl UITableViewCellAccessoryType {
134    #[doc(alias = "UITableViewCellAccessoryNone")]
135    pub const None: Self = Self(0);
136    #[doc(alias = "UITableViewCellAccessoryDisclosureIndicator")]
137    pub const DisclosureIndicator: Self = Self(1);
138    #[doc(alias = "UITableViewCellAccessoryDetailDisclosureButton")]
139    pub const DetailDisclosureButton: Self = Self(2);
140    #[doc(alias = "UITableViewCellAccessoryCheckmark")]
141    pub const Checkmark: Self = Self(3);
142    #[doc(alias = "UITableViewCellAccessoryDetailButton")]
143    pub const DetailButton: Self = Self(4);
144}
145
146unsafe impl Encode for UITableViewCellAccessoryType {
147    const ENCODING: Encoding = NSInteger::ENCODING;
148}
149
150unsafe impl RefEncode for UITableViewCellAccessoryType {
151    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
152}
153
154/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcellstatemask?language=objc)
155// NS_OPTIONS
156#[repr(transparent)]
157#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
158pub struct UITableViewCellStateMask(pub NSUInteger);
159bitflags::bitflags! {
160    impl UITableViewCellStateMask: NSUInteger {
161        #[doc(alias = "UITableViewCellStateDefaultMask")]
162        const DefaultMask = 0;
163        #[doc(alias = "UITableViewCellStateShowingEditControlMask")]
164        const ShowingEditControlMask = 1<<0;
165        #[doc(alias = "UITableViewCellStateShowingDeleteConfirmationMask")]
166        const ShowingDeleteConfirmationMask = 1<<1;
167    }
168}
169
170unsafe impl Encode for UITableViewCellStateMask {
171    const ENCODING: Encoding = NSUInteger::ENCODING;
172}
173
174unsafe impl RefEncode for UITableViewCellStateMask {
175    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
176}
177
178/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcelldragstate?language=objc)
179// NS_ENUM
180#[repr(transparent)]
181#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
182pub struct UITableViewCellDragState(pub NSInteger);
183impl UITableViewCellDragState {
184    #[doc(alias = "UITableViewCellDragStateNone")]
185    pub const None: Self = Self(0);
186    #[doc(alias = "UITableViewCellDragStateLifting")]
187    pub const Lifting: Self = Self(1);
188    #[doc(alias = "UITableViewCellDragStateDragging")]
189    pub const Dragging: Self = Self(2);
190}
191
192unsafe impl Encode for UITableViewCellDragState {
193    const ENCODING: Encoding = NSInteger::ENCODING;
194}
195
196unsafe impl RefEncode for UITableViewCellDragState {
197    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
198}
199
200/// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcellconfigurationupdatehandler?language=objc)
201#[cfg(all(
202    feature = "UICellConfigurationState",
203    feature = "UIResponder",
204    feature = "UIView",
205    feature = "UIViewConfigurationState",
206    feature = "block2"
207))]
208pub type UITableViewCellConfigurationUpdateHandler =
209    *mut block2::Block<dyn Fn(NonNull<UITableViewCell>, NonNull<UICellConfigurationState>)>;
210
211extern_class!(
212    /// [Apple's documentation](https://developer.apple.com/documentation/uikit/uitableviewcell?language=objc)
213    #[unsafe(super(UIView, UIResponder, NSObject))]
214    #[thread_kind = MainThreadOnly]
215    #[derive(Debug, PartialEq, Eq, Hash)]
216    #[cfg(all(feature = "UIResponder", feature = "UIView"))]
217    pub struct UITableViewCell;
218);
219
220#[cfg(all(
221    feature = "UIResponder",
222    feature = "UIView",
223    feature = "objc2-quartz-core"
224))]
225#[cfg(not(target_os = "watchos"))]
226unsafe impl CALayerDelegate for UITableViewCell {}
227
228#[cfg(all(feature = "UIResponder", feature = "UIView"))]
229unsafe impl NSCoding for UITableViewCell {}
230
231#[cfg(all(feature = "UIResponder", feature = "UIView"))]
232unsafe impl NSObjectProtocol for UITableViewCell {}
233
234#[cfg(all(feature = "UIAppearance", feature = "UIResponder", feature = "UIView"))]
235unsafe impl UIAppearance for UITableViewCell {}
236
237#[cfg(all(feature = "UIAppearance", feature = "UIResponder", feature = "UIView"))]
238unsafe impl UIAppearanceContainer for UITableViewCell {}
239
240#[cfg(all(feature = "UIResponder", feature = "UIView"))]
241unsafe impl UICoordinateSpace for UITableViewCell {}
242
243#[cfg(all(
244    feature = "UIDynamicBehavior",
245    feature = "UIResponder",
246    feature = "UIView"
247))]
248unsafe impl UIDynamicItem for UITableViewCell {}
249
250#[cfg(all(feature = "UIFocus", feature = "UIResponder", feature = "UIView"))]
251unsafe impl UIFocusEnvironment for UITableViewCell {}
252
253#[cfg(all(feature = "UIFocus", feature = "UIResponder", feature = "UIView"))]
254unsafe impl UIFocusItem for UITableViewCell {}
255
256#[cfg(all(feature = "UIFocus", feature = "UIResponder", feature = "UIView"))]
257unsafe impl UIFocusItemContainer for UITableViewCell {}
258
259#[cfg(all(
260    feature = "UIGestureRecognizer",
261    feature = "UIResponder",
262    feature = "UIView"
263))]
264unsafe impl UIGestureRecognizerDelegate for UITableViewCell {}
265
266#[cfg(all(feature = "UIResponder", feature = "UIView"))]
267unsafe impl UIResponderStandardEditActions for UITableViewCell {}
268
269#[cfg(all(
270    feature = "UIResponder",
271    feature = "UITraitCollection",
272    feature = "UIView"
273))]
274unsafe impl UITraitEnvironment for UITableViewCell {}
275
276#[cfg(all(feature = "UIResponder", feature = "UIView"))]
277impl UITableViewCell {
278    extern_methods!(
279        #[unsafe(method(initWithStyle:reuseIdentifier:))]
280        #[unsafe(method_family = init)]
281        pub unsafe fn initWithStyle_reuseIdentifier(
282            this: Allocated<Self>,
283            style: UITableViewCellStyle,
284            reuse_identifier: Option<&NSString>,
285        ) -> Retained<Self>;
286
287        #[unsafe(method(initWithCoder:))]
288        #[unsafe(method_family = init)]
289        pub unsafe fn initWithCoder(
290            this: Allocated<Self>,
291            coder: &NSCoder,
292        ) -> Option<Retained<Self>>;
293
294        #[cfg(all(
295            feature = "UICellConfigurationState",
296            feature = "UIViewConfigurationState"
297        ))]
298        /// Returns the current configuration state for the cell.
299        /// To add your own custom state(s), override the getter and call super to obtain an instance with the
300        /// system properties set, then set your own custom states as desired.
301        #[unsafe(method(configurationState))]
302        #[unsafe(method_family = none)]
303        pub unsafe fn configurationState(&self) -> Retained<UICellConfigurationState>;
304
305        /// Requests the cell update its configuration for its current state. This method is called automatically
306        /// when the cell's `configurationState` may have changed, as well as in other circumstances where an
307        /// update may be required. Multiple requests may be coalesced into a single update at the appropriate time.
308        #[unsafe(method(setNeedsUpdateConfiguration))]
309        #[unsafe(method_family = none)]
310        pub unsafe fn setNeedsUpdateConfiguration(&self);
311
312        #[cfg(all(
313            feature = "UICellConfigurationState",
314            feature = "UIViewConfigurationState"
315        ))]
316        /// Subclasses should override this method and update the cell's configuration using the state provided.
317        /// This method should not be called directly, use `setNeedsUpdateConfiguration` to request an update.
318        #[unsafe(method(updateConfigurationUsingState:))]
319        #[unsafe(method_family = none)]
320        pub unsafe fn updateConfigurationUsingState(&self, state: &UICellConfigurationState);
321
322        #[cfg(all(
323            feature = "UICellConfigurationState",
324            feature = "UIViewConfigurationState",
325            feature = "block2"
326        ))]
327        /// Optional block-based alternative to overriding `-updateConfigurationUsingState:` in a subclass. This handler
328        /// is called after `-updateConfigurationUsingState:`. Setting a new handler triggers `setNeedsUpdateConfiguration`.
329        #[unsafe(method(configurationUpdateHandler))]
330        #[unsafe(method_family = none)]
331        pub unsafe fn configurationUpdateHandler(
332            &self,
333        ) -> UITableViewCellConfigurationUpdateHandler;
334
335        #[cfg(all(
336            feature = "UICellConfigurationState",
337            feature = "UIViewConfigurationState",
338            feature = "block2"
339        ))]
340        /// Setter for [`configurationUpdateHandler`][Self::configurationUpdateHandler].
341        #[unsafe(method(setConfigurationUpdateHandler:))]
342        #[unsafe(method_family = none)]
343        pub unsafe fn setConfigurationUpdateHandler(
344            &self,
345            configuration_update_handler: UITableViewCellConfigurationUpdateHandler,
346        );
347
348        #[cfg(feature = "UIListContentConfiguration")]
349        /// Returns a default list content configuration for the cell's style.
350        #[unsafe(method(defaultContentConfiguration))]
351        #[unsafe(method_family = none)]
352        pub unsafe fn defaultContentConfiguration(&self) -> Retained<UIListContentConfiguration>;
353
354        #[cfg(feature = "UIContentConfiguration")]
355        /// Setting a content configuration replaces the existing contentView of the cell with a new content view instance from the configuration,
356        /// or directly applies the configuration to the existing content view if the configuration is compatible with the existing content view type.
357        /// The default value is nil. After a configuration has been set, setting this property to nil will replace the current content view with a new content view.
358        #[unsafe(method(contentConfiguration))]
359        #[unsafe(method_family = none)]
360        pub unsafe fn contentConfiguration(
361            &self,
362        ) -> Option<Retained<ProtocolObject<dyn UIContentConfiguration>>>;
363
364        #[cfg(feature = "UIContentConfiguration")]
365        /// Setter for [`contentConfiguration`][Self::contentConfiguration].
366        #[unsafe(method(setContentConfiguration:))]
367        #[unsafe(method_family = none)]
368        pub unsafe fn setContentConfiguration(
369            &self,
370            content_configuration: Option<&ProtocolObject<dyn UIContentConfiguration>>,
371        );
372
373        /// When YES, the cell will automatically call -updatedConfigurationForState: on its `contentConfiguration` when the cell's
374        /// configuration state changes, and apply the updated configuration back to the cell. The default value is YES.
375        #[unsafe(method(automaticallyUpdatesContentConfiguration))]
376        #[unsafe(method_family = none)]
377        pub unsafe fn automaticallyUpdatesContentConfiguration(&self) -> bool;
378
379        /// Setter for [`automaticallyUpdatesContentConfiguration`][Self::automaticallyUpdatesContentConfiguration].
380        #[unsafe(method(setAutomaticallyUpdatesContentConfiguration:))]
381        #[unsafe(method_family = none)]
382        pub unsafe fn setAutomaticallyUpdatesContentConfiguration(
383            &self,
384            automatically_updates_content_configuration: bool,
385        );
386
387        #[unsafe(method(contentView))]
388        #[unsafe(method_family = none)]
389        pub unsafe fn contentView(&self) -> Retained<UIView>;
390
391        #[cfg(feature = "UIImageView")]
392        #[deprecated = "Use UIListContentConfiguration instead, this property will be deprecated in a future release."]
393        #[unsafe(method(imageView))]
394        #[unsafe(method_family = none)]
395        pub unsafe fn imageView(&self) -> Option<Retained<UIImageView>>;
396
397        #[cfg(feature = "UILabel")]
398        #[deprecated = "Use UIListContentConfiguration instead, this property will be deprecated in a future release."]
399        #[unsafe(method(textLabel))]
400        #[unsafe(method_family = none)]
401        pub unsafe fn textLabel(&self) -> Option<Retained<UILabel>>;
402
403        #[cfg(feature = "UILabel")]
404        #[deprecated = "Use UIListContentConfiguration instead, this property will be deprecated in a future release."]
405        #[unsafe(method(detailTextLabel))]
406        #[unsafe(method_family = none)]
407        pub unsafe fn detailTextLabel(&self) -> Option<Retained<UILabel>>;
408
409        #[cfg(feature = "UIBackgroundConfiguration")]
410        /// Returns a default background configuration for the cell's style.
411        /// This background configuration represents the default appearance that the cell will use.
412        #[unsafe(method(defaultBackgroundConfiguration))]
413        #[unsafe(method_family = none)]
414        pub unsafe fn defaultBackgroundConfiguration(&self) -> Retained<UIBackgroundConfiguration>;
415
416        #[cfg(feature = "UIBackgroundConfiguration")]
417        /// Setting a background configuration supersedes the cell's backgroundView, selectedBackgroundView, and multipleSelectionBackgroundView. The default value is nil.
418        #[unsafe(method(backgroundConfiguration))]
419        #[unsafe(method_family = none)]
420        pub unsafe fn backgroundConfiguration(&self)
421            -> Option<Retained<UIBackgroundConfiguration>>;
422
423        #[cfg(feature = "UIBackgroundConfiguration")]
424        /// Setter for [`backgroundConfiguration`][Self::backgroundConfiguration].
425        #[unsafe(method(setBackgroundConfiguration:))]
426        #[unsafe(method_family = none)]
427        pub unsafe fn setBackgroundConfiguration(
428            &self,
429            background_configuration: Option<&UIBackgroundConfiguration>,
430        );
431
432        /// When YES, the cell will automatically call -updatedConfigurationForState: on its `backgroundConfiguration` when the cell's
433        /// configuration state changes, and apply the updated configuration back to the cell. The default value is YES.
434        #[unsafe(method(automaticallyUpdatesBackgroundConfiguration))]
435        #[unsafe(method_family = none)]
436        pub unsafe fn automaticallyUpdatesBackgroundConfiguration(&self) -> bool;
437
438        /// Setter for [`automaticallyUpdatesBackgroundConfiguration`][Self::automaticallyUpdatesBackgroundConfiguration].
439        #[unsafe(method(setAutomaticallyUpdatesBackgroundConfiguration:))]
440        #[unsafe(method_family = none)]
441        pub unsafe fn setAutomaticallyUpdatesBackgroundConfiguration(
442            &self,
443            automatically_updates_background_configuration: bool,
444        );
445
446        #[unsafe(method(backgroundView))]
447        #[unsafe(method_family = none)]
448        pub unsafe fn backgroundView(&self) -> Option<Retained<UIView>>;
449
450        /// Setter for [`backgroundView`][Self::backgroundView].
451        #[unsafe(method(setBackgroundView:))]
452        #[unsafe(method_family = none)]
453        pub unsafe fn setBackgroundView(&self, background_view: Option<&UIView>);
454
455        #[unsafe(method(selectedBackgroundView))]
456        #[unsafe(method_family = none)]
457        pub unsafe fn selectedBackgroundView(&self) -> Option<Retained<UIView>>;
458
459        /// Setter for [`selectedBackgroundView`][Self::selectedBackgroundView].
460        #[unsafe(method(setSelectedBackgroundView:))]
461        #[unsafe(method_family = none)]
462        pub unsafe fn setSelectedBackgroundView(&self, selected_background_view: Option<&UIView>);
463
464        #[unsafe(method(multipleSelectionBackgroundView))]
465        #[unsafe(method_family = none)]
466        pub unsafe fn multipleSelectionBackgroundView(&self) -> Option<Retained<UIView>>;
467
468        /// Setter for [`multipleSelectionBackgroundView`][Self::multipleSelectionBackgroundView].
469        #[unsafe(method(setMultipleSelectionBackgroundView:))]
470        #[unsafe(method_family = none)]
471        pub unsafe fn setMultipleSelectionBackgroundView(
472            &self,
473            multiple_selection_background_view: Option<&UIView>,
474        );
475
476        #[unsafe(method(reuseIdentifier))]
477        #[unsafe(method_family = none)]
478        pub unsafe fn reuseIdentifier(&self) -> Option<Retained<NSString>>;
479
480        #[unsafe(method(prepareForReuse))]
481        #[unsafe(method_family = none)]
482        pub unsafe fn prepareForReuse(&self);
483
484        #[unsafe(method(selectionStyle))]
485        #[unsafe(method_family = none)]
486        pub unsafe fn selectionStyle(&self) -> UITableViewCellSelectionStyle;
487
488        /// Setter for [`selectionStyle`][Self::selectionStyle].
489        #[unsafe(method(setSelectionStyle:))]
490        #[unsafe(method_family = none)]
491        pub unsafe fn setSelectionStyle(&self, selection_style: UITableViewCellSelectionStyle);
492
493        #[unsafe(method(isSelected))]
494        #[unsafe(method_family = none)]
495        pub unsafe fn isSelected(&self) -> bool;
496
497        /// Setter for [`isSelected`][Self::isSelected].
498        #[unsafe(method(setSelected:))]
499        #[unsafe(method_family = none)]
500        pub unsafe fn setSelected(&self, selected: bool);
501
502        #[unsafe(method(isHighlighted))]
503        #[unsafe(method_family = none)]
504        pub unsafe fn isHighlighted(&self) -> bool;
505
506        /// Setter for [`isHighlighted`][Self::isHighlighted].
507        #[unsafe(method(setHighlighted:))]
508        #[unsafe(method_family = none)]
509        pub unsafe fn setHighlighted(&self, highlighted: bool);
510
511        #[unsafe(method(setSelected:animated:))]
512        #[unsafe(method_family = none)]
513        pub unsafe fn setSelected_animated(&self, selected: bool, animated: bool);
514
515        #[unsafe(method(setHighlighted:animated:))]
516        #[unsafe(method_family = none)]
517        pub unsafe fn setHighlighted_animated(&self, highlighted: bool, animated: bool);
518
519        #[unsafe(method(editingStyle))]
520        #[unsafe(method_family = none)]
521        pub unsafe fn editingStyle(&self) -> UITableViewCellEditingStyle;
522
523        #[unsafe(method(showsReorderControl))]
524        #[unsafe(method_family = none)]
525        pub unsafe fn showsReorderControl(&self) -> bool;
526
527        /// Setter for [`showsReorderControl`][Self::showsReorderControl].
528        #[unsafe(method(setShowsReorderControl:))]
529        #[unsafe(method_family = none)]
530        pub unsafe fn setShowsReorderControl(&self, shows_reorder_control: bool);
531
532        #[unsafe(method(shouldIndentWhileEditing))]
533        #[unsafe(method_family = none)]
534        pub unsafe fn shouldIndentWhileEditing(&self) -> bool;
535
536        /// Setter for [`shouldIndentWhileEditing`][Self::shouldIndentWhileEditing].
537        #[unsafe(method(setShouldIndentWhileEditing:))]
538        #[unsafe(method_family = none)]
539        pub unsafe fn setShouldIndentWhileEditing(&self, should_indent_while_editing: bool);
540
541        #[unsafe(method(accessoryType))]
542        #[unsafe(method_family = none)]
543        pub unsafe fn accessoryType(&self) -> UITableViewCellAccessoryType;
544
545        /// Setter for [`accessoryType`][Self::accessoryType].
546        #[unsafe(method(setAccessoryType:))]
547        #[unsafe(method_family = none)]
548        pub unsafe fn setAccessoryType(&self, accessory_type: UITableViewCellAccessoryType);
549
550        #[unsafe(method(accessoryView))]
551        #[unsafe(method_family = none)]
552        pub unsafe fn accessoryView(&self) -> Option<Retained<UIView>>;
553
554        /// Setter for [`accessoryView`][Self::accessoryView].
555        #[unsafe(method(setAccessoryView:))]
556        #[unsafe(method_family = none)]
557        pub unsafe fn setAccessoryView(&self, accessory_view: Option<&UIView>);
558
559        #[unsafe(method(editingAccessoryType))]
560        #[unsafe(method_family = none)]
561        pub unsafe fn editingAccessoryType(&self) -> UITableViewCellAccessoryType;
562
563        /// Setter for [`editingAccessoryType`][Self::editingAccessoryType].
564        #[unsafe(method(setEditingAccessoryType:))]
565        #[unsafe(method_family = none)]
566        pub unsafe fn setEditingAccessoryType(
567            &self,
568            editing_accessory_type: UITableViewCellAccessoryType,
569        );
570
571        #[unsafe(method(editingAccessoryView))]
572        #[unsafe(method_family = none)]
573        pub unsafe fn editingAccessoryView(&self) -> Option<Retained<UIView>>;
574
575        /// Setter for [`editingAccessoryView`][Self::editingAccessoryView].
576        #[unsafe(method(setEditingAccessoryView:))]
577        #[unsafe(method_family = none)]
578        pub unsafe fn setEditingAccessoryView(&self, editing_accessory_view: Option<&UIView>);
579
580        #[unsafe(method(indentationLevel))]
581        #[unsafe(method_family = none)]
582        pub unsafe fn indentationLevel(&self) -> NSInteger;
583
584        /// Setter for [`indentationLevel`][Self::indentationLevel].
585        #[unsafe(method(setIndentationLevel:))]
586        #[unsafe(method_family = none)]
587        pub unsafe fn setIndentationLevel(&self, indentation_level: NSInteger);
588
589        #[cfg(feature = "objc2-core-foundation")]
590        #[unsafe(method(indentationWidth))]
591        #[unsafe(method_family = none)]
592        pub unsafe fn indentationWidth(&self) -> CGFloat;
593
594        #[cfg(feature = "objc2-core-foundation")]
595        /// Setter for [`indentationWidth`][Self::indentationWidth].
596        #[unsafe(method(setIndentationWidth:))]
597        #[unsafe(method_family = none)]
598        pub unsafe fn setIndentationWidth(&self, indentation_width: CGFloat);
599
600        #[cfg(all(feature = "UIGeometry", feature = "objc2-core-foundation"))]
601        #[unsafe(method(separatorInset))]
602        #[unsafe(method_family = none)]
603        pub unsafe fn separatorInset(&self) -> UIEdgeInsets;
604
605        #[cfg(all(feature = "UIGeometry", feature = "objc2-core-foundation"))]
606        /// Setter for [`separatorInset`][Self::separatorInset].
607        #[unsafe(method(setSeparatorInset:))]
608        #[unsafe(method_family = none)]
609        pub unsafe fn setSeparatorInset(&self, separator_inset: UIEdgeInsets);
610
611        #[unsafe(method(isEditing))]
612        #[unsafe(method_family = none)]
613        pub unsafe fn isEditing(&self) -> bool;
614
615        /// Setter for [`isEditing`][Self::isEditing].
616        #[unsafe(method(setEditing:))]
617        #[unsafe(method_family = none)]
618        pub unsafe fn setEditing(&self, editing: bool);
619
620        #[unsafe(method(setEditing:animated:))]
621        #[unsafe(method_family = none)]
622        pub unsafe fn setEditing_animated(&self, editing: bool, animated: bool);
623
624        #[unsafe(method(showingDeleteConfirmation))]
625        #[unsafe(method_family = none)]
626        pub unsafe fn showingDeleteConfirmation(&self) -> bool;
627
628        #[unsafe(method(focusStyle))]
629        #[unsafe(method_family = none)]
630        pub unsafe fn focusStyle(&self) -> UITableViewCellFocusStyle;
631
632        /// Setter for [`focusStyle`][Self::focusStyle].
633        #[unsafe(method(setFocusStyle:))]
634        #[unsafe(method_family = none)]
635        pub unsafe fn setFocusStyle(&self, focus_style: UITableViewCellFocusStyle);
636
637        #[unsafe(method(willTransitionToState:))]
638        #[unsafe(method_family = none)]
639        pub unsafe fn willTransitionToState(&self, state: UITableViewCellStateMask);
640
641        #[unsafe(method(didTransitionToState:))]
642        #[unsafe(method_family = none)]
643        pub unsafe fn didTransitionToState(&self, state: UITableViewCellStateMask);
644
645        #[unsafe(method(dragStateDidChange:))]
646        #[unsafe(method_family = none)]
647        pub unsafe fn dragStateDidChange(&self, drag_state: UITableViewCellDragState);
648
649        #[unsafe(method(userInteractionEnabledWhileDragging))]
650        #[unsafe(method_family = none)]
651        pub unsafe fn userInteractionEnabledWhileDragging(&self) -> bool;
652
653        /// Setter for [`userInteractionEnabledWhileDragging`][Self::userInteractionEnabledWhileDragging].
654        #[unsafe(method(setUserInteractionEnabledWhileDragging:))]
655        #[unsafe(method_family = none)]
656        pub unsafe fn setUserInteractionEnabledWhileDragging(
657            &self,
658            user_interaction_enabled_while_dragging: bool,
659        );
660    );
661}
662
663/// Methods declared on superclass `UIView`.
664#[cfg(all(feature = "UIResponder", feature = "UIView"))]
665impl UITableViewCell {
666    extern_methods!(
667        #[cfg(feature = "objc2-core-foundation")]
668        #[unsafe(method(initWithFrame:))]
669        #[unsafe(method_family = init)]
670        pub unsafe fn initWithFrame(this: Allocated<Self>, frame: CGRect) -> Retained<Self>;
671    );
672}
673
674/// Methods declared on superclass `NSObject`.
675#[cfg(all(feature = "UIResponder", feature = "UIView"))]
676impl UITableViewCell {
677    extern_methods!(
678        #[unsafe(method(init))]
679        #[unsafe(method_family = init)]
680        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
681
682        #[unsafe(method(new))]
683        #[unsafe(method_family = new)]
684        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
685    );
686}
687
688/// UIDeprecated.
689#[cfg(all(feature = "UIResponder", feature = "UIView"))]
690impl UITableViewCell {
691    extern_methods!(
692        #[cfg(feature = "objc2-core-foundation")]
693        #[deprecated]
694        #[unsafe(method(initWithFrame:reuseIdentifier:))]
695        #[unsafe(method_family = init)]
696        pub unsafe fn initWithFrame_reuseIdentifier(
697            this: Allocated<Self>,
698            frame: CGRect,
699            reuse_identifier: Option<&NSString>,
700        ) -> Retained<Self>;
701
702        #[deprecated]
703        #[unsafe(method(text))]
704        #[unsafe(method_family = none)]
705        pub unsafe fn text(&self) -> Option<Retained<NSString>>;
706
707        /// Setter for [`text`][Self::text].
708        #[deprecated]
709        #[unsafe(method(setText:))]
710        #[unsafe(method_family = none)]
711        pub unsafe fn setText(&self, text: Option<&NSString>);
712
713        #[cfg(feature = "UIFont")]
714        #[deprecated]
715        #[unsafe(method(font))]
716        #[unsafe(method_family = none)]
717        pub unsafe fn font(&self) -> Option<Retained<UIFont>>;
718
719        #[cfg(feature = "UIFont")]
720        /// Setter for [`font`][Self::font].
721        #[deprecated]
722        #[unsafe(method(setFont:))]
723        #[unsafe(method_family = none)]
724        pub unsafe fn setFont(&self, font: Option<&UIFont>);
725
726        #[cfg(feature = "NSText")]
727        #[deprecated]
728        #[unsafe(method(textAlignment))]
729        #[unsafe(method_family = none)]
730        pub unsafe fn textAlignment(&self) -> NSTextAlignment;
731
732        #[cfg(feature = "NSText")]
733        /// Setter for [`textAlignment`][Self::textAlignment].
734        #[deprecated]
735        #[unsafe(method(setTextAlignment:))]
736        #[unsafe(method_family = none)]
737        pub unsafe fn setTextAlignment(&self, text_alignment: NSTextAlignment);
738
739        #[cfg(feature = "NSParagraphStyle")]
740        #[deprecated]
741        #[unsafe(method(lineBreakMode))]
742        #[unsafe(method_family = none)]
743        pub unsafe fn lineBreakMode(&self) -> NSLineBreakMode;
744
745        #[cfg(feature = "NSParagraphStyle")]
746        /// Setter for [`lineBreakMode`][Self::lineBreakMode].
747        #[deprecated]
748        #[unsafe(method(setLineBreakMode:))]
749        #[unsafe(method_family = none)]
750        pub unsafe fn setLineBreakMode(&self, line_break_mode: NSLineBreakMode);
751
752        #[cfg(feature = "UIColor")]
753        #[deprecated]
754        #[unsafe(method(textColor))]
755        #[unsafe(method_family = none)]
756        pub unsafe fn textColor(&self) -> Option<Retained<UIColor>>;
757
758        #[cfg(feature = "UIColor")]
759        /// Setter for [`textColor`][Self::textColor].
760        #[deprecated]
761        #[unsafe(method(setTextColor:))]
762        #[unsafe(method_family = none)]
763        pub unsafe fn setTextColor(&self, text_color: Option<&UIColor>);
764
765        #[cfg(feature = "UIColor")]
766        #[deprecated]
767        #[unsafe(method(selectedTextColor))]
768        #[unsafe(method_family = none)]
769        pub unsafe fn selectedTextColor(&self) -> Option<Retained<UIColor>>;
770
771        #[cfg(feature = "UIColor")]
772        /// Setter for [`selectedTextColor`][Self::selectedTextColor].
773        #[deprecated]
774        #[unsafe(method(setSelectedTextColor:))]
775        #[unsafe(method_family = none)]
776        pub unsafe fn setSelectedTextColor(&self, selected_text_color: Option<&UIColor>);
777
778        #[cfg(feature = "UIImage")]
779        #[deprecated]
780        #[unsafe(method(image))]
781        #[unsafe(method_family = none)]
782        pub unsafe fn image(&self) -> Option<Retained<UIImage>>;
783
784        #[cfg(feature = "UIImage")]
785        /// Setter for [`image`][Self::image].
786        #[deprecated]
787        #[unsafe(method(setImage:))]
788        #[unsafe(method_family = none)]
789        pub unsafe fn setImage(&self, image: Option<&UIImage>);
790
791        #[cfg(feature = "UIImage")]
792        #[deprecated]
793        #[unsafe(method(selectedImage))]
794        #[unsafe(method_family = none)]
795        pub unsafe fn selectedImage(&self) -> Option<Retained<UIImage>>;
796
797        #[cfg(feature = "UIImage")]
798        /// Setter for [`selectedImage`][Self::selectedImage].
799        #[deprecated]
800        #[unsafe(method(setSelectedImage:))]
801        #[unsafe(method_family = none)]
802        pub unsafe fn setSelectedImage(&self, selected_image: Option<&UIImage>);
803
804        #[deprecated]
805        #[unsafe(method(hidesAccessoryWhenEditing))]
806        #[unsafe(method_family = none)]
807        pub unsafe fn hidesAccessoryWhenEditing(&self) -> bool;
808
809        /// Setter for [`hidesAccessoryWhenEditing`][Self::hidesAccessoryWhenEditing].
810        #[deprecated]
811        #[unsafe(method(setHidesAccessoryWhenEditing:))]
812        #[unsafe(method_family = none)]
813        pub unsafe fn setHidesAccessoryWhenEditing(&self, hides_accessory_when_editing: bool);
814
815        #[deprecated]
816        #[unsafe(method(target))]
817        #[unsafe(method_family = none)]
818        pub unsafe fn target(&self) -> Option<Retained<AnyObject>>;
819
820        /// Setter for [`target`][Self::target].
821        #[deprecated]
822        #[unsafe(method(setTarget:))]
823        #[unsafe(method_family = none)]
824        pub unsafe fn setTarget(&self, target: Option<&AnyObject>);
825
826        #[deprecated]
827        #[unsafe(method(editAction))]
828        #[unsafe(method_family = none)]
829        pub unsafe fn editAction(&self) -> Option<Sel>;
830
831        /// Setter for [`editAction`][Self::editAction].
832        #[deprecated]
833        #[unsafe(method(setEditAction:))]
834        #[unsafe(method_family = none)]
835        pub unsafe fn setEditAction(&self, edit_action: Option<Sel>);
836
837        #[deprecated]
838        #[unsafe(method(accessoryAction))]
839        #[unsafe(method_family = none)]
840        pub unsafe fn accessoryAction(&self) -> Option<Sel>;
841
842        /// Setter for [`accessoryAction`][Self::accessoryAction].
843        #[deprecated]
844        #[unsafe(method(setAccessoryAction:))]
845        #[unsafe(method_family = none)]
846        pub unsafe fn setAccessoryAction(&self, accessory_action: Option<Sel>);
847    );
848}