Skip to content

gallery: a native-controls page (all NativeKinds as real OS widgets) - #63

Merged
tannevaled merged 1 commit into
mainfrom
feat/native-controls-gallery
Sep 6, 2026
Merged

gallery: a native-controls page (all NativeKinds as real OS widgets)#63
tannevaled merged 1 commit into
mainfrom
feat/native-controls-gallery

Conversation

@tannevaled

Copy link
Copy Markdown
Contributor

Adds the native mirror of the wasm demo: one toolkit.NativeControl per NativeKind (all nineteen), hosted by go-widgets/window's cocoa/win32/gtk back-end as real OS controls over the framebuffer, pure Go CGO=0. native.go builds the descriptor grid (tag-less, 100%-tested); native_main.go opens the window behind the gallerynative tag, so the wasm build and the coverage-gated tests never pull in the windowing stack. Proven on Linux GTK4 under Xvfb — every control renders as its GTK widget. CI gains a native build smoke.

Run: go build -tags gallerynative . && GO_WIDGETS_GTK=1 ./gallery (Linux).

The wasm gallery shows the toolkit's drawn widgets; this adds its native mirror —
one toolkit.NativeControl descriptor per NativeKind (all nineteen: button, label,
entry, secure, checkbox, radio, switch, slider, pop-up, progress, spinner, stepper,
search, editable combo, segmented, multi-line text view, link, date, colour),
hosted by go-widgets/window's cocoa/win32/gtk back-end as real OS controls over the
framebuffer, pure Go CGO=0. native.go builds the descriptor grid (tag-less,
100%-tested); native_main.go opens the window behind the 'gallerynative' build tag
so the wasm build and the coverage-gated tests never pull in the windowing stack.
Proven on Linux GTK4 under Xvfb — every control renders as its GTK widget.
Adds go-widgets/window; CI gains a native build smoke.
@tannevaled
tannevaled merged commit 005a365 into main Sep 6, 2026
3 checks passed
@tannevaled
tannevaled deleted the feat/native-controls-gallery branch September 6, 2026 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant