Interaction · Pointer: resize, turn, band selection, and gpui's own drag
Resizable sizes a box from its right and bottom edges and a grip at its corner, within its least and greatest size; the grip is a Tab stop whose arrows resize a step. Rotatable turns an svg to its angle inside a ring whose knob a drag moves, Shift snapping to 15 degrees, with the arrows turning it a notch. SelectionArea selects items with a band drawn on empty space, a press, Command or Shift to add, and a cursor the arrows walk with Space to add or drop; Escape clears and Command-A takes all. The gallery shows gpui's own drag and drop, drag preview, double press and wheel zoom, with pointers for Sortable, LongPress and PanZoom; pinch stays blocked, gpui 0.2.2 forwards no magnify event. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9bde90a492
commit
f513df6aaa
14 files changed
+1413
-16
No files matched your search
+17
-14
@@ -217,21 +217,24 @@
|
||||
- [x] InlineHelp
|
||||
- [x] EmptyStateWithAction → `feedback::EmptyState`, whose `action` adds its buttons
|
||||
|
||||
## T38 Interaction — `src/interaction`
|
||||
## T38a Interaction · Pointer — `src/interaction`
|
||||
|
||||
- [x] Draggable — native `on_drag`
|
||||
- [x] Droppable / DropTarget — native `on_drop`, `drag_over`, `can_drop`
|
||||
- [x] DragOverlay / DragPreview — native drag view
|
||||
- [x] DragGhost → DragPreview (native)
|
||||
- [x] Sortable / SortableContext → `motion::Reorder`
|
||||
- [x] Resizable
|
||||
- [x] Rotatable — an svg: gpui 0.2.2 turns no other element
|
||||
- [x] Selectable / SelectionArea
|
||||
- [x] RubberBandSelection → `interaction::SelectionArea`
|
||||
- [x] LongPress → `primitives::Pressable`
|
||||
- [x] DoubleClick — native `ClickEvent::click_count`
|
||||
- [x] Gesture — prove: wheel zoom through `layout::Viewport`, two-finger swipe through `lists::SwipeableListItem`; pinch blocked, gpui 0.2.2 forwards no magnify event
|
||||
- [x] PanZoom → `layout::Viewport`
|
||||
|
||||
## T38b Interaction · Keys, scroll and focus
|
||||
|
||||
- [ ] Draggable — native `on_drag`
|
||||
- [ ] Droppable / DropTarget — native `on_drop`, `drag_over`
|
||||
- [ ] DragOverlay / DragPreview — native drag view
|
||||
- [ ] DragGhost → DragPreview (native)
|
||||
- [ ] Sortable / SortableContext
|
||||
- [ ] Resizable
|
||||
- [ ] Rotatable
|
||||
- [ ] Selectable / SelectionArea
|
||||
- [ ] RubberBandSelection → `interaction::SelectionArea`
|
||||
- [ ] LongPress → `primitives::Pressable`
|
||||
- [ ] DoubleClick — native `ClickEvent::click_count`
|
||||
- [ ] Gesture — prove: wheel zoom, pinch, two-finger swipe
|
||||
- [ ] PanZoom → `layout::Viewport`
|
||||
- [ ] Hotkeys / KeyBinding — native `actions!`, `bind_keys`, `key_context`
|
||||
- [ ] KeyChord — native multi-keystroke bindings
|
||||
- [ ] Undo / Redo Manager
|
||||
|
||||
Reference in new issue
Block a user