Antonio Scandurra
0e1307fb23
📝
2022-06-01 10:18:10 +02:00
Antonio Scandurra
238827642a
Align tooltip based on the available window space
2022-06-01 10:03:46 +02:00
Antonio Scandurra
982de971fa
Introduce a new Tooltip element and a with_tooltip helper
2022-06-01 09:55:25 +02:00
Antonio Scandurra
94fc28b29d
WIP: start on tooltips
2022-05-31 19:00:44 +02:00
Antonio Scandurra
e067212ad4
Always re-render visible elements in List
2022-05-31 09:52:44 +02:00
Antonio Scandurra
f832c0074f
Fix memory leak in ListState
2022-05-30 18:29:51 +02:00
Antonio Scandurra
6c145b2abc
Show keystrokes as uppercase
2022-05-30 12:23:03 +02:00
Antonio Scandurra
e7ab61d125
Dismiss context menu when (right-)mousing down outside of it
2022-05-28 08:51:46 +02:00
Nathan Sobo
44c8ee5709
Add mouse down out handlers
...
These will fire whenever the left/right mouse button is pressed down outside a specific region. I'll use these to cancel the context menu in the next commit.
2022-05-27 12:56:44 -06:00
Nathan Sobo
c3baf2748f
Block hovering behind overlays
2022-05-27 11:54:51 -06:00
Antonio Scandurra
9099c40364
Merge branch 'mouse-events' into project-panel-context-menu
2022-05-27 12:07:00 +02:00
Antonio Scandurra
1d7fc12229
Add right-click support to MouseEventHandler
2022-05-27 10:47:54 +02:00
Nathan Sobo
aedfd74d30
Use the hit bounds when painting mouse regions
2022-05-26 20:05:20 -06:00
Nathan Sobo and Max Brunsfeld
893f15ddab
Switch MouseEventHandler to use MouseRegions
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-05-26 20:00:01 -06:00
Nathan Sobo and Max Brunsfeld
bd62a68234
Eliminate ElementStateContext trait
...
We now always have a RenderContext when rendering MouseEventHandlers or scrollable Flex columns/rows.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-05-26 18:37:28 -06:00
Nathan Sobo and Max Brunsfeld
b6b16fc9c3
In UniformList, guard against misbehavior of append_items
...
If for some reason the handle got dropped and we call it, we'll deal with it somewhat gracefully.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-05-26 18:30:28 -06:00
Nathan Sobo and Max Brunsfeld
8dd82fdce1
Take a RenderContext in ListState's build item callback
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-05-26 18:23:44 -06:00
Nathan Sobo and Max Brunsfeld
2ea085b178
Pass a RenderContext to UniformList
...
In some cases, we need to render during layout. Previously, we were rendering with a LayoutContext in some cases, but this commit adds the ability to retrieve a render context with a given handle and we use that feature in UniformList.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2022-05-26 18:03:34 -06:00
Nathan Sobo and Antonio Scandurra
0866f0ed55
Introduce CursorRegion struct
...
This will blend in with an upcoming MouseRegion struct that sits next to it in the scene.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-05-26 11:00:10 -06:00
Antonio Scandurra
580f1a4125
Style context menu
2022-05-26 10:40:53 +02:00
Antonio Scandurra
a8483ba458
WIP
2022-05-26 09:59:25 +02:00
Antonio Scandurra and Nathan Sobo
3b2f1644fb
Constrain context menu to the width of the widest item
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-05-26 09:59:25 +02:00
Nathan Sobo
b110fd5fb7
Render a context menu when right-clicking in project panel
...
It doesn't currently do anything, but I managed to get it rendering in an absolutely positioned way.
2022-05-26 09:59:25 +02:00
Max Brunsfeld
ef0b584532
Remove AppState from workspace actions
...
This allows those actions to be bound to keystrokes in the keymap.
Also, remove the WorkspaceParams struct, simplify how Workspaces are
constructed.
2022-05-19 14:37:26 -07:00
Antonio Scandurra and Nathan Sobo
933a1f2cd6
Show badge when there are pending contact requests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-05-11 17:39:03 +02:00
Nathan Sobo and Antonio Scandurra
eef99f059d
Make flex elements fill available space when they contain a float
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-05-10 06:14:30 -06:00
Antonio Scandurra
95d848fe1e
Ensure flex_float works even when re-painting without layout
...
Previously, we were mutating the remaining space stored on the layout
state, which would cause re-paints to always have a `remaining_space`
of 0 and therefore not align `flex_float` elements to the right/bottom.
2022-05-06 10:20:03 +02:00
Antonio Scandurra
61346f734d
WIP
2022-05-05 15:15:58 +02:00
Nathan Sobo and Antonio Scandurra
92f040df00
Apply cursor styles during paint
...
This makes the editor's cursor an IBeam and properly deals with nested cursor styles.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2022-04-22 10:54:18 -06:00
Antonio Scandurra
b396909035
Calculate hitbox based on visible bounds in {Mouse}EventHandler
...
This is in contrast to not dispatching the event altogether in `Flex` when
the event is not contained in the flex element bounds. That approach was
problematic because it didn't give an opportunity to `MouseEventHandler`s
to handle mouse move events when they didn't intersect with the element bounds,
causing elements to never clear their hover state, cursor style, etc.
2022-04-07 15:12:09 +02:00
Antonio Scandurra
73f2fd6b09
Pass visible bounds to Element::dispatch_event
2022-04-07 15:10:09 +02:00
Nathan Sobo
0214bec7f4
Don't dispatch events to flex children outside of parent flex's bounds
2022-04-06 10:59:03 -06:00
Antonio Scandurra
1453954ef4
Autoscroll to active tab when activating a new item
2022-04-06 09:08:44 +02:00
Nathan Sobo
eb99588368
Remove stray dbg! expressions
2022-04-05 20:02:45 -06:00
Nathan Sobo
ab3bbe1e17
Make the tabs scrollable when they overflow
...
This adds the ability to make a Flex element scrollable by passing a type tag and instance id, which we use to store the scroll position in an ElementStateHandle.
Still need to allow the element to auto-scroll.
2022-04-05 19:58:15 -06:00
Nathan Sobo
025d857be8
Make UniformListState an Rc<RefCell<>> instead of an Arc<Mutex<>>
...
We don't need to support multiple threads.
2022-04-05 18:40:25 -06:00
Antonio Scandurra and Nathan Sobo
0453dd1101
Allow flex items to float to the end of the flex axis
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-03-30 16:46:14 +02:00
Antonio Scandurra and Nathan Sobo
447f350123
Compute line-height as a multiple of font size
...
...instead of using the bounding box. This makes `PragmataPro` and other
fonts render more cleanly.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-03-15 16:35:06 +01:00
Antonio Scandurra
45ce503afd
Start on implementing filtering support for Cursor::prev
2022-03-15 15:13:23 +01:00
Antonio Scandurra
fbf7cdf4f2
Make all HighlightStyle properties optional
...
Previously, some of those properties such the font weight, style and color
would be mandatory: when the theme didn't specify them, Zed would use a default
value during deserialization. This meant that those default properties would
unconditionally override the base text style, causing a rendering bug when
combining syntax highlights with diagnostic styles.
This commit fixes that by making `HighlightStyle`s more additive: each property
can be set independently and only the properties that theme specifies get
overridden in the base text style.
2022-03-15 10:39:43 +01:00
Nathan Sobo
951fd1ab36
Merge branch 'main' into select-on-rename
2022-03-11 15:30:07 -07:00
Nathan Sobo
3968b37e26
When renaming, fade out the old name and select all
2022-03-10 14:55:31 -07:00
Nathan Sobo
ac1eb19f83
Start on text highlight support
2022-03-09 20:51:35 -07:00
Keith Simmons
6ee0cceb14
Switch to using mouse navigation events instead of other in order to get rid of opaque button id
2022-03-09 15:04:04 -08:00
fc36c706d3
Add missing mouse button events and mouse history navigation
...
Co-Authored-By: Max Brunsfeld
Co-Authored-By: Nathan Sobo
2022-03-08 15:45:36 -08:00
Antonio Scandurra and Nathan Sobo
38313abc48
Disable events when project becomes read-only
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-03-04 17:37:37 +01:00
Max Brunsfeld
10580f96a3
Automatically include current view id in element state ids
2022-02-17 13:44:46 -08:00
Antonio Scandurra
c33d554675
Don't render sample item twice in UniformList
2022-02-15 12:02:58 +01:00
Max Brunsfeld and Nathan Sobo
c19d639e0a
Derive autocomplete menu's width from the width of its largest item
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-31 13:01:20 -08:00
Max Brunsfeld and Nathan Sobo
78b57e4d9d
Scale diagnostic header and message text with editor font
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2022-01-25 12:10:11 -08:00