|
|
||
|---|---|---|
| experiments | ||
| olddocs | ||
| test | ||
| tools | ||
| LICENSE | ||
| README.md | ||
| area.go | ||
| area_darwin.go | ||
| area_darwin.m | ||
| area_unix.go | ||
| area_windows.go | ||
| button.go | ||
| callbacks_unix.go | ||
| checkbox.go | ||
| combobox.go | ||
| combobox_darwin.m | ||
| comctl_windows.go | ||
| common_windows.go | ||
| control.go | ||
| controls_windows.go | ||
| d32 | ||
| delegate_darwin.go | ||
| delegateuitask_darwin.m | ||
| dialog.go | ||
| dialog_darwin.go | ||
| dialog_darwin.m | ||
| dialog_unix.go | ||
| dialog_windows.go | ||
| doc.go | ||
| events_darwin.go | ||
| events_notdarwin.go | ||
| futureplans.md | ||
| grid.go | ||
| gtk_unix.h | ||
| gtkcalls_unix.go | ||
| gtkcasts_unix.go | ||
| init.go | ||
| init_windows.go | ||
| label.go | ||
| lineedit.go | ||
| listbox.go | ||
| listbox_darwin.go | ||
| listbox_darwin.m | ||
| listbox_unix.go | ||
| objc_darwin.go | ||
| objc_darwin.h | ||
| objc_darwin.m | ||
| prefsize_darwin.go | ||
| prefsize_darwin.m | ||
| prefsize_unix.go | ||
| prefsize_windows.go | ||
| progressbar.go | ||
| stack.go | ||
| stdfont_windows.go | ||
| stdwndclass_windows.go | ||
| sysdata.go | ||
| sysdata_darwin.go | ||
| sysdata_darwin.m | ||
| sysdata_unix.go | ||
| sysdata_windows.go | ||
| tableviewproposal.md | ||
| test.sh | ||
| todo.md | ||
| uitask_darwin.go | ||
| uitask_unix.go | ||
| uitask_windows.go | ||
| window.go | ||
| zconstants_windows_386.go | ||
| zconstants_windows_amd64.go | ||
README.md
Woah, lots of attention! Thanks!
This is a placeholder README; the previous file (olddocs/oldREADME.md) was rather long and confusing. I'll be rewriting it properly soon.
Until then, here's the important things you need to know:
- this package is very much incomplete and until I clear out the existing set of TODOs has an API which may change without warning (the API is stable for the most part)
- this package requires Go 1.3, which is presently available as a RC build (source builds from go tip will work too)
- I don't think the Windows side uses any Go 1.3 features, but just to be safe I'm going to say express caution
- Unix builds need 1.3 to fix some type-checker bugs in cgo
- Mac OS X builds need 1.3 because Go 1.3 adds Objective-C support to cgo
- the Windows build does not need cgo unless you want to regenerate the
zconstants_windows_*.gofiles; the other targets do - my plan is to target all versions of OSs that Go itself supports; that means:
- Windows: Windows XP or newer
- Unix: this is trickier; I decided to settle on GTK+ 3.4 or newer as Ubuntu 12.04 LTS ships with it
- Mac OS X: Mac OS X 10.6 or newer
- for the Windows build, you won't need to provide a comctl32.dll version 6 manifest, as the package produces its own
- comctl32.dll version 6 is required for proper functioning!
andlabs/wakeup is a repository that provides a sample application.
If you are feeling adventurous, running ./test.sh (which accepts go build options) from within the package directory will build a test program which I use to make sure everything works. (I'm not sure how to do automated tests for a package like this, so go test will say no tests found for now; sorry.) If you are cross-compiling to Windows, you will need to have a very specific Go setup which allows multiple cross-compilation setups in a single installation; this requires a CL which won't be in Go 1.3 but may appear in Go 1.4 if accepted and both windows/386 and windows/amd64 set up for cgo. (This is because ./test.sh on Windows targets invariably regenerates the zconstants_windows_*.go files; there is no option to turn it off lest I become complacent and use it myself.)
Finally, please send documentation suggestions! I'm taking the documentation of this package very seriously because I don't want to make anything ambiguous. (Trust me, ambiguity in API documentation was a pain when writing this...)
Thanks!
(Note: I temporarily disabled Travis.ci; if I can figure out how to do good cross-compiles with it, then I can put it back.)