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

SidePanel::exact_width does not product a panel of that size #3006

Closed
al2me6 opened this issue May 20, 2023 · 0 comments · Fixed by #4351
Closed

SidePanel::exact_width does not product a panel of that size #3006

al2me6 opened this issue May 20, 2023 · 0 comments · Fixed by #4351
Labels
bug Something is broken

Comments

@al2me6
Copy link

al2me6 commented May 20, 2023

Describe the bug

Side panels are wider than the given exact_width.

To Reproduce

struct App;

impl eframe::App for App {
    fn update(&mut self, ctx: &eframe::egui::Context, _frame: &mut eframe::Frame) {
        eframe::egui::SidePanel::right("panel")
            .exact_width(150.)
            .show(ctx, |ui| {
                ui.horizontal_wrapped(|ui| {
                    ui.label("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.");
                });
                ui.separator();
            });
    }
}

fn main() -> eframe::Result<()> {
    eframe::run_native(
        "ExactWidth",
        eframe::NativeOptions::default(),
        Box::new(|_cc| Box::new(App)),
    )
}

Expected behavior

The panel is exactly 150 px wide.

Screenshots

Observe that the panel is in fact 166 px wide:

image

Thus, if the panel is on the right side, UI elements are clipped beyond the window:

image

Desktop:

  • OS: Windows 10
  • Browser: Firefox, Chromium-derived
  • Version eframe 0.21.3

Additional context
N/A

@al2me6 al2me6 added the bug Something is broken label May 20, 2023
@al2me6 al2me6 changed the title SidePanel::exact_width clips contents when on the right SidePanel::exact_width does not product a panel of that size May 20, 2023
emilk pushed a commit that referenced this issue Apr 22, 2024
<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md)
before opening a Pull Request!

* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to add commits to your PR.
* Remember to run `cargo fmt` and `cargo cranky`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.

Please be patient! I will review your PR, but my time is limited!
-->

* Closes <#4126>
* Closes <#3006>

Previously, `SidePanel`/`TopBottomPanel` didn't include `inner_margin`
when setting the min width/height of `Frame`. As a result, when your
`Panel` has `inner_margin`, its size doesn't work as expected.

Before


![before](https://github.com/emilk/egui/assets/62168376/3bd20c0a-6625-4786-9f7d-85449a0e436c)

After


![after](https://github.com/emilk/egui/assets/62168376/a2e41ed4-4f20-484c-8b54-d2ce9cc71d95)
valadaptive pushed a commit to valadaptive/egui that referenced this issue Jun 20, 2024
<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md)
before opening a Pull Request!

* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to add commits to your PR.
* Remember to run `cargo fmt` and `cargo cranky`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.

Please be patient! I will review your PR, but my time is limited!
-->

* Closes <emilk#4126>
* Closes <emilk#3006>

Previously, `SidePanel`/`TopBottomPanel` didn't include `inner_margin`
when setting the min width/height of `Frame`. As a result, when your
`Panel` has `inner_margin`, its size doesn't work as expected.

Before


![before](https://github.com/emilk/egui/assets/62168376/3bd20c0a-6625-4786-9f7d-85449a0e436c)

After


![after](https://github.com/emilk/egui/assets/62168376/a2e41ed4-4f20-484c-8b54-d2ce9cc71d95)
hacknus pushed a commit to hacknus/egui that referenced this issue Oct 30, 2024
<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md)
before opening a Pull Request!

* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to add commits to your PR.
* Remember to run `cargo fmt` and `cargo cranky`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.

Please be patient! I will review your PR, but my time is limited!
-->

* Closes <emilk#4126>
* Closes <emilk#3006>

Previously, `SidePanel`/`TopBottomPanel` didn't include `inner_margin`
when setting the min width/height of `Frame`. As a result, when your
`Panel` has `inner_margin`, its size doesn't work as expected.

Before


![before](https://github.com/emilk/egui/assets/62168376/3bd20c0a-6625-4786-9f7d-85449a0e436c)

After


![after](https://github.com/emilk/egui/assets/62168376/a2e41ed4-4f20-484c-8b54-d2ce9cc71d95)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something is broken
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant