use objc2::__framework_prelude::*;
use objc2_foundation::*;
#[cfg(feature = "objc2-quartz-core")]
#[cfg(not(target_os = "watchos"))]
use objc2_quartz_core::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
pub struct UISearchTextField;
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl ClassType for UISearchTextField {
#[inherits(UIControl, UIView, UIResponder, NSObject)]
type Super = UITextField;
type Mutability = MainThreadOnly;
}
);
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView",
feature = "objc2-quartz-core"
))]
#[cfg(not(target_os = "watchos"))]
unsafe impl CALayerDelegate for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl NSCoding for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl NSObjectProtocol for UISearchTextField {}
#[cfg(all(
feature = "UIAppearance",
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UIAppearance for UISearchTextField {}
#[cfg(all(
feature = "UIAppearance",
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UIAppearanceContainer for UISearchTextField {}
#[cfg(all(
feature = "UIContentSizeCategoryAdjusting",
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UIContentSizeCategoryAdjusting for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UICoordinateSpace for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIDynamicBehavior",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UIDynamicItem for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIFocus",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UIFocusEnvironment for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIFocus",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UIFocusItem for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIFocus",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UIFocusItemContainer for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UITextInput",
feature = "UITextInputTraits",
feature = "UIView"
))]
unsafe impl UIKeyInput for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UILetterformAwareAdjusting",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UILetterformAwareAdjusting for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UIResponderStandardEditActions for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UITextInput",
feature = "UITextInputTraits",
feature = "UIView"
))]
unsafe impl UITextInput for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UITextInputTraits",
feature = "UIView"
))]
unsafe impl UITextInputTraits for UISearchTextField {}
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UITraitCollection",
feature = "UIView"
))]
unsafe impl UITraitEnvironment for UISearchTextField {}
extern_methods!(
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UISearchTextField {
#[method_id(@__retain_semantics Other tokens)]
pub unsafe fn tokens(&self) -> Retained<NSArray<UISearchToken>>;
#[method(setTokens:)]
pub unsafe fn setTokens(&self, tokens: &NSArray<UISearchToken>);
#[method(insertToken:atIndex:)]
pub unsafe fn insertToken_atIndex(&self, token: &UISearchToken, token_index: NSInteger);
#[method(removeTokenAtIndex:)]
pub unsafe fn removeTokenAtIndex(&self, token_index: NSInteger);
#[cfg(feature = "UITextInput")]
#[method_id(@__retain_semantics Other positionOfTokenAtIndex:)]
pub unsafe fn positionOfTokenAtIndex(
&self,
token_index: NSInteger,
) -> Retained<UITextPosition>;
#[cfg(feature = "UITextInput")]
#[method_id(@__retain_semantics Other tokensInRange:)]
pub unsafe fn tokensInRange(
&self,
text_range: &UITextRange,
) -> Retained<NSArray<UISearchToken>>;
#[cfg(feature = "UITextInput")]
#[method_id(@__retain_semantics Other textualRange)]
pub unsafe fn textualRange(&self) -> Retained<UITextRange>;
#[cfg(feature = "UITextInput")]
#[method(replaceTextualPortionOfRange:withToken:atIndex:)]
pub unsafe fn replaceTextualPortionOfRange_withToken_atIndex(
&self,
text_range: &UITextRange,
token: &UISearchToken,
token_index: NSUInteger,
);
#[cfg(feature = "UIColor")]
#[method_id(@__retain_semantics Other tokenBackgroundColor)]
pub unsafe fn tokenBackgroundColor(&self) -> Option<Retained<UIColor>>;
#[cfg(feature = "UIColor")]
#[method(setTokenBackgroundColor:)]
pub unsafe fn setTokenBackgroundColor(&self, token_background_color: Option<&UIColor>);
#[method(allowsDeletingTokens)]
pub unsafe fn allowsDeletingTokens(&self) -> bool;
#[method(setAllowsDeletingTokens:)]
pub unsafe fn setAllowsDeletingTokens(&self, allows_deleting_tokens: bool);
#[method(allowsCopyingTokens)]
pub unsafe fn allowsCopyingTokens(&self) -> bool;
#[method(setAllowsCopyingTokens:)]
pub unsafe fn setAllowsCopyingTokens(&self, allows_copying_tokens: bool);
#[cfg(feature = "UISearchSuggestion")]
#[method_id(@__retain_semantics Other searchSuggestions)]
pub unsafe fn searchSuggestions(
&self,
) -> Option<Retained<NSArray<ProtocolObject<dyn UISearchSuggestion>>>>;
#[cfg(feature = "UISearchSuggestion")]
#[method(setSearchSuggestions:)]
pub unsafe fn setSearchSuggestions(
&self,
search_suggestions: Option<&NSArray<ProtocolObject<dyn UISearchSuggestion>>>,
);
}
);
extern_methods!(
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UISearchTextField {
#[method_id(@__retain_semantics Init initWithFrame:)]
pub unsafe fn initWithFrame(this: Allocated<Self>, frame: CGRect) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(
this: Allocated<Self>,
coder: &NSCoder,
) -> Option<Retained<Self>>;
#[cfg(all(feature = "UIAction", feature = "UIMenuElement"))]
#[method_id(@__retain_semantics Init initWithFrame:primaryAction:)]
pub unsafe fn initWithFrame_primaryAction(
this: Allocated<Self>,
frame: CGRect,
primary_action: Option<&UIAction>,
) -> Retained<Self>;
}
);
extern_methods!(
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UITextField",
feature = "UIView"
))]
unsafe impl UISearchTextField {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
}
);
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct UISearchToken;
unsafe impl ClassType for UISearchToken {
type Super = NSObject;
type Mutability = MainThreadOnly;
}
);
unsafe impl NSObjectProtocol for UISearchToken {}
extern_methods!(
unsafe impl UISearchToken {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Retained<Self>;
#[cfg(feature = "UIImage")]
#[method_id(@__retain_semantics Other tokenWithIcon:text:)]
pub unsafe fn tokenWithIcon_text(
icon: Option<&UIImage>,
text: &NSString,
mtm: MainThreadMarker,
) -> Retained<UISearchToken>;
#[method_id(@__retain_semantics Other representedObject)]
pub unsafe fn representedObject(&self) -> Option<Retained<AnyObject>>;
#[method(setRepresentedObject:)]
pub unsafe fn setRepresentedObject(&self, represented_object: Option<&AnyObject>);
}
);
extern_protocol!(
#[cfg(feature = "UITextField")]
pub unsafe trait UISearchTextFieldDelegate:
UITextFieldDelegate + IsMainThreadOnly
{
#[cfg(all(feature = "UIControl", feature = "UIResponder", feature = "UIView"))]
#[optional]
#[method_id(@__retain_semantics Other searchTextField:itemProviderForCopyingToken:)]
unsafe fn searchTextField_itemProviderForCopyingToken(
&self,
search_text_field: &UISearchTextField,
token: &UISearchToken,
) -> Retained<NSItemProvider>;
#[cfg(all(
feature = "UIControl",
feature = "UIResponder",
feature = "UISearchSuggestion",
feature = "UIView"
))]
#[optional]
#[method(searchTextField:didSelectSuggestion:)]
unsafe fn searchTextField_didSelectSuggestion(
&self,
search_text_field: &UISearchTextField,
suggestion: &ProtocolObject<dyn UISearchSuggestion>,
);
}
#[cfg(feature = "UITextField")]
unsafe impl ProtocolType for dyn UISearchTextFieldDelegate {}
);
extern_protocol!(
#[cfg(feature = "UITextPasteDelegate")]
pub unsafe trait UISearchTextFieldPasteItem: UITextPasteItem + IsMainThreadOnly {
#[method(setSearchTokenResult:)]
unsafe fn setSearchTokenResult(&self, token: &UISearchToken);
}
#[cfg(feature = "UITextPasteDelegate")]
unsafe impl ProtocolType for dyn UISearchTextFieldPasteItem {}
);