Antonio Scandurra
0a22dee764
Save last layout width in List to avoid unnecessary re-renders
2021-09-01 12:20:11 +02:00
477740360d
Start work on partial rendering for List element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-08-31 21:57:56 -07:00
Antonio Scandurra and Nathan Sobo
2db49ce27f
Maintain logical scroll top when splicing List elements
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-31 16:35:57 +02:00
Antonio Scandurra and Nathan Sobo
d410ff83a7
Express scroll position with an element index and an offset
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-31 15:57:03 +02:00
Max Brunsfeld and Nathan Sobo
73a8fda9c7
Get the channel select looking good
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-30 17:59:13 -07:00
Antonio Scandurra and Nathan Sobo
ef89ceae4d
Take &mut self in View::render
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-30 17:51:26 +02:00
Antonio Scandurra and Nathan Sobo
917a80ec36
🎨
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-30 17:24:51 +02:00
Antonio Scandurra and Nathan Sobo
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
Max Brunsfeld and Nathan Sobo
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
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 and Nathan Sobo
53dc08dfc5
Remove lock from element states
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-27 18:04:21 +02:00
Antonio Scandurra
8a10234b14
Introduce MouseEventHandler::on_drag
2021-08-27 14:30:08 +02:00
Max Brunsfeld
1489c865e7
Remove ui font fields from settings
2021-08-26 17:12:56 -07:00
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 and Nathan Sobo
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 and Nathan Sobo
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
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 and Nathan Sobo
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 and Nathan Sobo
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
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 and Max Brunsfeld
33dbbf271e
WIP
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-08-24 18:09:36 -07:00
Nathan Sobo and Max Brunsfeld
3ac489a8b6
Fix panic when scrolling non-overflowing lists
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-08-24 17:51:37 -06:00
Max Brunsfeld
baded7d416
Start work on subscribing to model from ChatPanel
2021-08-23 17:21:06 -07:00
Max Brunsfeld
5ecedd894d
Add ChannelList to AppState
2021-08-23 15:03:45 -07:00
Max Brunsfeld and Nathan Sobo
d02eaf9e3a
Fix scrolling in List element
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 11:02:30 -07:00
Antonio Scandurra and Nathan Sobo
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 and Nathan Sobo
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 and Nathan Sobo
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 and Nathan Sobo
6dddb72e82
WIP: Create infrastructure for testing element layout
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-23 15:20:23 +02:00
Nathan Sobo
030de803fe
WIP: Start on List::layout
...
Perform layout on any elements that we haven't yet laid out.
2021-08-21 13:40:45 -06:00
Nathan Sobo
d68e0b0b97
Remove after_layout from Element trait
...
Now that layout takes a MutableAppContext we don't need an after_layout phase.
2021-08-20 16:40:45 -06:00
Nathan Sobo
d0a5bc694c
WIP
2021-08-20 16:34:46 -06:00
Nathan Sobo
c3dda14490
WIP: Move sum_tree module into gpui so we can use it in List
2021-08-20 16:18:39 -06:00
Max Brunsfeld and Nathan Sobo
802f1f4e78
Get new theme structure working
...
* Fix precedence of extends directives
* Always group color with font properties for text theming
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-04 14:07:19 -07:00
Max Brunsfeld
81041d7841
Restructure Theme with new style objects
2021-08-03 13:36:58 -07:00
Max Brunsfeld and Nathan Sobo
ef0ffbe819
Use custom color wrapper type everywhere in gpui & zed
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-03 12:48:58 -07:00
Max Brunsfeld and Nathan Sobo
fa01273466
Extract {Container,Label}Style structs from those elements
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-03 11:07:03 -07:00
Max Brunsfeld and Nathan Sobo
b30d0daabf
Add a theme picker
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-08-02 14:55:27 -07:00
Max Brunsfeld
372d2ccb6d
Extract most colors in codebase into theme file. switch to dark
2021-07-30 09:50:28 -07:00
11285f3762
Pass a MutableAppContext to Element::layout and ::dispatch_event
...
We need to mutate the app in these cases to relay layout state, so this just makes things easier. We won't be able to perform layout in parallel but it's questionable whether we'll ever actually do that. If we do, we can revisit.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-07-23 10:52:08 -06:00
Max Brunsfeld
6ef447866a
Rename context parameters to cx in gpui
2021-05-28 15:32:35 -07:00
Max Brunsfeld and Nathan Sobo
139bcb8304
Rename foo/mod.rs files too foo.rs
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-28 14:41:58 -07:00
Nathan Sobo
5d614e7e54
Fix test assertions
2021-05-21 14:36:52 -06:00
Nathan Sobo
92ff7f4e5e
Accept colors in styling runs passed to layout_str
...
Also move from the runs being expressed as ranges to the runs being expressed as a sequence of contiguous scalar lengths.
2021-05-21 14:10:38 -06:00
Antonio Scandurra
608336c279
Complete unit test for Label highlights
2021-05-20 12:47:08 +02:00
Max Brunsfeld
558ce41130
WIP - Adjust Label element to expect highlights as byte offsets
2021-05-20 12:47:08 +02:00