Fix on_option_hovered support in ComboBox

This commit is contained in:
Héctor Ramón Jiménez 2023-07-26 22:34:56 +02:00
parent 9eb2889d09
commit 28d32a8b64
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
4 changed files with 63 additions and 23 deletions

View file

@ -15,9 +15,9 @@ struct Example {
#[derive(Debug, Clone, Copy)]
enum Message {
LanguageSelected(Language),
LanguagePreview(Language),
LanguageBlurred,
Selected(Language),
OptionHovered(Language),
Closed,
}
impl Sandbox for Example {
@ -37,15 +37,15 @@ impl Sandbox for Example {
fn update(&mut self, message: Message) {
match message {
Message::LanguageSelected(language) => {
Message::Selected(language) => {
self.selected_language = Some(language);
self.text = language.hello().to_string();
self.languages.unfocus();
}
Message::LanguagePreview(language) => {
Message::OptionHovered(language) => {
self.text = language.hello().to_string();
}
Message::LanguageBlurred => {
Message::Closed => {
self.text = self
.selected_language
.map(|language| language.hello().to_string())
@ -59,17 +59,17 @@ impl Sandbox for Example {
&self.languages,
"Type a language...",
self.selected_language.as_ref(),
Message::LanguageSelected,
Message::Selected,
)
.on_selection(Message::LanguagePreview)
.on_blur(Message::LanguageBlurred)
.on_option_hovered(Message::OptionHovered)
.on_close(Message::Closed)
.width(250);
let content = column![
text(&self.text),
"What is your language?",
combo_box,
vertical_space(150),
text(&self.text),
]
.width(Length::Fill)
.align_items(Alignment::Center)