Go to file
Pietro Gagliardi 71aba62178 Added a winmanifest package for including a generic Windows manifest. Now to just rewrite the README. 2018-09-02 13:52:55 -04:00
examples Added a winmanifest package for including a generic Windows manifest. Now to just rewrite the README. 2018-09-02 13:52:55 -04:00
winmanifest Added a winmanifest package for including a generic Windows manifest. Now to just rewrite the README. 2018-09-02 13:52:55 -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 And finally migrated Area back. 2018-08-26 17:22:05 -04:00
areahandler.go And finally migrated Area back. 2018-08-26 17:22:05 -04:00
box.go Migrated window.go, box.go, button.go, and checkbox.go back. 2018-08-26 13:24:47 -04:00
button.go Migrated window.go, box.go, button.go, and checkbox.go back. 2018-08-26 13:24:47 -04:00
checkbox.go Migrated window.go, box.go, button.go, and checkbox.go back. 2018-08-26 13:24:47 -04:00
colorbutton.go Migrated drawtext.go and fontbutton.go. 2018-08-26 17:17:03 -04:00
combobox.go Migrated more controls. 2018-08-26 13:33:54 -04:00
control.go Migrate the link_darwin_amd64.go and control.go files back; fixed up errors in the C files and util.go. 2018-08-26 13:18:53 -04:00
datetimepicker.go Migrated datetimepicker.go and brought stddialogs.go back again. 2018-08-26 13:48:13 -04:00
draw.go And migrated the examples back; also fixed a spot I missed. 2018-08-26 17:26:53 -04:00
drawtext.go Migrated drawtext.go and fontbutton.go. 2018-08-26 17:17:03 -04:00
dummy_windows.cpp Set up the Windows builds. Almost working! 2016-06-05 18:49:53 -04:00
editablecombobox.go Migrated more controls. 2018-08-26 13:33:54 -04:00
entry.go Migrated more controls. 2018-08-26 13:33:54 -04:00
fontbutton.go Migrated drawtext.go and fontbutton.go. 2018-08-26 17:17:03 -04:00
form.go Migrated more controls. 2018-08-26 13:33:54 -04:00
grid.go Migrated more controls. 2018-08-26 13:33:54 -04:00
group.go Migrated more controls. 2018-08-26 13:33:54 -04:00
image.go Changed image.NRGBA to image.RGBA for Alpha 4.1. 2018-09-01 19:22:30 -04:00
label.go Migrated more controls. 2018-08-26 13:33:54 -04:00
libui_darwin_amd64.a And let's try the alpha 4.1 release again. 2018-09-01 20:44:02 -04:00
libui_linux_386.a And let's try the alpha 4.1 release again. 2018-09-01 20:44:02 -04:00
libui_linux_amd64.a And let's try the alpha 4.1 release again. 2018-09-01 20:44:02 -04:00
libui_windows_386.a And finally replaced the Windows binaries with Alpha 4.1. 2018-09-01 21:21:46 -04:00
libui_windows_amd64.a And finally replaced the Windows binaries with Alpha 4.1. 2018-09-01 21:21:46 -04:00
link_darwin_amd64.go Migrate the link_darwin_amd64.go and control.go files back; fixed up errors in the C files and util.go. 2018-08-26 13:18:53 -04:00
link_linux_386.go Migrated link_linux_386.go back. Nice to see it really working at last. 2018-09-01 22:24:59 -04:00
link_linux_amd64.go Of course I had to redo that release. Anyway also merge link_linux_amd64.go back in; I'm about to test it now. 2018-09-01 20:15:33 -04:00
link_windows_386.go And moved the other link files back. It works! 2018-09-02 03:22:45 -04:00
link_windows_amd64.go And moved the other link files back. It works! 2018-09-02 03:22:45 -04:00
main.go Migrated util.go and main.go to the new pkgui convention and C file. Also replaced C.CBytes() with C.malloc() (this bumps our minimum version requirement to 1.8, but it's better than keeping a massive slice around at all times). 2018-08-26 10:19:10 -04:00
multilineentry.go More control migration. Everything beyond this point is nontrivial. 2018-08-26 13:43:05 -04:00
pkgui.c And FINALLY ported Table. Now to write an example program. 2018-08-26 19:55:10 -04:00
pkgui.h And FINALLY ported Table. Now to write an example program. 2018-08-26 19:55:10 -04:00
progressbar.go Migrated more controls. 2018-08-26 13:33:54 -04:00
radiobuttons.go More control migration. Everything beyond this point is nontrivial. 2018-08-26 13:43:05 -04:00
separator.go More control migration. Everything beyond this point is nontrivial. 2018-08-26 13:43:05 -04:00
slider.go More control migration. Everything beyond this point is nontrivial. 2018-08-26 13:43:05 -04:00
spinbox.go More control migration. Everything beyond this point is nontrivial. 2018-08-26 13:43:05 -04:00
stddialogs.go Migrated datetimepicker.go and brought stddialogs.go back again. 2018-08-26 13:48:13 -04:00
tab.go More control migration. Everything beyond this point is nontrivial. 2018-08-26 13:43:05 -04:00
table.go And FINALLY ported Table. Now to write an example program. 2018-08-26 19:55:10 -04:00
tablemodel.go And migrated tablemodel.go back. And now we can finally build it properly! 2018-08-26 17:36:39 -04:00
ui.h Updated ui.h and the OS X and Linux binaries for Alpha 4.1. Need to wait for AppVeyor before we can add the Windows ones. 2018-09-01 19:52:19 -04:00
util.go Zero-fill pkguiAlloc()'s output. 2018-08-26 14:26:33 -04:00
window.go Migrated window.go, box.go, button.go, and checkbox.go back. 2018-08-26 13:24:47 -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