Dustin Yost
2542e1154a
add App::emit such that events can be emitted without acquiring a Context ( #94 )
2026-07-27 23:16:59 -07:00
Dustin Yost
1fe82dbcd7
implement start_window_move on win32 platform ( #102 )
2026-07-27 23:05:44 -07:00
Miles Wirht
6c799b8e99
removed all of the git sources ( #91 )
2026-07-13 21:25:00 -04:00
𝑷𝒉𝒊𝒍𝒐𝒄𝒂𝒍𝒚𝒔𝒕
5484fbaf88
Merge PR #86 : Add EditableText 'text_input' and 'text_area' elements
...
* temportalflux/elements-input: (117 commits)
remove legacy input example now that gpui_elements::editable_text exists
remove stop_propagation on_mouse_up to avoid unintended consequence of input always highlighting/selecting while mousing over
add gpui_elements root documentation so its not weird that the docs page is empty
add an extremely basic example for editable_text which only shows a subset of what is documented in the module
fix caret getting stuck as visible without focus when the text field pauses blinking while it is without focus
stop propagation of mouse events when clicking on editable text, so that users which consume click events on wrapping elements do not receive events when they are used to focus/update the editable text state
add simpler api for configuring the caret blink interval via element
add external api for access to caret by routing it through keyed element data
fixup typos
refactor text position queries by factoring out common logic
first pass at simplifying text position queries
rework caret implementaiton to increase clarity and reduce code duplication
reorganize element implementation to be more readable
assign default editable text colors as consts
reduce complexity of mouse click handler and cut/copy handlers
reduce bounds_for_range to be more readable
remove EditableTextState::storage() in favor of direct access to the member
resolve clippy errors from using Range in reverse. Add CaretSelection to represent a bidirectional inclusive range
collapse styling of conditions
reorganize blocks in editable text element
...
2026-07-12 19:43:14 -04:00
temportalflux
309d319880
remove legacy input example now that gpui_elements::editable_text exists
2026-07-12 17:44:06 -04:00
temportalflux
cb26ad76dc
remove stop_propagation on_mouse_up to avoid unintended consequence of input always highlighting/selecting while mousing over
2026-07-11 13:16:17 -04:00
temportalflux
7c0de7f924
add gpui_elements root documentation so its not weird that the docs page is empty
2026-07-11 13:00:54 -04:00
temportalflux
32cca07bb4
add an extremely basic example for editable_text which only shows a subset of what is documented in the module
2026-07-11 13:00:54 -04:00
temportalflux
5bfb5ef58b
fix caret getting stuck as visible without focus when the text field pauses blinking while it is without focus
2026-07-11 09:31:07 -04:00
temportalflux
09be9ed98e
stop propagation of mouse events when clicking on editable text, so that users which consume click events on wrapping elements do not receive events when they are used to focus/update the editable text state
2026-07-11 09:31:07 -04:00
temportalflux
d5b3191738
add simpler api for configuring the caret blink interval via element
2026-07-11 09:31:07 -04:00
temportalflux
d6d35ab410
add external api for access to caret by routing it through keyed element data
2026-07-11 09:31:07 -04:00
temportalflux
8f99657171
fixup typos
2026-07-11 09:31:07 -04:00
temportalflux
25f922283a
refactor text position queries by factoring out common logic
2026-07-11 09:31:07 -04:00
temportalflux
50b01e0532
first pass at simplifying text position queries
2026-07-11 09:31:07 -04:00
temportalflux
760a79c3ca
rework caret implementaiton to increase clarity and reduce code duplication
2026-07-11 09:31:07 -04:00
temportalflux
bd7bbdd0e6
reorganize element implementation to be more readable
2026-07-11 09:31:07 -04:00
temportalflux
151d2c32aa
assign default editable text colors as consts
2026-07-11 09:31:07 -04:00
temportalflux
252683a830
reduce complexity of mouse click handler and cut/copy handlers
2026-07-11 09:31:07 -04:00
temportalflux
db856ae57a
reduce bounds_for_range to be more readable
2026-07-11 09:31:07 -04:00
temportalflux
3a7d11a808
remove EditableTextState::storage() in favor of direct access to the member
2026-07-11 09:31:07 -04:00
temportalflux
0daa97cd47
resolve clippy errors from using Range in reverse. Add CaretSelection to represent a bidirectional inclusive range
2026-07-11 09:31:07 -04:00
temportalflux
8c0d58c86b
collapse styling of conditions
2026-07-11 09:31:07 -04:00
temportalflux
bbf2679380
reorganize blocks in editable text element
2026-07-11 09:31:07 -04:00
temportalflux
787d747deb
migrate EditableTextActionElement::register_action and bindings to an internal macro
2026-07-11 09:31:07 -04:00
temportalflux
2cc4f237d6
rework element api to expose EditableTextState as a viable entity for users to create via use_keyed_state
2026-07-11 09:31:07 -04:00
temportalflux
cc055b7f7d
add very basic text sanitation for no-multiline fields
2026-07-11 09:31:07 -04:00
temportalflux
44e65e544f
rework focus handle semantics to only use Window::set_focus_handle during prepaint instead of requiring changes to Interactivity
2026-07-11 09:31:07 -04:00
temportalflux
812d5aa91a
add on_text_changed callback binding to allow the caller to be notified on every change to the text
2026-07-11 09:31:07 -04:00
temportalflux
6beeecb5a8
add module-level documentation with examples
2026-07-11 09:31:07 -04:00
temportalflux
1502a54b34
add action default_bindings documentation table
2026-07-11 09:31:07 -04:00
temportalflux
579b8d06f1
collapse UnicodeTextStorage api to only expose methods operating on the direction/boundary enums
2026-07-11 09:31:07 -04:00
temportalflux
18c80084d2
fill out more documentation
2026-07-11 09:31:07 -04:00
temportalflux
cf6f785661
replace async-io timer with background executor timer
2026-07-11 09:31:07 -04:00
temportalflux
e0458531dd
add editable text documentation
2026-07-11 09:31:07 -04:00
temportalflux
e91181535a
rename actions to be more clear
2026-07-11 09:31:07 -04:00
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