jakobhellermann / bevy-inspector-egui

Inspector plugin for the bevy game engine
Apache License 2.0
1.15k stars 169 forks source link

min text area width? #61

Open gilescope opened 2 years ago

gilescope commented 2 years ago

Is there a way we can force it to not have such narrow text areas? At the moment it seems to wrap at a line length of 7 chars or so.

egui_ctx.ctx_mut().set_style(egui::Style {
        wrap:Some(false),
        spacing: Spacing {
            text_edit_width: 1000.,
            ..default()
        },
        ..default()
    });

I tried the above but it seemed to make no effect. Other things are wider so it could use up more space if it wanted to but it chooses not to. Being able to set min / max text width as an attribute would be good.

gilescope commented 2 years ago

Screenshot from 2022-05-09 07-15-22

Sometimes a picture is worth 1000 words...

gilescope commented 2 years ago

I think here https://github.com/jakobhellermann/bevy-inspector-egui/blob/3190cbc78eb8887ef8ea040cadcb288513b6a994/src/impls/std.rs#L17

we need to set be able to set https://github.com/emilk/egui/blob/87ca29173d2d5dd5421b80b274fa59504757918f/egui/src/widgets/text_edit/builder.rs#L66

gilescope commented 2 years ago

It may be necessary but it's not sufficient. I think something in the parent component needs to change too.

gilescope commented 2 years ago

Not using derive inspectable but implementing it myself on the parent was key:

        ui.vertical_centered(|ui| {
            Grid::new(context.id())
            .min_col_width(500.)
            .show(ui, |ui| {

Happy.

XMPPwocky commented 1 year ago

I believe this is caused by not setting num_columns on the Grid - https://docs.rs/egui/latest/src/egui/grid.rs.html#305-308 - so layout has no idea whether it needs to leave space for more columns.

Setting num_columns to 2 and then wrapping the field value inspector in ui.allocate_ui or whatever should make everything work much more sensibly.

TeamDman commented 6 months ago

Before image

After image

Notice how frick is no longer cut off

https://github.com/jakobhellermann/bevy-inspector-egui/blob/ae7cdf5c0450c113502f350e9b881cd863634e56/crates/bevy-inspector-egui/src/reflect_inspector/mod.rs#L462-L469

fn ui_for_struct_readonly(
        &mut self,
        value: &dyn Struct,
        ui: &mut egui::Ui,
        id: egui::Id,
        options: &dyn Any,
    ) {
        Grid::new(id)
+        .num_columns(2)
        .show(ui, |ui| {

Probably will want to add num_columns calls to all the other grid usages as well