objc2_app_kit/generated/
NSTextInsertionIndicator.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::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstextinsertionindicatordisplaymode?language=objc)
11// NS_ENUM
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct NSTextInsertionIndicatorDisplayMode(pub NSInteger);
15impl NSTextInsertionIndicatorDisplayMode {
16    #[doc(alias = "NSTextInsertionIndicatorDisplayModeAutomatic")]
17    pub const Automatic: Self = Self(0);
18    #[doc(alias = "NSTextInsertionIndicatorDisplayModeHidden")]
19    pub const Hidden: Self = Self(1);
20    #[doc(alias = "NSTextInsertionIndicatorDisplayModeVisible")]
21    pub const Visible: Self = Self(2);
22}
23
24unsafe impl Encode for NSTextInsertionIndicatorDisplayMode {
25    const ENCODING: Encoding = NSInteger::ENCODING;
26}
27
28unsafe impl RefEncode for NSTextInsertionIndicatorDisplayMode {
29    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
30}
31
32/// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstextinsertionindicatorautomaticmodeoptions?language=objc)
33// NS_OPTIONS
34#[repr(transparent)]
35#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
36pub struct NSTextInsertionIndicatorAutomaticModeOptions(pub NSInteger);
37bitflags::bitflags! {
38    impl NSTextInsertionIndicatorAutomaticModeOptions: NSInteger {
39        #[doc(alias = "NSTextInsertionIndicatorAutomaticModeOptionsShowEffectsView")]
40        const ShowEffectsView = 1<<0;
41        #[doc(alias = "NSTextInsertionIndicatorAutomaticModeOptionsShowWhileTracking")]
42        const ShowWhileTracking = 1<<1;
43    }
44}
45
46unsafe impl Encode for NSTextInsertionIndicatorAutomaticModeOptions {
47    const ENCODING: Encoding = NSInteger::ENCODING;
48}
49
50unsafe impl RefEncode for NSTextInsertionIndicatorAutomaticModeOptions {
51    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
52}
53
54extern_class!(
55    /// [Apple's documentation](https://developer.apple.com/documentation/appkit/nstextinsertionindicator?language=objc)
56    #[unsafe(super(NSView, NSResponder, NSObject))]
57    #[derive(Debug, PartialEq, Eq, Hash)]
58    #[cfg(all(feature = "NSResponder", feature = "NSView"))]
59    pub struct NSTextInsertionIndicator;
60);
61
62#[cfg(all(
63    feature = "NSAccessibilityProtocols",
64    feature = "NSResponder",
65    feature = "NSView"
66))]
67unsafe impl NSAccessibility for NSTextInsertionIndicator {}
68
69#[cfg(all(
70    feature = "NSAccessibilityProtocols",
71    feature = "NSResponder",
72    feature = "NSView"
73))]
74unsafe impl NSAccessibilityElementProtocol for NSTextInsertionIndicator {}
75
76#[cfg(all(feature = "NSAnimation", feature = "NSResponder", feature = "NSView"))]
77unsafe impl NSAnimatablePropertyContainer for NSTextInsertionIndicator {}
78
79#[cfg(all(feature = "NSAppearance", feature = "NSResponder", feature = "NSView"))]
80unsafe impl NSAppearanceCustomization for NSTextInsertionIndicator {}
81
82#[cfg(all(feature = "NSResponder", feature = "NSView"))]
83unsafe impl NSCoding for NSTextInsertionIndicator {}
84
85#[cfg(all(feature = "NSDragging", feature = "NSResponder", feature = "NSView"))]
86unsafe impl NSDraggingDestination for NSTextInsertionIndicator {}
87
88#[cfg(all(feature = "NSResponder", feature = "NSView"))]
89unsafe impl NSObjectProtocol for NSTextInsertionIndicator {}
90
91#[cfg(all(
92    feature = "NSResponder",
93    feature = "NSUserInterfaceItemIdentification",
94    feature = "NSView"
95))]
96unsafe impl NSUserInterfaceItemIdentification for NSTextInsertionIndicator {}
97
98#[cfg(all(feature = "NSResponder", feature = "NSView"))]
99impl NSTextInsertionIndicator {
100    extern_methods!(
101        /// Sets-returns the indicator's display mode.
102        #[unsafe(method(displayMode))]
103        #[unsafe(method_family = none)]
104        pub unsafe fn displayMode(&self) -> NSTextInsertionIndicatorDisplayMode;
105
106        /// Setter for [`displayMode`][Self::displayMode].
107        #[unsafe(method(setDisplayMode:))]
108        #[unsafe(method_family = none)]
109        pub unsafe fn setDisplayMode(&self, display_mode: NSTextInsertionIndicatorDisplayMode);
110
111        #[cfg(feature = "NSColor")]
112        /// The color of the indicator.
113        ///
114        /// Defaults to NSColor.textInsertionPointColor.
115        ///
116        /// Note: If set to
117        /// `nil,`uses NSColor.textInsertionPointColor.
118        #[unsafe(method(color))]
119        #[unsafe(method_family = none)]
120        pub unsafe fn color(&self) -> Retained<NSColor>;
121
122        #[cfg(feature = "NSColor")]
123        /// Setter for [`color`][Self::color].
124        #[unsafe(method(setColor:))]
125        #[unsafe(method_family = none)]
126        pub unsafe fn setColor(&self, color: Option<&NSColor>);
127
128        /// Options for the NSTextInsertionIndicatorDisplayModeAutomatic display mode.
129        /// Defaults to NSTextInsertionIndicatorAutomaticModeOptionsShowEffectsView.
130        #[unsafe(method(automaticModeOptions))]
131        #[unsafe(method_family = none)]
132        pub unsafe fn automaticModeOptions(&self) -> NSTextInsertionIndicatorAutomaticModeOptions;
133
134        /// Setter for [`automaticModeOptions`][Self::automaticModeOptions].
135        #[unsafe(method(setAutomaticModeOptions:))]
136        #[unsafe(method_family = none)]
137        pub unsafe fn setAutomaticModeOptions(
138            &self,
139            automatic_mode_options: NSTextInsertionIndicatorAutomaticModeOptions,
140        );
141
142        #[cfg(feature = "block2")]
143        /// Sets-returns a block that inserts a view into the view hierarchy.
144        ///
145        /// During dictation the NSTextInsertionIndicator displays a glow effect by inserting a view below the text view. If an application needs to insert the view in a different way, the application can specify a block of code that will be called when the glow effect needs to be displayed.
146        #[unsafe(method(effectsViewInserter))]
147        #[unsafe(method_family = none)]
148        pub unsafe fn effectsViewInserter(&self) -> *mut block2::Block<dyn Fn(NonNull<NSView>)>;
149
150        #[cfg(feature = "block2")]
151        /// Setter for [`effectsViewInserter`][Self::effectsViewInserter].
152        #[unsafe(method(setEffectsViewInserter:))]
153        #[unsafe(method_family = none)]
154        pub unsafe fn setEffectsViewInserter(
155            &self,
156            effects_view_inserter: Option<&block2::Block<dyn Fn(NonNull<NSView>)>>,
157        );
158    );
159}
160
161/// Methods declared on superclass `NSView`.
162#[cfg(all(feature = "NSResponder", feature = "NSView"))]
163impl NSTextInsertionIndicator {
164    extern_methods!(
165        #[unsafe(method(initWithFrame:))]
166        #[unsafe(method_family = init)]
167        pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Retained<Self>;
168
169        #[unsafe(method(initWithCoder:))]
170        #[unsafe(method_family = init)]
171        pub unsafe fn initWithCoder(
172            this: Allocated<Self>,
173            coder: &NSCoder,
174        ) -> Option<Retained<Self>>;
175    );
176}
177
178/// Methods declared on superclass `NSResponder`.
179#[cfg(all(feature = "NSResponder", feature = "NSView"))]
180impl NSTextInsertionIndicator {
181    extern_methods!(
182        #[unsafe(method(init))]
183        #[unsafe(method_family = init)]
184        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
185    );
186}
187
188/// Methods declared on superclass `NSObject`.
189#[cfg(all(feature = "NSResponder", feature = "NSView"))]
190impl NSTextInsertionIndicator {
191    extern_methods!(
192        #[unsafe(method(new))]
193        #[unsafe(method_family = new)]
194        pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
195    );
196}