Commit Graph
33602 Commits
Author SHA1 Message Date
temportalflux 8156acd872 apply paint order to editable text elements (text, ime, selection, caret) 2026-07-11 09:31:07 -04:00
temportalflux 0b47bd71e7 add some documentation 2026-07-11 09:31:07 -04:00
temportalflux 717f465001 reorganize editable text implementation for maintainability 2026-07-11 09:31:07 -04:00
temportalflux 5e6d3028e0 remove previous input iteration 2026-07-11 09:31:07 -04:00
temportalflux de19ea0d6d fix discrpencies between where to render the caret and determining what line semantically contains the caret 2026-07-11 09:31:07 -04:00
temportalflux f3e9ae3c56 add caret blinking which is handled via a separate entity 2026-07-11 09:31:07 -04:00
temportalflux e7e4c9adf4 rearrange element quad building 2026-07-11 09:31:07 -04:00
temportalflux 962f89c4a2 add color mutators on element 2026-07-11 09:31:07 -04:00
temportalflux 126db6dbbe scroll the area when the caret moves out of view 2026-07-11 09:31:07 -04:00
temportalflux 0ae4c8f146 port over tests from previous iteration 2026-07-11 09:31:07 -04:00
temportalflux 246bc3e6e4 implement undo/redo history tracking 2026-07-11 09:31:07 -04:00
temportalflux 58c66d50f2 resolve deprecated num_visual_lines 2026-07-11 09:31:07 -04:00
temportalflux dd61395440 add accepts_input flag as a way to track an input field's disabled state 2026-07-11 09:31:07 -04:00
temportalflux b5acea4809 merge element and state implementations back to a single type 2026-07-11 09:31:07 -04:00
temportalflux 76a02bbc46 add default-value via init-storage 2026-07-11 09:31:07 -04:00
temportalflux c1d3deb170 rename editable text module structs for consistency 2026-07-11 09:31:07 -04:00
temportalflux e84af920b9 properly implement overflow-driven scrolling via interactivity 2026-07-11 09:31:07 -04:00
temportalflux 3cff5195e2 implement coarse approach to navigating up and down a large textarea 2026-07-11 09:31:07 -04:00
temportalflux a9d139ba47 manually mark editable text elements as stateful-interactive so overflow can be specified 2026-07-11 09:31:07 -04:00
temportalflux a6aebd6ae4 render cursor even when there is no content so the user knows when they have focus in the element 2026-07-11 09:31:07 -04:00
temportalflux 7caea04bf6 reimplement text layout wrapping using the existing gpui TextLayout logic 2026-07-11 09:31:07 -04:00
temportalflux 3539798e9c disable text layout in preparation for a full rewrite taking into account the existing TextLayout implementation 2026-07-11 09:31:07 -04:00
temportalflux 030706b288 add support for padding to editable text rendering 2026-07-11 09:31:07 -04:00
temportalflux 0e34470a40 add stubs for allowing the user to provide their own storage mediums 2026-07-11 09:31:07 -04:00
temportalflux 5e08033021 move element implementation details to shared trait for input and text-area 2026-07-11 09:31:07 -04:00
temportalflux c2e3315c1d add mutator for placeholder on element 2026-07-11 09:31:07 -04:00
temportalflux 75e90de692 change select_to behavior to just move the caret/front w/o changing the end of the selected range 2026-07-11 09:31:07 -04:00
temportalflux d237be3a1a attach disabled notifies so Render updates when the selection state changes 2026-07-11 09:31:07 -04:00
temportalflux a8281b2555 rework state tracking so that action handlers can access the state of a text field, which occurs outside of the render/frame stack 2026-07-11 09:31:07 -04:00
temportalflux bf22400798 identify issue with state storage, where it cannot be accessed outside of element painting (aka in action handlers) 2026-07-11 09:31:07 -04:00
temportalflux 84af172e35 apply implemention for mouse events 2026-07-11 09:31:07 -04:00
temportalflux 56234ed27e fix caret not moving while typing 2026-07-11 09:31:07 -04:00
temportalflux b10d6c36e1 implement remaining ime operations now that layout lines are stored
add missing ime operations to textarea
2026-07-11 09:31:07 -04:00
temportalflux 3260184b5c add versioning to storage so that the ui can re-render on storage change 2026-07-11 09:31:07 -04:00
temportalflux 479ee65c8b reorganize paint logic and actions module 2026-07-11 09:31:07 -04:00
temportalflux 6dcc1e8677 begin merging paint implementations for multi-line runs 2026-07-11 09:31:07 -04:00
temportalflux bee1f68e9c reorganizing line paint logic 2026-07-11 09:31:07 -04:00
temportalflux 93b00c5d32 stub out mouse events and painting of simple lines and quads 2026-07-11 09:31:07 -04:00
temportalflux 19e4791a33 stub out prepaint and paint for <input> 2026-07-11 09:31:07 -04:00
temportalflux 3f6faa20a5 stub out <textarea> element 2026-07-11 09:31:07 -04:00
temportalflux bad745a761 register text-based actions with <input> element via traits 2026-07-11 09:31:07 -04:00
temportalflux 7c1658a24a add empty render for <input> element 2026-07-11 09:31:07 -04:00
temportalflux 93248e8ce9 implement keybinding actions 2026-07-11 09:31:07 -04:00
temportalflux dd9d4585d6 outline reimplemented ime operations 2026-07-11 09:31:07 -04:00
temportalflux bde62d95ea add UnicodeTextStorage trait for String and SharedString 2026-07-11 09:31:07 -04:00
temportalflux 866b7f4d62 add new editable text actions 2026-07-11 09:31:07 -04:00
temportalflux b3ab491240 flip cursor implementation to have an element and a state-entity 2026-07-11 09:31:07 -04:00
temportalflux 6ebe87025b mocking out cursor event interop 2026-07-11 09:31:07 -04:00
temportalflux 02531c48f7 rework cursor to render itself 2026-07-11 09:31:07 -04:00
temportalflux 454b3210fb Move cursor entity to input element and set it up as an Element so it can render independently 2026-07-11 09:31:07 -04:00