ZIm/crates/gpui/examples
Jason Lee caa4b529e4
gpui: Add tab focus support (#33008)
Release Notes:

- N/A

With a `tab_index` and `tab_stop` option to `FocusHandle` to us can
switch focus by `Tab`, `Shift-Tab`.

The `tab_index` is from
[WinUI](https://learn.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.control.tabindex?view=winrt-26100)
and [HTML
tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/tabindex),
only the `tab_stop` is enabled that can be added into the `tab_handles`
list.

- Added `window.focus_next()` and `window.focus_previous()` method to
switch focus.
- Added `tab_index` to `InteractiveElement`.

```bash
cargo run -p gpui --example tab_stop
```


https://github.com/user-attachments/assets/ac4e3e49-8359-436c-9a6e-badba2225211
2025-07-20 16:38:54 -07:00
..
image chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
svg chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
animation.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
data_table.rs gpui: Fix data_table example overflow subtracting crash error (#32617) 2025-06-12 19:52:37 +03:00
drag_drop.rs gpui: Keep drag cursor style when dragging (#24797) 2025-04-10 23:54:12 +00:00
gif_viewer.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
gradient.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
hello_world.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
image_gallery.rs Use image cache to stop leaking images (#29452) 2025-04-29 19:30:16 +00:00
image_loading.rs Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
input.rs Improve terminal rendering performance (#33345) 2025-07-08 09:05:01 -06:00
on_window_close_quit.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
opacity.rs Add initial element inspector for Zed development (#31315) 2025-05-23 23:08:59 +00:00
ownership_post.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
painting.rs Revert "gpui: Improve path rendering & global multisample anti-aliasing" (#34722) 2025-07-18 16:03:08 +00:00
pattern.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
scrollable.rs gpui: Fix scroll area to support two-layer scrolling in different directions (#31062) 2025-06-06 10:06:09 -07:00
set_menus.rs Misc code cleanups accumulated while working on other changes (#34787) 2025-07-20 23:22:13 +00:00
shadow.rs gpui: Add shadow_xs, shadow_2xs and fix shadow values to match Tailwind CSS (#33361) 2025-07-03 09:50:26 -03:00
tab_stop.rs gpui: Add tab focus support (#33008) 2025-07-20 16:38:54 -07:00
text.rs gpui: Add a standard text example (#30747) 2025-05-16 17:35:44 +02:00
text_layout.rs Revert buggy pr (#28554) 2025-04-10 18:58:36 -06:00
text_wrapper.rs Add initial element inspector for Zed development (#31315) 2025-05-23 23:08:59 +00:00
uniform_list.rs gpui: Simplify uniform list API by removing entity param (#32480) 2025-06-10 18:50:57 +00:00
window.rs gpui: Improve window.prompt to support ESC with non-English cancel text on macOS (#29538) 2025-05-30 15:26:27 +00:00
window_positioning.rs chore: Bump Rust edition to 2024 (#27800) 2025-03-31 20:55:27 +02:00
window_shadow.rs Improve cursor style behavior for some draggable elements (#31965) 2025-06-06 16:56:27 -04:00