A small desktop application that turns common egui layouts and widgets into a searchable, copy-paste-friendly pattern gallery.
The project is deliberately easy to read: the launcher owns navigation and shared state, while each example is an independent Demo implementation under src/demos/. Use it as a starting point for custom desktop UI work.
The gallery currently contains thirty-nine examples. Every entry below is a real, self-contained implementation in src/demos/, linked to its source so you can copy it directly.
- Panel layout —
src/demos/panels.rs: nestedegui::Panels, columns, wrapping, and resize behavior. - Canvas / drawing —
src/demos/canvas.rs:allocate_exact_size, painter primitives, freehand strokes, and undo. - Dashboard —
src/demos/dashboard.rs: KPI cards, responsive wrapping, and summary panels. - Master–detail —
src/demos/master_detail.rs: searchable list, detail pane, and optional metadata. - Wizard / stepper —
src/demos/wizard.rs: guided workflow, validation, and guarded navigation. - Grid layout —
src/demos/grid.rs: aligned rows/columns and nested grids. - Split panes —
src/demos/split.rs: resizable horizontal and vertical work areas. - Tabs —
src/demos/tabs.rs: tab navigation built from selectable labels. - Document tabs —
src/demos/document_tabs.rs: closable tabs with dirty-state indicators and new-document actions. - Floating windows —
src/demos/floating.rs: movable overlay windows over a canvas. - Three-pane workspace —
src/demos/three_pane.rs: explorer, editor, and inspector panes. - Editor workspace —
src/demos/editor_workspace.rs: file explorer, editor surface, and collapsible terminal. - Nav rail + breadcrumbs —
src/demos/nav_rail.rs: compact vertical navigation with active breadcrumb context. - Responsive layout —
src/demos/responsive.rs: wide card grid that adapts to compact space. - Accordion sections —
src/demos/accordion.rs: exclusive collapsible groups and section navigation. - Masonry / flow —
src/demos/masonry.rs: variable-height cards balanced across columns. - Settings page —
src/demos/settings.rs: navigation rail, grouped preferences, and search. - Kanban board —
src/demos/kanban.rs: horizontal columns, cards, and compact repeated surfaces. - Timeline / activity —
src/demos/timeline.rs: date groups, event markers, and a scrollable activity feed. - Command center —
src/demos/command_center.rs: dense operations screen with alerts and live events. - Property inspector —
src/demos/inspector.rs: selectable objects with editable or read-only properties.
- Buttons & actions —
src/demos/buttons.rs: button variants, menus, busy states, selectable groups, shortcuts. - Popups & modals —
src/demos/popups.rs: tooltips, context menus, menu buttons, blocking dialogs. - Command palette —
src/demos/command_palette.rs: keyboard-first searchable actions in a transient window. - Grouped bulk selection —
src/demos/bulk_selection.rs: grouped checkboxes, select-all controls, and bulk actions. - Theme tokens & focus —
src/demos/theme_tokens.rs: tint system, accent groups, and visible keyboard focus states. - Accessibility & focus —
src/demos/accessibility_focus.rs: labels, focus rings, and keyboard-first choices for clear desktop UX.
- Form & validation —
src/demos/forms.rs:Gridrows, validation messages, submit/reset state. - Input widgets —
src/demos/inputs.rs: sliders, drags, toggles, radio buttons, combo boxes, colors. - Keyboard focus & shortcuts —
src/demos/keyboard_nav.rs: arrow-key focus traversal, activation, and shortcut discoverability. - Unsaved changes —
src/demos/unsaved_changes.rs: dirty tracking with guarded navigation and save/discard confirmation. - Date, time & folder pickers —
src/demos/pickers.rs: segmented date/time fields and a filesystem folder browser.
- Data table —
src/demos/tables.rs: sortable and striped rows, resizable columns, selection, pagination, and virtualisation. - Diff / compare —
src/demos/diff_view.rs: unified and side-by-side source comparison with change highlighting. - Tree / hierarchy —
src/demos/tree.rs: recursiveCollapsingHeadernodes and filtered branches. - Charts —
src/demos/plots.rs: a painter-based line and bar chart with hover feedback. - Calendar / scheduler —
src/demos/calendar.rs: month/week planning with selected-day state.
- Progress & status —
src/demos/progress.rs: determinate/indeterminate progress, spinners, repaint timers. - Feedback states —
src/demos/feedback_states.rs: loading, empty, error, retry, skeleton, success, toast, and notification-center states.
The launcher also provides:
- category-grouped navigation in a resizable sidebar;
- case-insensitive pattern search, with
/as a search shortcut; - dark/light themes and a configurable accent color;
- a status bar showing the pattern count and current selection.
The per-file map in docs/demo-catalog.md mirrors this list and adds a "useful starting point for" column.
Install a recent stable Rust toolchain, then run:
cargo runFor a faster, optimized local build:
cargo run --releaseUseful checks before committing changes:
cargo fmt -- --check
cargo check
cargo clippy --all-targets --all-features -- -D warningsCargo.toml declares the intended license expression as MIT OR Apache-2.0. Add the corresponding MIT and Apache-2.0 license files when distributing the project.