Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hide tooltip when opening ComboBox dropdown #4338

Closed
emilk opened this issue Apr 8, 2024 · 0 comments · Fixed by #4546
Closed

Hide tooltip when opening ComboBox dropdown #4338

emilk opened this issue Apr 8, 2024 · 0 comments · Fixed by #4546
Assignees
Labels
bug Something is broken rerun Desired for Rerun.io

Comments

@emilk
Copy link
Owner

emilk commented Apr 8, 2024

If you set a tooltip for a ComboBox, that should be hidden as soon as the user opens the ComboBox dropdown, or the tooltip will cover the dropdown.

@emilk emilk added the bug Something is broken label Apr 8, 2024
@emilk emilk added this to the Next Patch Release milestone Apr 8, 2024
@emilk emilk added the rerun Desired for Rerun.io label Apr 8, 2024
@abey79 abey79 self-assigned this May 27, 2024
abey79 added a commit that referenced this issue May 27, 2024
abey79 added a commit that referenced this issue May 28, 2024
- Fixes #4338


https://github.com/emilk/egui/assets/49431240/73ea87a1-41ad-40b1-b451-d6be2b38c7e0



Tested using `example/hello_world` modified to:
```rust
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] // hide console window on Windows in release
#![allow(rustdoc::missing_crate_level_docs)] // it's an example

use eframe::egui;

fn main() -> Result<(), eframe::Error> {
    env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`).
    let options = eframe::NativeOptions {
        viewport: egui::ViewportBuilder::default().with_inner_size([320.0, 240.0]),
        ..Default::default()
    };
    eframe::run_native(
        "My egui App",
        options,
        Box::new(|cc| {
            // This gives us image support:
            egui_extras::install_image_loaders(&cc.egui_ctx);

            Box::<MyApp>::default()
        }),
    )
}

struct MyApp {
    name: String,
    age: u32,
}

impl Default for MyApp {
    fn default() -> Self {
        Self {
            name: "Arthur".to_owned(),
            age: 42,
        }
    }
}

impl eframe::App for MyApp {
    fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
        egui::CentralPanel::default().show(ctx, |ui| {
            ui.heading("My egui Application");
            egui::ComboBox::new("combo", "combo box")
                .selected_text(&self.name)
                .show_ui(ui, |ui| {
                    ui.selectable_value(&mut self.name, "Arthur".into(), "Arthur")
                        .on_hover_text("This is Arthur");
                    ui.selectable_value(&mut self.name, "Ford".into(), "Ford")
                        .on_hover_text("This is Ford");
                    ui.selectable_value(&mut self.name, "Trillian".into(), "Trillian")
                        .on_hover_text("This is Trillian");
                })
                .response
                .on_hover_text("This is a combo box");
        });
    }
}
```

---------

Co-authored-by: Emil Ernerfeldt <[email protected]>
emilk added a commit to rerun-io/rerun that referenced this issue Jul 4, 2024
### What
* Closes #5836
* Blocked by emilk/egui#4338


![image](https://github.com/rerun-io/rerun/assets/1148717/0e53005a-7f75-4239-b20e-1cbddb57451a)


### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [x] I have tested the web demo (if applicable):
* Using newly built examples:
[rerun.io/viewer](https://rerun.io/viewer/pr/5842)
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/5842?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/5842?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [x] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [x] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!

- [PR Build Summary](https://build.rerun.io/pr/5842)
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)
hacknus pushed a commit to hacknus/egui that referenced this issue Oct 30, 2024
- Fixes emilk#4338


https://github.com/emilk/egui/assets/49431240/73ea87a1-41ad-40b1-b451-d6be2b38c7e0



Tested using `example/hello_world` modified to:
```rust
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] // hide console window on Windows in release
#![allow(rustdoc::missing_crate_level_docs)] // it's an example

use eframe::egui;

fn main() -> Result<(), eframe::Error> {
    env_logger::init(); // Log to stderr (if you run with `RUST_LOG=debug`).
    let options = eframe::NativeOptions {
        viewport: egui::ViewportBuilder::default().with_inner_size([320.0, 240.0]),
        ..Default::default()
    };
    eframe::run_native(
        "My egui App",
        options,
        Box::new(|cc| {
            // This gives us image support:
            egui_extras::install_image_loaders(&cc.egui_ctx);

            Box::<MyApp>::default()
        }),
    )
}

struct MyApp {
    name: String,
    age: u32,
}

impl Default for MyApp {
    fn default() -> Self {
        Self {
            name: "Arthur".to_owned(),
            age: 42,
        }
    }
}

impl eframe::App for MyApp {
    fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
        egui::CentralPanel::default().show(ctx, |ui| {
            ui.heading("My egui Application");
            egui::ComboBox::new("combo", "combo box")
                .selected_text(&self.name)
                .show_ui(ui, |ui| {
                    ui.selectable_value(&mut self.name, "Arthur".into(), "Arthur")
                        .on_hover_text("This is Arthur");
                    ui.selectable_value(&mut self.name, "Ford".into(), "Ford")
                        .on_hover_text("This is Ford");
                    ui.selectable_value(&mut self.name, "Trillian".into(), "Trillian")
                        .on_hover_text("This is Trillian");
                })
                .response
                .on_hover_text("This is a combo box");
        });
    }
}
```

---------

Co-authored-by: Emil Ernerfeldt <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is broken rerun Desired for Rerun.io
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants