1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-31 22:00:03 -04:00

Highlight submenu buttons when hovered and open (#3780)

Submenu buttons in menues now properly highlight when hovered and when
opened.

…plus a bunch of other cleanup
This commit is contained in:
Emil Ernerfeldt
2024-01-07 22:08:32 +01:00
committed by GitHub
parent 327f599407
commit 8c30e8c5f7
13 changed files with 62 additions and 57 deletions

View File

@@ -79,7 +79,7 @@ impl<'a> Widget for DatePickerButton<'a> {
fn ui(self, ui: &mut Ui) -> egui::Response {
let id = ui.make_persistent_id(self.id_source);
let mut button_state = ui
.memory_mut(|mem| mem.data.get_persisted::<DatePickerButtonState>(id))
.data_mut(|data| data.get_persisted::<DatePickerButtonState>(id))
.unwrap_or_default();
let mut text = if self.show_icon {
@@ -98,7 +98,7 @@ impl<'a> Widget for DatePickerButton<'a> {
let mut button_response = ui.add(button);
if button_response.clicked() {
button_state.picker_visible = true;
ui.memory_mut(|mem| mem.data.insert_persisted(id, button_state.clone()));
ui.data_mut(|data| data.insert_persisted(id, button_state.clone()));
}
if button_state.picker_visible {
@@ -152,7 +152,7 @@ impl<'a> Widget for DatePickerButton<'a> {
&& (ui.input(|i| i.key_pressed(Key::Escape)) || area_response.clicked_elsewhere())
{
button_state.picker_visible = false;
ui.memory_mut(|mem| mem.data.insert_persisted(id, button_state));
ui.data_mut(|data| data.insert_persisted(id, button_state));
}
}