GPUI ist eine GUI-Library in und für Rust.
GPUI wurde speziell für den GUI-Texteditor Zed entwickelt und ist mit diesem derzeit noch eng verzahnt:
GPUIs Entwicklung ist noch jung, so dass es zu Brüchen kommen kann. Dokumentation ist nur spärlich vorhanden:
GPUI-Projekte können mit create-gpui-app
erzeugt werden.
Mit Application
wird die
Applikation konfiguriert, um sie mit Application::run()
schließlich zu starten.
run()
erwartet eine Closure mit dem Argument &mut App
. Die Closure wird aufgerufen, sobald die Applikation
gestartet wurde.
Element
: TODORender
: Wird für "Views" implementiert. Views sind Entity
s, die sich graphisch darstellen lassen, mittels der
render()
Methode.Window
: Der State eines Fensters.
Entity
: Reference-counted Smart Pointer auf einen Struct mit Daten der Applikation.
Global
: Marker Trait für Datentypen, die im Global State gespeichert werden sollen.
Entity
vs Global
:
Entity
kann Events emittierenEntity
kann in einem Global
gehalten werdenContexts:
App
:
der vollständige State einer Applikation.AsyncApp
: TODOContext<T>
: TODOAsyncWindowContext
: TODOTestAppContext
: TODOKey Dispatch: TODO
SharedString
: TODOSharedUri
: TODOCoop, Gpui Based Calculator, GPUI Calculator, GPUI List examples, GPUI TODO App, Helix gpui, Hummingbird, Kallax, Longbridge Pro, Loungy, Memory Match Game, Muzak, Ngurra, PGUI, Zed