pub struct Autocomplete { /* private fields */ }Expand description
A text field with completion. Create with
cx.new(|cx| Autocomplete::new(cx).suggestions([..])).
Implementations§
Source§impl Autocomplete
impl Autocomplete
pub fn new(cx: &mut Context<'_, Self>) -> Self
pub fn suggestions<I, S>(self, suggestions: I) -> Self
pub fn value(self, value: impl Into<String>) -> Self
pub fn placeholder(self, placeholder: impl Into<SharedString>) -> Self
pub fn label(self, label: impl Into<SharedString>) -> Self
pub fn size(self, size: Size) -> Self
pub fn disabled(self, disabled: bool) -> Self
pub fn text(&self) -> String
Source§impl Autocomplete
impl Autocomplete
Sourcepub fn tab_index(self, index: isize) -> Self
pub fn tab_index(self, index: isize) -> Self
Where this field sits in the window’s Tab order. Fields default to 0, which walks them in render order; set this only to override that.
Sourcepub fn tab_stop(self, tab_stop: bool) -> Self
pub fn tab_stop(self, tab_stop: bool) -> Self
Leave the field out of the Tab order without disabling it.
Sourcepub fn focus_handle(&self) -> FocusHandle
pub fn focus_handle(&self) -> FocusHandle
The field’s focus handle, so a host can focus it on open.
Trait Implementations§
Source§impl EntityInputHandler for Autocomplete
impl EntityInputHandler for Autocomplete
Source§fn text_for_range(
&mut self,
range_utf16: Range<usize>,
actual: &mut Option<Range<usize>>,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<String>
fn text_for_range( &mut self, range_utf16: Range<usize>, actual: &mut Option<Range<usize>>, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<String>
See
InputHandler::text_for_range for detailsSource§fn selected_text_range(
&mut self,
_ignore_disabled: bool,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<UTF16Selection>
fn selected_text_range( &mut self, _ignore_disabled: bool, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<UTF16Selection>
See
InputHandler::selected_text_range for detailsSource§fn marked_text_range(
&self,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<Range<usize>>
fn marked_text_range( &self, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<Range<usize>>
See
InputHandler::marked_text_range for detailsSource§fn unmark_text(&mut self, _window: &mut Window, _cx: &mut Context<'_, Self>)
fn unmark_text(&mut self, _window: &mut Window, _cx: &mut Context<'_, Self>)
See
InputHandler::unmark_text for detailsSource§fn replace_text_in_range(
&mut self,
range_utf16: Option<Range<usize>>,
text: &str,
_window: &mut Window,
cx: &mut Context<'_, Self>,
)
fn replace_text_in_range( &mut self, range_utf16: Option<Range<usize>>, text: &str, _window: &mut Window, cx: &mut Context<'_, Self>, )
See
InputHandler::replace_text_in_range for detailsSource§fn replace_and_mark_text_in_range(
&mut self,
range_utf16: Option<Range<usize>>,
text: &str,
selected_utf16: Option<Range<usize>>,
_window: &mut Window,
cx: &mut Context<'_, Self>,
)
fn replace_and_mark_text_in_range( &mut self, range_utf16: Option<Range<usize>>, text: &str, selected_utf16: Option<Range<usize>>, _window: &mut Window, cx: &mut Context<'_, Self>, )
See
InputHandler::replace_and_mark_text_in_range for detailsSource§fn bounds_for_range(
&mut self,
range_utf16: Range<usize>,
bounds: Bounds<Pixels>,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<Bounds<Pixels>>
fn bounds_for_range( &mut self, range_utf16: Range<usize>, bounds: Bounds<Pixels>, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<Bounds<Pixels>>
See
InputHandler::bounds_for_range for detailsSource§fn character_index_for_point(
&mut self,
point: Point<Pixels>,
_window: &mut Window,
_cx: &mut Context<'_, Self>,
) -> Option<usize>
fn character_index_for_point( &mut self, point: Point<Pixels>, _window: &mut Window, _cx: &mut Context<'_, Self>, ) -> Option<usize>
See
InputHandler::character_index_for_point for detailsimpl EventEmitter<AutocompleteEvent> for Autocomplete
Source§impl LineEditor for Autocomplete
impl LineEditor for Autocomplete
Source§fn line_changed(&mut self, cx: &mut Context<'_, Self>)
fn line_changed(&mut self, cx: &mut Context<'_, Self>)
Any edit reopens the list and starts the highlight over, since the matches it was pointing at have changed.
fn edit(&self) -> &TextEdit
fn edit_mut(&mut self) -> &mut TextEdit
fn line(&self) -> &LineState
fn line_mut(&mut self) -> &mut LineState
fn line_focus(&self) -> &FocusHandle
Source§fn line_read_only(&self) -> bool
fn line_read_only(&self) -> bool
Accept focus, selection, and copy, but reject every mutation.
Source§fn line_masked(&self) -> bool
fn line_masked(&self) -> bool
Show bullets instead of characters, and refuse to copy or cut.
Source§fn line_max_length(&self) -> Option<usize>
fn line_max_length(&self) -> Option<usize>
Cap on the value’s length in chars, enforced on typing and on paste the
way an
<input maxlength> is.Source§fn line_filter(&self, text: String) -> String
fn line_filter(&self, text: String) -> String
Narrow what may be entered, the way
<input type="number"> does.
Returns the text to actually insert; dropping every char rejects the
input. Applied to typing, IME, drops, and paste alike, so a field can’t
be filled with something it rejects by any route.Source§impl Render for Autocomplete
impl Render for Autocomplete
Auto Trait Implementations§
impl !RefUnwindSafe for Autocomplete
impl !UnwindSafe for Autocomplete
impl Freeze for Autocomplete
impl Send for Autocomplete
impl Sync for Autocomplete
impl Unpin for Autocomplete
impl UnsafeUnpin for Autocomplete
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more