This project is "closed". If I begin again, it will be from scratch
Go
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
layouts cleaned up uiktest example, using the grid config with names Mar 5, 2013
widgets widgets/entry: selecting is false when selection range is 0 Mar 26, 2013
AUTHORS Add self to AUTHORS Sep 5, 2012
README.md Update README.md Jul 26, 2013
block.go renamed grid anchor fields May 23, 2012
channels.go moved ResizeEvents into their own stacked channel May 16, 2012
draw.go draw blocks in place Jul 14, 2012
events.go moved ResizeEvents into their own stacked channel May 16, 2012
fonts.go
foundation.go remove garbage Aug 28, 2012
geom.go draw blocks in place Jul 14, 2012
luxisr.ttf.go only one event chan Apr 20, 2012
uik.go i mean uik, not wde May 12, 2012
wfound.go
widgettut.md moved ResizeEvents into their own stacked channel May 16, 2012

README.md

This project is closed. If I begin again, it will be from scratch and using lessons learned while writing go.uik. Of course, if I begin again it will still be called go.uik.

go.uik

A concurrent UI kit written in pure go.

This project is in its infancy. Feel free to experiment, but don't expect too much yet.

There is a google group dedicated to this project.


A concurrent UI kit

Every component visible on the screen is backed by a Block. Every collection of components is backed by a Foundation. All Blocks are built upon a Foundation, but a Foundation itself is made up of a Block, which must itself be laid upon a Foundation. The only exception to this rule is the WindowFoundation.

All communication between Foundations, Blocks and the widgets and layouts composed of them is done via non-blocking channel communication.

While this is a break from the typical polymorphism approach, the result is that a component that stalls while processing input cannot get in the way of other components.