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

Use egui's UiStack to implement full span widgets #6491

Merged
merged 4 commits into from
Jun 4, 2024

Conversation

abey79
Copy link
Contributor

@abey79 abey79 commented Jun 4, 2024

What

This PR uses emilk/egui#4588 to replace the full_span mechanism, which requires less boilerplate and makes it available in many more places (including tooltips). The get_full_span() function now lives in a Ui extension trait, where the rest of re_ui should eventually migrate (#4569).

This PR also updates egui/egui_tiles/egui_commonmark to the latest commits.

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!

To run all checks from main, comment on the PR with @rerun-bot full-check.

@abey79 abey79 added ui concerns graphical user interface include in changelog labels Jun 4, 2024
@abey79 abey79 marked this pull request as ready for review June 4, 2024 12:52
@Wumpf Wumpf self-requested a review June 4, 2024 13:03
Copy link
Member

@Wumpf Wumpf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

super cool, starting to like this ui stack feature a lot 😄

crates/re_ui/src/lib.rs Outdated Show resolved Hide resolved

/// Retrieve the current full-span scope.
fn get_full_span(&self) -> egui::Rangef {
for node in self.ui().stack().iter() {
Copy link
Member

@Wumpf Wumpf Jun 4, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh I see, amazing that we can do that now

@abey79 abey79 merged commit 999b355 into main Jun 4, 2024
33 of 34 checks passed
@abey79 abey79 deleted the antoine/full-span-ui-stack branch June 4, 2024 14:08
emilk pushed a commit that referenced this pull request Jun 5, 2024
### What

When #6491 migrated to using `UiStack` for full span scopes, it wasn't
possible to manually set a full span scope somewhere. Because of that, a
clip rect hack was used for the streams tree. With
emilk/egui#4617, it's now possible to support
that correctly, so this PR introduces `UiExt::full_span_scope()` and
uses it for the streams tree.

This PR also bumps the egui/egui_commonmark/egui_tiles commits.

### 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 examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/{{pr.number}}?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/{{pr.number}}?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/{{pr.number}})
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
include in changelog ui concerns graphical user interface
Projects
None yet
Development

Successfully merging this pull request may close these issues.

All UI containers should ideally define full span ranges themselves
2 participants