Commit Graph
224 Commits
Author SHA1 Message Date
Max BrunsfeldandNathan Sobo 68193cd1a5 Move open command handler to workspace global action
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:18:24 -07:00
Max BrunsfeldandNathan Sobo af3499750c Allow menu items to specify arguments for their commands
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-12 14:09:49 -07:00
Nathan Sobo e59e364a88 Make gpui::platform module private 2021-04-10 00:22:45 -06:00
Nathan Sobo 1c80ad0621 Remove platform::mac::runner 2021-04-10 00:19:25 -06:00
Nathan Sobo 9f59237c51 Remove MutableAppContext::downgrade 2021-04-10 00:14:26 -06:00
Nathan Sobo 6d716aa573 Allow effects to be flushed before TestAppContext::update callback completes 2021-04-10 00:11:13 -06:00
Nathan Sobo 6eb89a4194 Remove unsafe code from App::test_async
I don't actually think it was correct to allow the future to borrow a mutable app reference. I went back to passing a wrapper around the refcell to async tests. They'll be a bit more annoying to write but also totally safe.
2021-04-10 00:05:09 -06:00
Nathan Sobo df223714f3 Pass the on_finish_launching callback to Platform::run 2021-04-09 21:33:17 -06:00
Max Brunsfeld 7f27ece707 Get app running and test passing after gpui App+Platform restructure 2021-04-09 16:56:32 -07:00
Nathan SoboandMax Brunsfeld 19cb636bf6 WIP: Make App the only entry point from main
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-09 13:38:09 -06:00
Nathan SoboandMax Brunsfeld e2cf66480f Add lifecycle methods to Platform trait
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-09 13:03:26 -06:00
Max Brunsfeld 46b6efc549 Merge branch 'master' into menus 2021-04-09 10:34:21 -07:00
Max Brunsfeld 4c184f50f7 Implement File > Open menu item 2021-04-08 22:25:54 -07:00
Max Brunsfeld e6279311df Call SetActivationPolicy at the proper time
If this method is called too early, the menu bar won't be
clickable on startup until the window loses focus. Calling
it once the application finishes launching seems to fix
the issue.

