Commit graph

8 commits

Author SHA1 Message Date
3130fb1471 Migrate to generated wrappers 2026-07-26 18:28:50 -04:00
9a2e167661 Initial Adwaita widget wrappers (except actually include the files this time) 2026-07-24 02:21:56 -04:00
4c7054e31f Initial Adwaita widget wrappers 2026-07-24 02:20:00 -04:00
4594728770 Implement collections and teardown 2026-07-24 00:07:02 -04:00
fd2cae3808 Complete native drop-in 2026-07-23 23:29:52 -04:00
d177a85236 Conditionals: EitherView and OptionalView with reactive branch visibility 2026-07-23 22:35:34 -04:00
c309fc3d1a State module with reactive label bindings and tracked closures
Add @State, StateBox, Binding, DependencyTracker, and
SubscriptionToken for targeted reactive updates.

Label gains two reactive overloads: Label(Binding<String>)
for the explicit-binding path and Label(() -> String) for
tracked closures. Both update the Gtk.Label text in-place
without re-mounting.

Regression tests verify label updates survive when the
Swift wrapper is deallocated after the GObject is attached
to the widget tree (GTK does not retain wrappers).

Includes 28 new tests across ReactiveLabelTests and
StateTests suites.
2026-07-23 21:06:09 -04:00
145d0a710d Foundation implementation 2026-07-23 19:36:28 -04:00