pub trait PickerDelegate: Sized + 'static {
type ListItem: RenderOnce;
// Required methods
fn match_count(&self) -> usize;
fn selected_index(&self) -> usize;
fn set_selected_index(
&mut self,
ix: usize,
cx: &mut ViewContext<'_, Picker<Self>>
);
fn placeholder_text(&self) -> Arc<str>;
fn update_matches(
&mut self,
query: String,
cx: &mut ViewContext<'_, Picker<Self>>
) -> Task<()>;
fn confirm(
&mut self,
secondary: bool,
cx: &mut ViewContext<'_, Picker<Self>>
);
fn dismissed(&mut self, cx: &mut ViewContext<'_, Picker<Self>>);
fn render_match(
&self,
ix: usize,
selected: bool,
cx: &mut ViewContext<'_, Picker<Self>>
) -> Self::ListItem;
}