objc2_app_kit/generated/
NSParagraphStyle.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/nslinebreakmode?language=objc)
13// NS_ENUM
14#[repr(transparent)]
15#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
16pub struct NSLineBreakMode(pub NSUInteger);
17impl NSLineBreakMode {
18    #[doc(alias = "NSLineBreakByWordWrapping")]
19    pub const ByWordWrapping: Self = Self(0);
20    #[doc(alias = "NSLineBreakByCharWrapping")]
21    pub const ByCharWrapping: Self = Self(1);
22    #[doc(alias = "NSLineBreakByClipping")]
23    pub const ByClipping: Self = Self(2);
24    #[doc(alias = "NSLineBreakByTruncatingHead")]
25    pub const ByTruncatingHead: Self = Self(3);
26    #[doc(alias = "NSLineBreakByTruncatingTail")]
27    pub const ByTruncatingTail: Self = Self(4);
28    #[doc(alias = "NSLineBreakByTruncatingMiddle")]
29    pub const ByTruncatingMiddle: Self = Self(5);
30}
31
32unsafe impl Encode for NSLineBreakMode {
33    const ENCODING: Encoding = NSUInteger::ENCODING;
34}
35
36unsafe impl RefEncode for NSLineBreakMode {
37    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
38}
39
40/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nslinebreakstrategy?language=objc)
41// NS_OPTIONS
42#[repr(transparent)]
43#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
44pub struct NSLineBreakStrategy(pub NSUInteger);
45bitflags::bitflags! {
46    impl NSLineBreakStrategy: NSUInteger {
47        #[doc(alias = "NSLineBreakStrategyNone")]
48        const None = 0;
49        #[doc(alias = "NSLineBreakStrategyPushOut")]
50        const PushOut = 1<<0;
51        #[doc(alias = "NSLineBreakStrategyHangulWordPriority")]
52        const HangulWordPriority = 1<<1;
53        #[doc(alias = "NSLineBreakStrategyStandard")]
54        const Standard = 0xFFFF;
55    }
56}
57
58unsafe impl Encode for NSLineBreakStrategy {
59    const ENCODING: Encoding = NSUInteger::ENCODING;
60}
61
62unsafe impl RefEncode for NSLineBreakStrategy {
63    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
64}
65
66/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstexttaboptionkey?language=objc)
67// NS_TYPED_ENUM
68pub type NSTextTabOptionKey = NSString;
69
70extern "C" {
71    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstabcolumnterminatorsattributename?language=objc)
72    pub static NSTabColumnTerminatorsAttributeName: &'static NSTextTabOptionKey;
73}
74
75extern_class!(
76    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstexttab?language=objc)
77    #[unsafe(super(NSObject))]
78    #[derive(Debug, PartialEq, Eq, Hash)]
79    pub struct NSTextTab;
80);
81
82extern_conformance!(
83    unsafe impl NSCoding for NSTextTab {}
84);
85
86extern_conformance!(
87    unsafe impl NSCopying for NSTextTab {}
88);
89
90unsafe impl CopyingHelper for NSTextTab {
91    type Result = Self;
92}
93
94extern_conformance!(
95    unsafe impl NSObjectProtocol for NSTextTab {}
96);
97
98extern_conformance!(
99    unsafe impl NSSecureCoding for NSTextTab {}
100);
101
102impl NSTextTab {
103    extern_methods!(
104        #[unsafe(method(columnTerminatorsForLocale:))]
105        #[unsafe(method_family = none)]
106        pub fn columnTerminatorsForLocale(a_locale: Option<&NSLocale>) -> Retained<NSCharacterSet>;
107
108        #[cfg(feature = "objc2-core-foundation")]
109        #[unsafe(method(location))]
110        #[unsafe(method_family = none)]
111        pub fn location(&self) -> CGFloat;
112
113        #[unsafe(method(options))]
114        #[unsafe(method_family = none)]
115        pub fn options(&self) -> Retained<NSDictionary<NSTextTabOptionKey, AnyObject>>;
116    );
117}
118
119/// Methods declared on superclass `NSObject`.
120impl NSTextTab {
121    extern_methods!(
122        #[unsafe(method(init))]
123        #[unsafe(method_family = init)]
124        pub fn init(this: Allocated<Self>) -> Retained<Self>;
125
126        #[unsafe(method(new))]
127        #[unsafe(method_family = new)]
128        pub fn new() -> Retained<Self>;
129    );
130}
131
132impl DefaultRetained for NSTextTab {
133    #[inline]
134    fn default_retained() -> Retained<Self> {
135        Self::new()
136    }
137}
138
139extern_class!(
140    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsparagraphstyle?language=objc)
141    #[unsafe(super(NSObject))]
142    #[derive(Debug, PartialEq, Eq, Hash)]
143    pub struct NSParagraphStyle;
144);
145
146extern_conformance!(
147    unsafe impl NSCoding for NSParagraphStyle {}
148);
149
150extern_conformance!(
151    unsafe impl NSCopying for NSParagraphStyle {}
152);
153
154unsafe impl CopyingHelper for NSParagraphStyle {
155    type Result = Self;
156}
157
158extern_conformance!(
159    unsafe impl NSMutableCopying for NSParagraphStyle {}
160);
161
162unsafe impl MutableCopyingHelper for NSParagraphStyle {
163    type Result = NSMutableParagraphStyle;
164}
165
166extern_conformance!(
167    unsafe impl NSObjectProtocol for NSParagraphStyle {}
168);
169
170extern_conformance!(
171    unsafe impl NSSecureCoding for NSParagraphStyle {}
172);
173
174impl NSParagraphStyle {
175    extern_methods!(
176        #[unsafe(method(defaultParagraphStyle))]
177        #[unsafe(method_family = none)]
178        pub fn defaultParagraphStyle() -> Retained<NSParagraphStyle>;
179
180        #[cfg(feature = "NSText")]
181        #[unsafe(method(defaultWritingDirectionForLanguage:))]
182        #[unsafe(method_family = none)]
183        pub fn defaultWritingDirectionForLanguage(
184            language_name: Option<&NSString>,
185        ) -> NSWritingDirection;
186
187        #[cfg(feature = "objc2-core-foundation")]
188        #[unsafe(method(lineSpacing))]
189        #[unsafe(method_family = none)]
190        pub fn lineSpacing(&self) -> CGFloat;
191
192        #[cfg(feature = "objc2-core-foundation")]
193        #[unsafe(method(paragraphSpacing))]
194        #[unsafe(method_family = none)]
195        pub fn paragraphSpacing(&self) -> CGFloat;
196
197        #[cfg(feature = "objc2-core-foundation")]
198        #[unsafe(method(headIndent))]
199        #[unsafe(method_family = none)]
200        pub fn headIndent(&self) -> CGFloat;
201
202        #[cfg(feature = "objc2-core-foundation")]
203        #[unsafe(method(tailIndent))]
204        #[unsafe(method_family = none)]
205        pub fn tailIndent(&self) -> CGFloat;
206
207        #[cfg(feature = "objc2-core-foundation")]
208        #[unsafe(method(firstLineHeadIndent))]
209        #[unsafe(method_family = none)]
210        pub fn firstLineHeadIndent(&self) -> CGFloat;
211
212        #[cfg(feature = "objc2-core-foundation")]
213        #[unsafe(method(minimumLineHeight))]
214        #[unsafe(method_family = none)]
215        pub fn minimumLineHeight(&self) -> CGFloat;
216
217        #[cfg(feature = "objc2-core-foundation")]
218        #[unsafe(method(maximumLineHeight))]
219        #[unsafe(method_family = none)]
220        pub fn maximumLineHeight(&self) -> CGFloat;
221
222        #[unsafe(method(lineBreakMode))]
223        #[unsafe(method_family = none)]
224        pub fn lineBreakMode(&self) -> NSLineBreakMode;
225
226        #[cfg(feature = "NSText")]
227        #[unsafe(method(baseWritingDirection))]
228        #[unsafe(method_family = none)]
229        pub fn baseWritingDirection(&self) -> NSWritingDirection;
230
231        #[cfg(feature = "objc2-core-foundation")]
232        #[unsafe(method(lineHeightMultiple))]
233        #[unsafe(method_family = none)]
234        pub fn lineHeightMultiple(&self) -> CGFloat;
235
236        #[cfg(feature = "objc2-core-foundation")]
237        #[unsafe(method(paragraphSpacingBefore))]
238        #[unsafe(method_family = none)]
239        pub fn paragraphSpacingBefore(&self) -> CGFloat;
240
241        #[unsafe(method(hyphenationFactor))]
242        #[unsafe(method_family = none)]
243        pub fn hyphenationFactor(&self) -> c_float;
244
245        #[unsafe(method(usesDefaultHyphenation))]
246        #[unsafe(method_family = none)]
247        pub fn usesDefaultHyphenation(&self) -> bool;
248
249        #[unsafe(method(tabStops))]
250        #[unsafe(method_family = none)]
251        pub fn tabStops(&self) -> Retained<NSArray<NSTextTab>>;
252
253        #[cfg(feature = "objc2-core-foundation")]
254        #[unsafe(method(defaultTabInterval))]
255        #[unsafe(method_family = none)]
256        pub fn defaultTabInterval(&self) -> CGFloat;
257
258        #[cfg(feature = "NSTextList")]
259        #[unsafe(method(textLists))]
260        #[unsafe(method_family = none)]
261        pub fn textLists(&self) -> Retained<NSArray<NSTextList>>;
262
263        #[unsafe(method(allowsDefaultTighteningForTruncation))]
264        #[unsafe(method_family = none)]
265        pub fn allowsDefaultTighteningForTruncation(&self) -> bool;
266
267        #[unsafe(method(lineBreakStrategy))]
268        #[unsafe(method_family = none)]
269        pub fn lineBreakStrategy(&self) -> NSLineBreakStrategy;
270    );
271}
272
273/// Methods declared on superclass `NSObject`.
274impl NSParagraphStyle {
275    extern_methods!(
276        #[unsafe(method(init))]
277        #[unsafe(method_family = init)]
278        pub fn init(this: Allocated<Self>) -> Retained<Self>;
279
280        #[unsafe(method(new))]
281        #[unsafe(method_family = new)]
282        pub fn new() -> Retained<Self>;
283    );
284}
285
286impl DefaultRetained for NSParagraphStyle {
287    #[inline]
288    fn default_retained() -> Retained<Self> {
289        Self::new()
290    }
291}
292
293extern_class!(
294    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nsmutableparagraphstyle?language=objc)
295    #[unsafe(super(NSParagraphStyle, NSObject))]
296    #[derive(Debug, PartialEq, Eq, Hash)]
297    pub struct NSMutableParagraphStyle;
298);
299
300extern_conformance!(
301    unsafe impl NSCoding for NSMutableParagraphStyle {}
302);
303
304extern_conformance!(
305    unsafe impl NSCopying for NSMutableParagraphStyle {}
306);
307
308unsafe impl CopyingHelper for NSMutableParagraphStyle {
309    type Result = NSParagraphStyle;
310}
311
312extern_conformance!(
313    unsafe impl NSMutableCopying for NSMutableParagraphStyle {}
314);
315
316unsafe impl MutableCopyingHelper for NSMutableParagraphStyle {
317    type Result = Self;
318}
319
320extern_conformance!(
321    unsafe impl NSObjectProtocol for NSMutableParagraphStyle {}
322);
323
324extern_conformance!(
325    unsafe impl NSSecureCoding for NSMutableParagraphStyle {}
326);
327
328impl NSMutableParagraphStyle {
329    extern_methods!(
330        #[cfg(feature = "objc2-core-foundation")]
331        #[unsafe(method(lineSpacing))]
332        #[unsafe(method_family = none)]
333        pub fn lineSpacing(&self) -> CGFloat;
334
335        #[cfg(feature = "objc2-core-foundation")]
336        /// Setter for [`lineSpacing`][Self::lineSpacing].
337        #[unsafe(method(setLineSpacing:))]
338        #[unsafe(method_family = none)]
339        pub fn setLineSpacing(&self, line_spacing: CGFloat);
340
341        #[cfg(feature = "objc2-core-foundation")]
342        #[unsafe(method(paragraphSpacing))]
343        #[unsafe(method_family = none)]
344        pub fn paragraphSpacing(&self) -> CGFloat;
345
346        #[cfg(feature = "objc2-core-foundation")]
347        /// Setter for [`paragraphSpacing`][Self::paragraphSpacing].
348        #[unsafe(method(setParagraphSpacing:))]
349        #[unsafe(method_family = none)]
350        pub fn setParagraphSpacing(&self, paragraph_spacing: CGFloat);
351
352        #[cfg(feature = "objc2-core-foundation")]
353        #[unsafe(method(firstLineHeadIndent))]
354        #[unsafe(method_family = none)]
355        pub fn firstLineHeadIndent(&self) -> CGFloat;
356
357        #[cfg(feature = "objc2-core-foundation")]
358        /// Setter for [`firstLineHeadIndent`][Self::firstLineHeadIndent].
359        #[unsafe(method(setFirstLineHeadIndent:))]
360        #[unsafe(method_family = none)]
361        pub fn setFirstLineHeadIndent(&self, first_line_head_indent: CGFloat);
362
363        #[cfg(feature = "objc2-core-foundation")]
364        #[unsafe(method(headIndent))]
365        #[unsafe(method_family = none)]
366        pub fn headIndent(&self) -> CGFloat;
367
368        #[cfg(feature = "objc2-core-foundation")]
369        /// Setter for [`headIndent`][Self::headIndent].
370        #[unsafe(method(setHeadIndent:))]
371        #[unsafe(method_family = none)]
372        pub fn setHeadIndent(&self, head_indent: CGFloat);
373
374        #[cfg(feature = "objc2-core-foundation")]
375        #[unsafe(method(tailIndent))]
376        #[unsafe(method_family = none)]
377        pub fn tailIndent(&self) -> CGFloat;
378
379        #[cfg(feature = "objc2-core-foundation")]
380        /// Setter for [`tailIndent`][Self::tailIndent].
381        #[unsafe(method(setTailIndent:))]
382        #[unsafe(method_family = none)]
383        pub fn setTailIndent(&self, tail_indent: CGFloat);
384
385        #[unsafe(method(lineBreakMode))]
386        #[unsafe(method_family = none)]
387        pub fn lineBreakMode(&self) -> NSLineBreakMode;
388
389        /// Setter for [`lineBreakMode`][Self::lineBreakMode].
390        #[unsafe(method(setLineBreakMode:))]
391        #[unsafe(method_family = none)]
392        pub fn setLineBreakMode(&self, line_break_mode: NSLineBreakMode);
393
394        #[cfg(feature = "objc2-core-foundation")]
395        #[unsafe(method(minimumLineHeight))]
396        #[unsafe(method_family = none)]
397        pub fn minimumLineHeight(&self) -> CGFloat;
398
399        #[cfg(feature = "objc2-core-foundation")]
400        /// Setter for [`minimumLineHeight`][Self::minimumLineHeight].
401        #[unsafe(method(setMinimumLineHeight:))]
402        #[unsafe(method_family = none)]
403        pub fn setMinimumLineHeight(&self, minimum_line_height: CGFloat);
404
405        #[cfg(feature = "objc2-core-foundation")]
406        #[unsafe(method(maximumLineHeight))]
407        #[unsafe(method_family = none)]
408        pub fn maximumLineHeight(&self) -> CGFloat;
409
410        #[cfg(feature = "objc2-core-foundation")]
411        /// Setter for [`maximumLineHeight`][Self::maximumLineHeight].
412        #[unsafe(method(setMaximumLineHeight:))]
413        #[unsafe(method_family = none)]
414        pub fn setMaximumLineHeight(&self, maximum_line_height: CGFloat);
415
416        #[cfg(feature = "NSText")]
417        #[unsafe(method(baseWritingDirection))]
418        #[unsafe(method_family = none)]
419        pub fn baseWritingDirection(&self) -> NSWritingDirection;
420
421        #[cfg(feature = "NSText")]
422        /// Setter for [`baseWritingDirection`][Self::baseWritingDirection].
423        #[unsafe(method(setBaseWritingDirection:))]
424        #[unsafe(method_family = none)]
425        pub fn setBaseWritingDirection(&self, base_writing_direction: NSWritingDirection);
426
427        #[cfg(feature = "objc2-core-foundation")]
428        #[unsafe(method(lineHeightMultiple))]
429        #[unsafe(method_family = none)]
430        pub fn lineHeightMultiple(&self) -> CGFloat;
431
432        #[cfg(feature = "objc2-core-foundation")]
433        /// Setter for [`lineHeightMultiple`][Self::lineHeightMultiple].
434        #[unsafe(method(setLineHeightMultiple:))]
435        #[unsafe(method_family = none)]
436        pub fn setLineHeightMultiple(&self, line_height_multiple: CGFloat);
437
438        #[cfg(feature = "objc2-core-foundation")]
439        #[unsafe(method(paragraphSpacingBefore))]
440        #[unsafe(method_family = none)]
441        pub fn paragraphSpacingBefore(&self) -> CGFloat;
442
443        #[cfg(feature = "objc2-core-foundation")]
444        /// Setter for [`paragraphSpacingBefore`][Self::paragraphSpacingBefore].
445        #[unsafe(method(setParagraphSpacingBefore:))]
446        #[unsafe(method_family = none)]
447        pub fn setParagraphSpacingBefore(&self, paragraph_spacing_before: CGFloat);
448
449        #[unsafe(method(hyphenationFactor))]
450        #[unsafe(method_family = none)]
451        pub fn hyphenationFactor(&self) -> c_float;
452
453        /// Setter for [`hyphenationFactor`][Self::hyphenationFactor].
454        #[unsafe(method(setHyphenationFactor:))]
455        #[unsafe(method_family = none)]
456        pub fn setHyphenationFactor(&self, hyphenation_factor: c_float);
457
458        #[unsafe(method(usesDefaultHyphenation))]
459        #[unsafe(method_family = none)]
460        pub fn usesDefaultHyphenation(&self) -> bool;
461
462        /// Setter for [`usesDefaultHyphenation`][Self::usesDefaultHyphenation].
463        #[unsafe(method(setUsesDefaultHyphenation:))]
464        #[unsafe(method_family = none)]
465        pub fn setUsesDefaultHyphenation(&self, uses_default_hyphenation: bool);
466
467        #[unsafe(method(tabStops))]
468        #[unsafe(method_family = none)]
469        pub fn tabStops(&self) -> Retained<NSArray<NSTextTab>>;
470
471        /// Setter for [`tabStops`][Self::tabStops].
472        ///
473        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
474        #[unsafe(method(setTabStops:))]
475        #[unsafe(method_family = none)]
476        pub fn setTabStops(&self, tab_stops: Option<&NSArray<NSTextTab>>);
477
478        #[cfg(feature = "objc2-core-foundation")]
479        #[unsafe(method(defaultTabInterval))]
480        #[unsafe(method_family = none)]
481        pub fn defaultTabInterval(&self) -> CGFloat;
482
483        #[cfg(feature = "objc2-core-foundation")]
484        /// Setter for [`defaultTabInterval`][Self::defaultTabInterval].
485        #[unsafe(method(setDefaultTabInterval:))]
486        #[unsafe(method_family = none)]
487        pub fn setDefaultTabInterval(&self, default_tab_interval: CGFloat);
488
489        #[unsafe(method(allowsDefaultTighteningForTruncation))]
490        #[unsafe(method_family = none)]
491        pub fn allowsDefaultTighteningForTruncation(&self) -> bool;
492
493        /// Setter for [`allowsDefaultTighteningForTruncation`][Self::allowsDefaultTighteningForTruncation].
494        #[unsafe(method(setAllowsDefaultTighteningForTruncation:))]
495        #[unsafe(method_family = none)]
496        pub fn setAllowsDefaultTighteningForTruncation(
497            &self,
498            allows_default_tightening_for_truncation: bool,
499        );
500
501        #[unsafe(method(lineBreakStrategy))]
502        #[unsafe(method_family = none)]
503        pub fn lineBreakStrategy(&self) -> NSLineBreakStrategy;
504
505        /// Setter for [`lineBreakStrategy`][Self::lineBreakStrategy].
506        #[unsafe(method(setLineBreakStrategy:))]
507        #[unsafe(method_family = none)]
508        pub fn setLineBreakStrategy(&self, line_break_strategy: NSLineBreakStrategy);
509
510        #[cfg(feature = "NSTextList")]
511        #[unsafe(method(textLists))]
512        #[unsafe(method_family = none)]
513        pub fn textLists(&self) -> Retained<NSArray<NSTextList>>;
514
515        #[cfg(feature = "NSTextList")]
516        /// Setter for [`textLists`][Self::textLists].
517        ///
518        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
519        #[unsafe(method(setTextLists:))]
520        #[unsafe(method_family = none)]
521        pub fn setTextLists(&self, text_lists: &NSArray<NSTextList>);
522
523        #[unsafe(method(addTabStop:))]
524        #[unsafe(method_family = none)]
525        pub fn addTabStop(&self, an_object: &NSTextTab);
526
527        #[unsafe(method(removeTabStop:))]
528        #[unsafe(method_family = none)]
529        pub fn removeTabStop(&self, an_object: &NSTextTab);
530
531        #[unsafe(method(setParagraphStyle:))]
532        #[unsafe(method_family = none)]
533        pub fn setParagraphStyle(&self, obj: &NSParagraphStyle);
534    );
535}
536
537/// Methods declared on superclass `NSObject`.
538impl NSMutableParagraphStyle {
539    extern_methods!(
540        #[unsafe(method(init))]
541        #[unsafe(method_family = init)]
542        pub fn init(this: Allocated<Self>) -> Retained<Self>;
543
544        #[unsafe(method(new))]
545        #[unsafe(method_family = new)]
546        pub fn new() -> Retained<Self>;
547    );
548}
549
550impl DefaultRetained for NSMutableParagraphStyle {
551    #[inline]
552    fn default_retained() -> Retained<Self> {
553        Self::new()
554    }
555}
556
557impl NSTextTab {
558    extern_methods!(
559        #[cfg(all(feature = "NSText", feature = "objc2-core-foundation"))]
560        /// # Safety
561        ///
562        /// `options` generic should be of the correct type.
563        #[unsafe(method(initWithTextAlignment:location:options:))]
564        #[unsafe(method_family = init)]
565        pub unsafe fn initWithTextAlignment_location_options(
566            this: Allocated<Self>,
567            alignment: NSTextAlignment,
568            loc: CGFloat,
569            options: &NSDictionary<NSTextTabOptionKey, AnyObject>,
570        ) -> Retained<Self>;
571
572        #[cfg(feature = "NSText")]
573        #[unsafe(method(alignment))]
574        #[unsafe(method_family = none)]
575        pub fn alignment(&self) -> NSTextAlignment;
576    );
577}
578
579impl NSParagraphStyle {
580    extern_methods!(
581        #[cfg(feature = "NSText")]
582        #[unsafe(method(alignment))]
583        #[unsafe(method_family = none)]
584        pub fn alignment(&self) -> NSTextAlignment;
585
586        #[unsafe(method(tighteningFactorForTruncation))]
587        #[unsafe(method_family = none)]
588        pub fn tighteningFactorForTruncation(&self) -> c_float;
589
590        #[cfg(feature = "NSTextTable")]
591        #[unsafe(method(textBlocks))]
592        #[unsafe(method_family = none)]
593        pub fn textBlocks(&self) -> Retained<NSArray<NSTextBlock>>;
594
595        #[unsafe(method(headerLevel))]
596        #[unsafe(method_family = none)]
597        pub fn headerLevel(&self) -> NSInteger;
598    );
599}
600
601impl NSMutableParagraphStyle {
602    extern_methods!(
603        #[cfg(feature = "NSText")]
604        #[unsafe(method(alignment))]
605        #[unsafe(method_family = none)]
606        pub fn alignment(&self) -> NSTextAlignment;
607
608        #[cfg(feature = "NSText")]
609        /// Setter for [`alignment`][Self::alignment].
610        #[unsafe(method(setAlignment:))]
611        #[unsafe(method_family = none)]
612        pub fn setAlignment(&self, alignment: NSTextAlignment);
613
614        #[unsafe(method(tighteningFactorForTruncation))]
615        #[unsafe(method_family = none)]
616        pub fn tighteningFactorForTruncation(&self) -> c_float;
617
618        /// Setter for [`tighteningFactorForTruncation`][Self::tighteningFactorForTruncation].
619        #[unsafe(method(setTighteningFactorForTruncation:))]
620        #[unsafe(method_family = none)]
621        pub fn setTighteningFactorForTruncation(&self, tightening_factor_for_truncation: c_float);
622
623        #[cfg(feature = "NSTextTable")]
624        #[unsafe(method(textBlocks))]
625        #[unsafe(method_family = none)]
626        pub fn textBlocks(&self) -> Retained<NSArray<NSTextBlock>>;
627
628        #[cfg(feature = "NSTextTable")]
629        /// Setter for [`textBlocks`][Self::textBlocks].
630        ///
631        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
632        #[unsafe(method(setTextBlocks:))]
633        #[unsafe(method_family = none)]
634        pub fn setTextBlocks(&self, text_blocks: &NSArray<NSTextBlock>);
635
636        #[unsafe(method(headerLevel))]
637        #[unsafe(method_family = none)]
638        pub fn headerLevel(&self) -> NSInteger;
639
640        /// Setter for [`headerLevel`][Self::headerLevel].
641        #[unsafe(method(setHeaderLevel:))]
642        #[unsafe(method_family = none)]
643        pub fn setHeaderLevel(&self, header_level: NSInteger);
644    );
645}
646
647/// ********************** Deprecated ***********************
648///
649/// See also [Apple's documentation](https://developer.apple.com/documentation/appkit/nstexttabtype?language=objc)
650// NS_ENUM
651#[repr(transparent)]
652#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
653pub struct NSTextTabType(pub NSUInteger);
654impl NSTextTabType {
655    #[doc(alias = "NSLeftTabStopType")]
656    pub const LeftTabStopType: Self = Self(0);
657    #[doc(alias = "NSRightTabStopType")]
658    pub const RightTabStopType: Self = Self(1);
659    #[doc(alias = "NSCenterTabStopType")]
660    pub const CenterTabStopType: Self = Self(2);
661    #[doc(alias = "NSDecimalTabStopType")]
662    pub const DecimalTabStopType: Self = Self(3);
663}
664
665unsafe impl Encode for NSTextTabType {
666    const ENCODING: Encoding = NSUInteger::ENCODING;
667}
668
669unsafe impl RefEncode for NSTextTabType {
670    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
671}
672
673/// NSTextTabDeprecated.
674impl NSTextTab {
675    extern_methods!(
676        #[cfg(feature = "objc2-core-foundation")]
677        #[unsafe(method(initWithType:location:))]
678        #[unsafe(method_family = init)]
679        pub fn initWithType_location(
680            this: Allocated<Self>,
681            r#type: NSTextTabType,
682            loc: CGFloat,
683        ) -> Retained<Self>;
684
685        #[unsafe(method(tabStopType))]
686        #[unsafe(method_family = none)]
687        pub fn tabStopType(&self) -> NSTextTabType;
688    );
689}