Antonio Scandurra
70f8cf4cf6
Move methods querying window state into AsyncAppContext
2023-05-02 19:38:48 +02:00
Antonio Scandurra
794446bf8b
Move debug_elements to AsyncAppContext
...
Previously, `debug_elements` was available on `WindowContext`. If that
method was called while having a borrow out to a view, it would panic because
the view would already have been borrowed.
By moving it to an `AsyncAppContext` we ensure the method can't be called while
a view is being used.
2023-05-02 11:09:40 +02:00
Antonio Scandurra
6c931ab9da
Inline test-only AppContext methods
2023-05-01 16:49:17 +02:00
Antonio Scandurra
eb2cce98a7
Move dispatch_action_any_action_at to AsyncAppContext
2023-05-01 16:40:57 +02:00
Antonio Scandurra
c4472b0786
Remove ViewContext::dispatch_action
2023-05-01 16:27:36 +02:00
Antonio Scandurra
d815fc88ae
Remove ViewContext::dispatch_any_action
2023-05-01 14:24:00 +02:00
Antonio Scandurra
029538fe21
Make dispatch_global_action private
2023-05-01 11:45:35 +02:00
Antonio Scandurra and Nathan Sobo
6317e885c7
Don't allow strong view handles to be read/updated with an AsyncAppContext
...
This avoids an invitation to hold strong view handles across async await
points, which is a common source of leaks.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-26 13:36:13 +02:00
Antonio Scandurra
689e878bd8
Use a WeakViewHandle in Client for view message handlers
2023-04-26 12:21:02 +02:00
Antonio Scandurra
57beec6071
Allow direct read/update of WeakViewHandle only in AsyncAppContext
2023-04-26 12:20:57 +02:00
Antonio Scandurra
94c2eaad23
Replace ViewContext::spawn with ViewContext::spawn_weak
2023-04-26 10:23:27 +02:00
Antonio Scandurra and Nathan Sobo
c165fb9be5
Remove ReadView and UpdateView traits
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-24 17:36:14 +02:00
Antonio Scandurra and Nathan Sobo
a6115d9330
Remove UpdateModel trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-24 16:52:09 +02:00
Antonio Scandurra and Nathan Sobo
a9417f3d2e
Remove ReadModelWith trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-24 16:44:54 +02:00
Antonio Scandurra and Nathan Sobo
5f500d34b2
Remove UpgradeModelHandle trait
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-24 16:40:30 +02:00
Antonio Scandurra and Nathan Sobo
b8fab6fde9
Remove UpgradeViewHandle trait
...
Co-authored-by: Nathan Sobo <nathan@zed.dev >
2023-04-24 16:33:27 +02:00
Nathan Sobo
83bf3d071d
WIP
2023-04-21 15:36:52 -06:00
Nathan Sobo
55db28e074
Eliminate ReadModel trait
2023-04-21 15:05:19 -06:00
Nathan Sobo
5dac95c47c
Eliminate ReadView trait
2023-04-21 15:03:57 -06:00
Nathan Sobo
993dbf86cb
Merge remote-tracking branch 'origin/main' into into-element
2023-04-21 14:27:25 -06:00
Nathan Sobo and Max Brunsfeld
fe492eacbf
Refine naming of element-related types and traits
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2023-04-21 13:06:37 -06:00
03619dfa55
Rename Drawable::boxed to into_element and make containers generic
...
Multi-element are now generic over any drawable child, which can be converted
into an element.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2023-04-21 12:43:19 -06:00
Antonio Scandurra and Nathan Sobo
4ac894ffbe
Remove unnecessary lifetime parameter from WindowContext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-21 18:06:53 +02:00
Antonio Scandurra and Nathan Sobo
a860a6cd62
Make App::notify_view private
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-21 16:50:57 +02:00
Antonio Scandurra and Nathan Sobo
8c7f821d14
Introduce a new WindowContext::remove_window API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-21 16:39:53 +02:00
Antonio Scandurra and Nathan Sobo
31e906d068
Avoid double borrow of views on up and up_out in DragAndDrop
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-21 16:19:51 +02:00
Antonio Scandurra and Nathan Sobo
0d5eea8169
Track active window id in test platform
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-20 17:22:11 +02:00
Antonio Scandurra and Nathan Sobo
d9bb37c649
Add WindowContext::update_default_global
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-20 17:13:13 +02:00
Antonio Scandurra
31e6bb4fc1
Return Result from AsyncAppContext::update_view
2023-04-18 12:03:53 +02:00
Antonio Scandurra
493a418c91
WIP
2023-04-17 18:52:48 +02:00
Antonio Scandurra
38ab6b123f
Make production code compile again
2023-04-17 12:33:33 +02:00
Antonio Scandurra
bed94455b9
Avoid calling focus_in when creating window
...
This is redundant because when creating a window we will receive
an activation event if the window was effectively focused. And if
it wasn't, we shouldn't call `focus_in`.
2023-04-17 11:57:51 +02:00
Antonio Scandurra
f09e21aa93
WIP: force using (at least) a window context to update views
2023-04-14 17:08:13 +02:00
Antonio Scandurra
a820862165
Take WindowContext in workspace::ItemHandle methods
2023-04-14 16:36:23 +02:00
Antonio Scandurra
2652f65bee
Fix handle_window_activation_effect updating the wrong view
2023-04-14 12:33:13 +02:00
Antonio Scandurra
98dce89379
Pass WindowContext to ViewHandle::is_focused
2023-04-14 12:12:08 +02:00
Antonio Scandurra
33bc47dbe2
Merge branch 'main' into window_context_2
2023-04-14 12:07:09 +02:00
Antonio Scandurra
183b9ef809
Make full-screen and window bounds callbacks take a WindowContext
2023-04-14 11:56:31 +02:00
Antonio Scandurra
5666e8301e
Log an error when a scene fails to build
2023-04-14 10:32:56 +02:00
Antonio Scandurra
9ef79735dc
Move more window-specific methods from AppContext to WindowContext
2023-04-14 10:29:35 +02:00
Antonio Scandurra
c62357db02
Fix window activation
2023-04-14 08:24:01 +02:00
Antonio Scandurra and Nathan Sobo
84d2605ccf
Avoid passing cx when emitting from CallbackCollection
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2023-04-13 16:53:44 +02:00
Antonio Scandurra
ff774786bf
Reimplement AppContext::handle_focus_effect
2023-04-13 16:21:39 +02:00
Antonio Scandurra
4900e04ff3
Fix window refreshing
2023-04-13 12:19:11 +02:00
Antonio Scandurra
702c4ce403
Uncomment List tests and fix related problems in WindowContext
2023-04-13 12:01:18 +02:00
Nathan Sobo
b89c4e06be
WIP: Compiling, many warnings, haven't tested
2023-04-12 12:54:24 -06:00
Nathan Sobo
a25f962185
WIP
2023-04-12 12:13:35 -06:00
Nathan Sobo
868301bedb
WIP
2023-04-12 10:07:17 -06:00
Antonio Scandurra
83070a19c4
WIP
2023-04-12 15:55:43 +02:00
Nathan Sobo
d9e4136b02
WIP
2023-04-11 21:56:37 -06:00