Skip to content

Releases: lucasmerlin/hello_egui

hello_egui 0.6.0 - introducing egui_flex

03 Oct 10:44
Compare
Choose a tag to compare

hello_egui and all it's crates have been updated to egui 0.29!
Thanks to @bircni who did the update to 0.29 🚀
I'd also like to announce that I'm being generously sponsored by rerun to help maintain egui and improve it's ecosystem! Thank you @emilk! ❤️

Also, two new crates have been added:

  • egui_flex
  • egui_material_icons

Introducing egui_flex

A flexbox implementation in egui!
Check the readme to which features of flexbox are supported.

Real-world example

In the hello_egui demo app I have a list of crates displayed as small tags in
the sidebar. When just shown with ui.horizontal_wrapped it looks really weird:

image

When updated to use egui_flex it looks much nicer:

image

Another example from hellopaint:

(notice how the bottom buttons are grown to fill the available space so things are nicely aligned, this would be impossible in egui without hardcoding the sizes)

image

Introducing egui_material_icons

Material icons for egui!

image

hello_egui 0.5.0 - intruducing egui_router!

03 Jul 18:30
Compare
Choose a tag to compare

All hello_egui crates have been updated for egui 0.28.0, and I'm excited to release egui_router!

egui_router allows you to build a multi page application with transitions. It uses matchit, axums router implementation, to resolve the routes.
Check the hello_egui examples which now uses the router to link to the different examples.

You can also customize the transitions and build a more app like experience, here is a video from the hellopaint app:

Ohne.Titel.mov

hello_egui 0.4.1 - announcing egui_form

14 May 16:34
Compare
Choose a tag to compare

This release introduces egui_form, a form validation crate for egui.

For a nice demo, checkout the signup form example in the hello_egui demo app

image

hello_egui v0.4.0 - improvements to egui_inbox, egui 0.27.0

02 Apr 17:37
Compare
Choose a tag to compare
  • update all crates for egui 0.27 support
  • changes from egui_inbox:
    • egui_inbox now can be used without egui

      • There is a new trait AsRequestRepaint, which can be implemented for anything that can request a repaint
      • Breaking: new_with_ctx now takes a reference to the context
      • Breaking: read_without_ui and replace_without_ui have been renamed to read_without_ctx and replace_without_ctx
      • All other methods now take a impl AsRequestRepaint instead of a &Ui
        but this should not break existing code. A benefit is that you can also
        call the methods with a &Context instead of a &Ui now.
    • Added async and tokio features that add the following:

      • UiInbox::spawn to conveniently spawn a task that will be cancelled when the inbox is dropped.
      • UiInbox::spawn_detached to spawn a task that will not be cancelled when the inbox is dropped.

hello_egui v0.3.0 - egui 0.26

07 Feb 19:53
Compare
Choose a tag to compare

No fancy new features but all crates have been update with support for egui 0.26.

hello_egui 0.2.0, introducing egui_infinite_scroll, egui_virtual_list and egui_thumbhash

21 Jan 16:14
Compare
Choose a tag to compare

This release adds a couple of exciting new crates 🎉

  • egui_virtual_list:
    • virtual list widget for egui with support for varying heights and custom layouts
  • egui_infinite_scroll
    • infinite scroll widget for egui
    • based on egui_virtual_list
  • egui_thumbhash
    • thumbash integration for egui, for nice image placeholders while the actual images are loading
      For a nice example of what these crates can do together, check the gallery and chat example on the egui_dnd demo page.

Other changes:

  • hello_egui and all included crates have been upgraded for egui 0.25, support for older egui versions has been dropped
  • egui_inbox has a new channel-like api to allow canceling long running async tasks
  • egui_suspense has a new feature to enable a async version of the api, to make data loading even more convenient
Bildschirmaufnahme.2024-01-21.um.17.06.29.mp4

(screen recording of the gallery example)

egui_dnd v0.5.0

13 Aug 12:13
Compare
Choose a tag to compare

egui_dnd v0.5.0

  • Added animations when sorting
  • Dragging in a ScrollArea will now scroll if we are near the edge
  • Added support for dragging in a ScrollArea on touch devices (by pressing and holding until the scroll is canceled and the drag starts)
  • Fixed bug where offset was wrong when the handle isn't the first element
  • Allow the handle or buttons in the handle to be clicked
  • Complete refactor, with much better state and detection handling
  • Added dnd function that stores and reads the state from egui data, for simpler usage:
pub fn main() -> eframe::Result<()> {
    let mut items = vec!["alfred", "bernhard", "christian"];
    eframe::run_simple_native("DnD Simple Example", Default::default(), move |ctx, _frame| {
        CentralPanel::default().show(ctx, |ui| {
            dnd(ui, "dnd_example")
                .show_vec(&mut items, |ui, item, handle, state| {
                    handle.ui(ui, |ui| {
                        ui.label("drag");
                    });
                    ui.label(**item);
                });
        });
    })
}
  • Breaking: Removed DragDropUi in favor of dnd function
  • Made the drag cursor when hovering over a handle configurable
  • Fixed ui having unexpected margins
  • Added support for sorting in horizontal and horizontal wrapping layouts
  • Improved fancy example
  • Improved sorting snappiness

Demo for animations:

dnd.mp4

egui_dnd v0.4.0 - egui 0.22.0

31 May 20:37
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @rfuzzo made their first contribution in #8

Full Changelog: v0.3.0...v0.4.0