objc2_browser_engine_kit/generated/
BETextInputDelegate.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
10extern_protocol!(
11    /// [Apple's documentation](https://developer.apple.com/documentation/browserenginekit/betextinputdelegate?language=objc)
12    pub unsafe trait BETextInputDelegate {
13        #[cfg(all(feature = "BEKeyEntryContext", feature = "BETextInput"))]
14        /// Defers the key event to the system and returns whether the key event was handled.
15        ///
16        /// For example, the system will handle key events for character insertions, deletions, key commands, and more.
17        #[unsafe(method(shouldDeferEventHandlingToSystemForTextInput:context:))]
18        #[unsafe(method_family = none)]
19        unsafe fn shouldDeferEventHandlingToSystemForTextInput_context(
20            &self,
21            text_input: &ProtocolObject<dyn BETextInput>,
22            key_event_context: &BEKeyEntryContext,
23        ) -> bool;
24
25        #[cfg(all(feature = "BETextInput", feature = "BETextSuggestion"))]
26        /// Provides text suggestions to the system.
27        ///
28        /// For example, suggestions could include data list elements or AutoFill candidates.
29        #[unsafe(method(textInput:setCandidateSuggestions:))]
30        #[unsafe(method_family = none)]
31        unsafe fn textInput_setCandidateSuggestions(
32            &self,
33            text_input: &ProtocolObject<dyn BETextInput>,
34            suggestions: Option<&NSArray<BETextSuggestion>>,
35        );
36
37        #[cfg(feature = "BETextInput")]
38        /// Tells the system when the selection is about to change in the document.
39        #[unsafe(method(selectionWillChangeForTextInput:))]
40        #[unsafe(method_family = none)]
41        unsafe fn selectionWillChangeForTextInput(
42            &self,
43            text_input: &ProtocolObject<dyn BETextInput>,
44        );
45
46        #[cfg(feature = "BETextInput")]
47        /// Tells the system when the selection has changed in the document.
48        ///
49        /// This method results in an document state refresh with an invocation to:
50        /// -[BETextInput requestTextContextForAutocorrectionWithCompletionHandler:]
51        #[unsafe(method(selectionDidChangeForTextInput:))]
52        #[unsafe(method_family = none)]
53        unsafe fn selectionDidChangeForTextInput(
54            &self,
55            text_input: &ProtocolObject<dyn BETextInput>,
56        );
57
58        #[cfg(feature = "BETextInput")]
59        /// Defers a replace text action to the ssytem.
60        ///
61        /// When handling the replace: action, use this method to defer the replacement to the system.
62        ///
63        /// For example, a replacement could be deferred after it is selected from the autocorrect replacements list.
64        #[unsafe(method(textInput:deferReplaceTextActionToSystem:))]
65        #[unsafe(method_family = none)]
66        unsafe fn textInput_deferReplaceTextActionToSystem(
67            &self,
68            text_input: &ProtocolObject<dyn BETextInput>,
69            sender: &AnyObject,
70        );
71
72        #[cfg(feature = "BETextInput")]
73        /// Tells the system the text entry context has changed and that text entry UI's need to be refreshed.
74        ///
75        /// This is a costly operation and should only used with intention.  For example, when switching focus
76        /// between different elements.
77        #[unsafe(method(invalidateTextEntryContextForTextInput:))]
78        #[unsafe(method_family = none)]
79        unsafe fn invalidateTextEntryContextForTextInput(
80            &self,
81            text_input: &ProtocolObject<dyn BETextInput>,
82        );
83    }
84);