See https://github.com/glfw/glfw/issues/1648
2021-04-08 16:11:45 -07:00
Max Brunsfeld fffbc0de29 Create an API for assigning the menubar contents 2021-04-08 16:01:36 -07:00
Nathan Sobo 5220ebaed2 Order debug JSON and allow elements to be named; copy to clipboard 2021-04-07 21:54:14 -06:00
Nathan Sobo cb1d98fdb5 Log prettified element debug JSON to on cmd-alt-i 2021-04-07 21:54:14 -06:00
Nathan Sobo a2f3d0cfba Add ability to debug element trees as JSON 2021-04-07 21:54:14 -06:00
Max Brunsfeld bc4f5ea3df Add a stub of a native 'File' menu 2021-04-07 17:49:44 -07:00
Max Brunsfeld f673c6aa6e Start work on a native application menu
Add an application menu with a quit command, bound to command-q
2021-04-07 17:48:22 -07:00
Max Brunsfeld 511e444015 Throw a little between filename and modified icon
We probably need a primitive to right-align an element within
its parent, but I don't have strong opinions about how that
should be designed, so I'm just adding this as a temporary
measure so that the tabs won't look too ugly in the meantime.
2021-04-07 15:39:09 -07:00
Nathan Sobo 0f97a62659 Remove unused method 2021-04-06 20:47:09 -06:00
Max Brunsfeld ecd5698f4a Start work on displaying modified status in tabs 2021-04-06 14:37:21 -07:00
Max BrunsfeldandNathan Sobo 4e93a56e29 Vertically center linebox child element
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-06 13:03:19 -07:00
Nathan Sobo 2107e726f4 Vertically center glyphs in Line::paint based on ascender/descender for line 2021-04-06 09:15:21 -06:00
Nathan Sobo 16c0ba1f68 Open platform window before first invalidation
This ensures we have an invalidation handler present so we render the first frame in all cases.
2021-04-06 09:15:21 -06:00
Antonio Scandurra b5b8445a47 Reduce path atlas size by using a single channel for the texture 2021-04-06 13:53:20 +02:00
Antonio Scandurra d2e30bc457 Implement SVG rendering 2021-04-06 13:46:33 +02:00
Nathan Sobo ea0aebccae Use handles to obtain entities in future callbacks
This guarantees that the spawning entity will be present and simplifies
the logic for obtaining the entity. Now we can forward the results of spawned futures and streams in the same way regardless of whether what spawned them was a model or a view.
2021-04-05 20:04:04 -06:00
Max BrunsfeldandNathan Sobo 4d7726501e Rename Task -> EntityTask (a BackgroundTask is just a Task)
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-05 17:03:42 -07:00
Max BrunsfeldandNathan Sobo 812e3f29ec Make background executor available on AppContext
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-05 16:45:55 -07:00
Max Brunsfeld b95aa282eb Remove stray print statements 2021-04-02 15:00:20 -07:00
Max Brunsfeld 668336946c Use a real FontSystem in test platform 2021-04-02 14:35:44 -07:00
Max Brunsfeld 0eda8b3c48 Remove small pieces of unused code 2021-04-02 14:26:53 -07:00
Nathan SoboandMax Brunsfeld 138f75e95f Use a condvar instead of a channel to implement finish_pending_tasks
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 13:53:06 -06:00
Nathan SoboandMax Brunsfeld fadecaa043 Complete finish_pending_tasks future when tasks are cancelled
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:42:23 -06:00
Nathan SoboandMax Brunsfeld dccc4f3121 Initialize logger in gpui tests
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:42:01 -06:00
Nathan SoboandMax Brunsfeld a56ef33a52 Remove future/stream handlers when task is dropped
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 12:03:35 -06:00
Nathan SoboandMax Brunsfeld 1dc03bab2b Remove executor::ForegroundTask wrapper
Now that smol returns the same Task as async_task, we can simply re-export the async_task::Task struct from our executor module.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 11:02:09 -06:00
Nathan SoboandMax Brunsfeld 4871b71e62 Fix hanging finish_pending_tasks test
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-04-02 10:48:03 -06:00
Antonio Scandurra d1d992be59 Remove unused edge_to_point calculation in quad shader 2021-04-02 13:53:11 +02:00
Antonio Scandurra f503e32f29 Fix crash when selections exceed the container's bounds 2021-04-02 13:49:44 +02:00
Nathan Sobo 00af25da17 Inset container contents to account for container border 2021-04-01 10:31:00 -06:00
Antonio Scandurra 7a052566a5 Don't render glyphs located outside of BufferElement's bounds 2021-04-01 11:19:50 +02:00
Nathan Sobo 2efe48c127 💄 naming 2021-03-31 20:43:15 -06:00
Max Brunsfeld 7fee9ce687 Introduce a GPUI test platform, get most tests running
There are still two tests that don't pass:
* `gpui::app::tests::test_finish_pending_tasks` hangs
* `editor::buffer_view::tests::test_fold` has an assertion failure
2021-03-31 17:03:58 -07:00
Max Brunsfeld 7fb0951d42 Ensure that path windings are rendered to the right atlas texture
Fixes #5
2021-03-31 14:52:41 -07:00
Antonio ScandurraandNathan Sobo 2a616e984a Remove Overdraw
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 17:58:43 +02:00
Antonio ScandurraandNathan Sobo ba5640aba5 Fix tabs layout
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 17:57:00 +02:00
Antonio ScandurraandNathan Sobo 3649a3d939 Don't blend alpha channels
We want to use the source alpha to determine the color of the final
pixel, but we want the final pixels to be fully opaque.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-03-31 16:24:28 +02:00