Go to file
Pietro Gagliardi b74862a0b9 Started TableModel: converted TableValue. 2018-08-24 21:47:02 -04:00
AAA_GOFILES Moved stddialogs.go back and removed the old TODO-only fontbutton.go. 2018-08-20 10:22:06 -04:00
LICENSE Added license and README. 2014-02-17 18:38:50 -05:00
README.md Oops 2018-03-27 10:40:24 -04:00
TODO.md More TODOs. 2016-01-06 20:43:32 -05:00
area.go Migrated uiArea back. 2018-08-12 16:28:19 -04:00
areahandler.go Migrated uiArea back. 2018-08-12 16:28:19 -04:00
box.go Added Form. 2018-08-20 10:47:11 -04:00
button.go Fixed build errors. 2018-08-12 11:07:33 -04:00
checkbox.go Fixed build errors. 2018-08-12 11:07:33 -04:00
colorbutton.go Added ColorButton. Will fill in the rest of the histogram example later. 2018-08-19 22:19:12 -04:00
combobox.go Fixed build errors. 2018-08-12 11:07:33 -04:00
control.go Fixed build errors. 2018-08-12 11:07:33 -04:00
datetimepicker.go Fixed build errors. 2018-08-12 11:07:33 -04:00
draw.go Added Image and renamed the BrushType constants respectively. 2018-08-21 10:07:23 -04:00
drawtext.go Fixed build issues. Whee. Can't wait for this to crash at runtime... 2018-08-19 12:25:31 -04:00
dummy_windows.cpp Set up the Windows builds. Almost working! 2016-06-05 18:49:53 -04:00
editablecombobox.go Fixed build errors. 2018-08-12 11:07:33 -04:00
entry.go Fixed build errors. 2018-08-12 11:07:33 -04:00
fontbutton.go Added FontButton. 2018-08-19 17:22:12 -04:00
form.go Added Form. 2018-08-20 10:47:11 -04:00
grid.go Added Grid and finally rounded out the control gallery example. 2018-08-20 22:55:40 -04:00
group.go Migrated the containers. 2018-08-11 22:02:16 -04:00
image.go Added Image and renamed the BrushType constants respectively. 2018-08-21 10:07:23 -04:00
label.go More control migration. 2018-08-11 21:29:20 -04:00
libui_darwin_amd64.a Replaced all libui files with alpha4 files. 2018-08-11 16:21:16 -04:00
libui_linux_386.a Replaced all libui files with alpha4 files. 2018-08-11 16:21:16 -04:00
libui_linux_amd64.a Replaced all libui files with alpha4 files. 2018-08-11 16:21:16 -04:00
libui_windows_386.a Removed +x from the .a files 2018-08-11 16:21:55 -04:00
libui_windows_amd64.a Removed +x from the .a files 2018-08-11 16:21:55 -04:00
link_darwin_amd64.go Migrated main.go. Migrated link_darwin_amd64.go and removed -DMACOSX_DEPLOYMENT_TARGET (see libui commit aa28904408fb75ae8042c616982c13cbe2a5a784). This should be two separate commits but I screwed up. 2018-08-12 09:17:01 -04:00
main.go Fixed build errors. 2018-08-12 11:07:33 -04:00
multilineentry.go Added MultilineEntry. 2018-08-12 19:55:21 -04:00
progressbar.go More control migration. 2018-08-11 21:29:20 -04:00
radiobuttons.go Expanded zz_controls.go a bit more. Also fixed some comments in radiobuttons.go. 2018-08-12 13:03:22 -04:00
separator.go More control migration. 2018-08-11 21:29:20 -04:00
slider.go Fixed build errors. 2018-08-12 11:07:33 -04:00
spinbox.go Fixed build errors. 2018-08-12 11:07:33 -04:00
static.manifest Set up the Windows builds. Almost working! 2016-06-05 18:49:53 -04:00
stddialogs.go Moved stddialogs.go back and removed the old TODO-only fontbutton.go. 2018-08-20 10:22:06 -04:00
tab.go Un-intmax_t'd everything. 2018-08-11 23:21:30 -04:00
tablemodel.go Started TableModel: converted TableValue. 2018-08-24 21:47:02 -04:00
ui.h Moved the existing .go files out of the way and replaced ui.h with the alpha4 ui.h. 2018-08-11 16:18:01 -04:00
util.go Migrated util.go back and formalized pkguiAlloc(). 2018-08-12 10:24:24 -04:00
util.h Migrated util.go back and formalized pkguiAlloc(). 2018-08-12 10:24:24 -04:00
window.go Fixed build errors. 2018-08-12 11:07:33 -04:00
zz_controls.go Added Grid and finally rounded out the control gallery example. 2018-08-20 22:55:40 -04:00
zz_drawtext.go Added Form. 2018-08-20 10:47:11 -04:00
zz_histogram.go Added Image and renamed the BrushType constants respectively. 2018-08-21 10:07:23 -04:00

README.md

ui: platform-native GUI library for Go

Update 17 February 2018

I fixed the Enter+Escape crashing bug on Windows, and applied the resultant Alpha 3.5 binary release to package ui. However, build issues prevented a linux/386 binary from being made, so the API updates won't come yet. The next Alpha release, which will use semver and thus be called v0.4.0, should hopefully have no such issues. Sorry!

Update 5 June 2016: You can FINALLY go get this package!

go get should work out of the box for the following configurations:

  • darwin/amd64
  • linux/386
  • linux/amd64
  • windows/386
  • windows/amd64

Everything is now fully static — no DLLs or shared objects anymore!

Note that these might not fully work right now, as the libui Alpha 3.1 API isn't fully implemented yet, and there might be residual binding problems. Hopefully none which require an Alpha 3.2...

New README

This is a library that aims to provide simple GUI software development in Go.

It is based on my libui, a simple cross-platform library that does the same thing, but written in C. You must include this library in your binary distributions.

It runs on/requires:

  • Windows: cgo, Windows Vista SP2 with Platform Update and newer
  • Mac OS X: cgo, Mac OS X 10.8 and newer
  • other Unixes: cgo, GTK+ 3.10 and newer
    • Debian, Ubuntu, etc.: sudo apt-get install libgtk-3-dev
    • Red Hat/Fedora, etc.: sudo dnf install gtk3-devel
    • TODO point out this is fine for most people but refer to distro docs if more control is needed, including cross-compilation instructions
    • TODO clean this part up and put it in the appropriate place (maybe libui itself)

It also requires Go 1.6 or newer (due to various bugs in cgo that were fixed only starting with 1.6).

(this README needs some work)

Installation

Documentation

The in-code documentation needs improvement. I have written a tutorial in the Wiki.

Updates