Antonio Scandurra
917a80ec36
🎨
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-30 17:24:51 +02:00
Antonio Scandurra
87cd668a33
Replace foreground layers with stacking contexts
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-30 17:19:03 +02:00
Antonio Scandurra
171627b63a
Add a new zero-sized Overlay element and paint it in the foreground
2021-08-30 15:42:03 +02:00
Antonio Scandurra
2b39107b49
Introduce Scene::push_foreground_layer
2021-08-30 15:41:16 +02:00
Max Brunsfeld
936af9bc5e
Avoid double borrow panic when resizing windows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-27 15:03:37 -07:00
Max Brunsfeld
bc63fca8d7
Fetch older messages when scrolling up in the chat message list
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-27 14:58:28 -07:00
Max Brunsfeld
5262dcd3cb
Don't change cursor on mouse move while mouse button is held down
2021-08-27 10:34:11 -07:00
Antonio Scandurra
5e6e0c68cd
Allow styling the cursor in MouseEventHandler
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-27 19:01:49 +02:00
Antonio Scandurra
53dc08dfc5
Remove lock from element states
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-27 18:04:21 +02:00
Antonio Scandurra
d5b7e2d4e3
Pass a MutableAppContext in render
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-27 17:25:13 +02:00
Antonio Scandurra
a9963f1b32
Synthesize a mouse moved event also when the mouse is dragged
2021-08-27 16:31:12 +02:00
Antonio Scandurra
7f5cd017cb
Fix potential deadlock when using FontCache::em_width
2021-08-27 14:54:21 +02:00
Antonio Scandurra
8a10234b14
Introduce MouseEventHandler::on_drag
2021-08-27 14:30:08 +02:00
Antonio Scandurra
386631debf
Focus toggled elements when interacting with the sidebars
...
Also, restore focus on the workspace when there is no active item
on the sidebar that was just toggled.
2021-08-27 10:01:44 +02:00
Max Brunsfeld
1489c865e7
Remove ui font fields from settings
2021-08-26 17:12:56 -07:00
Max Brunsfeld
3bb5610ad1
Overhaul handling of font families
...
* Specify font families in the theme.
* Load fonts eagerly when loading themes, instead of loading
them lazily when rendering.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-26 15:06:00 -07:00
Antonio Scandurra
381f2499b2
Preserve scroll position of List when refreshing windows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-26 16:46:28 +02:00
Antonio Scandurra
4388c45029
Re-render all list elements when refreshing windows
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-26 16:36:56 +02:00
Antonio Scandurra
5fe5685641
Replace notify_all with an explicit refresh_windows effect
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-26 15:00:00 +02:00
Nathan Sobo
77c7fa53da
Introduce Orientation concept to List
...
When the Orientation is Bottom, we paint elements from the bottom of the list when underflowing and express scroll position relative to the bottom. In either orientation, when inserting elements outside the visible area, we adjust the scroll position as needed to keep the visible elements stable.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-08-25 12:45:17 -06:00
Antonio Scandurra
897826f710
Run subscription/observation callbacks in the order they were added
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-25 17:35:27 +02:00
Antonio Scandurra
1aa1e6c6ab
Move pooling of line wrappers into FontCache
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-25 17:28:25 +02:00
Antonio Scandurra
0c9e72cce7
Support hard wraps in Text element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-25 16:53:26 +02:00
Antonio Scandurra
72f282eb3a
Calculate current line width correctly when wrapping shaped lines
2021-08-25 15:21:04 +02:00
Antonio Scandurra
399ecaabc6
Wrap lines in Text element
2021-08-25 14:59:52 +02:00
Antonio Scandurra
463284f0af
Move LineWrapper into gpui
2021-08-25 10:43:54 +02:00
Max Brunsfeld
f404f5f32f
wip2
2021-08-24 18:09:36 -07:00
Nathan Sobo
33dbbf271e
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-08-24 18:09:36 -07:00
Max Brunsfeld
91c2b5825e
Add LineWrapper::wrap_shaped_line
...
This allows us to perform wrapping based on
glyph positions in an already-shaped line. We
plan to use this in the new Text element,
because there we'll already need to do text
shaping as part of layout. This text isn't editable
so it won't need to be rewrapped with the same
frequency as the text editor's content.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-24 18:09:36 -07:00
Nathan Sobo
3ac489a8b6
Fix panic when scrolling non-overflowing lists
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-08-24 17:51:37 -06:00
Nathan Sobo
8559be9f92
Default unstyled text to be red instead of transparent
2021-08-24 17:11:27 -06:00
Max Brunsfeld
8179f90589
Add initial unit test for channel list
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-24 13:12:02 -07:00
Antonio Scandurra
54b4a4bf6a
Allow editor to be created in auto-height mode
2021-08-24 14:17:15 +02:00
Max Brunsfeld
baded7d416
Start work on subscribing to model from ChatPanel
2021-08-23 17:21:06 -07:00
Max Brunsfeld
6df80d94ad
Allow subscription/notification to be cancelled by dropping the returned Subscription
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:54:24 -07:00
Max Brunsfeld
fa0739ee2e
Remove model and view specific observe/subscribe methods
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:07:50 -07:00
Max Brunsfeld
5ecedd894d
Add ChannelList to AppState
2021-08-23 15:03:45 -07:00
Max Brunsfeld
43bb38206f
Add generic subscribe and observe methods to contexts
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:03:12 -07:00
Max Brunsfeld
8e191f27d9
Simplify state associated with observations
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:03:08 -07:00
Max Brunsfeld
d02eaf9e3a
Fix scrolling in List element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 11:02:30 -07:00
Antonio Scandurra
a182db863f
WIP: Render dummy chat messages to test List
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 17:29:46 +02:00
Antonio Scandurra
94e9a83326
Give up on entities being Send and Sync
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 17:04:32 +02:00
Antonio Scandurra
3543aceff3
Implement scrolling and painting for List
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 16:41:48 +02:00
Antonio Scandurra
bd89dc4114
Perform a full layout of List when width changes
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 16:04:23 +02:00
Antonio Scandurra
03b7c3c8c6
Implement and test splice for ListState
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 16:00:05 +02:00
Antonio Scandurra
2c3ba00d3e
Remove vestiges of after_layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:23:06 +02:00
Antonio Scandurra
6dddb72e82
WIP: Create infrastructure for testing element layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:20:23 +02:00
Antonio Scandurra
6129bda068
Fix boxed cloning of AnyAction
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 14:45:13 +02:00
Antonio Scandurra
ab2977c65c
Pass action instead of action argument to handlers
2021-08-23 12:00:31 +02:00
Nathan Sobo
86effd64a2
Get project compiling with type-safe actions
2021-08-22 21:02:48 -06:00