Commit Graph
33638 Commits
Author SHA1 Message Date
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