Go to file
Pietro Gagliardi 1f08c874e0 Made event dispatch asynchronous to avoid deadlocks; right now events that cannot be dispatched get dropped. 2014-02-18 09:57:19 -05:00
unmigrated Moved the old Windows main() to unmigrated/; may wind up deleting it instead. 2014-02-17 17:39:51 -05:00
LICENSE Added license and README. 2014-02-17 18:38:50 -05:00
README.md Added license and README. 2014-02-17 18:38:50 -05:00
button.go Gave all relevant controls matching SetText()/Text() pairs. Also added a TODO for Checkbox related to checked state. 2014-02-15 15:51:06 -05:00
callbacks_unix.go Added window (and thus control) resizing. Other bugs have been fixed along the way. 2014-02-16 18:04:57 -05:00
checkbox.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
combobox.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
common_windows.go Removed a TODO regarding Windows Common Controls because I'm not going to be using those constants (and if I ever add more controls I will need to use comctl anyway). 2014-02-15 15:59:02 -05:00
control.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
controls_windows.go Split out combobox and listbox error constants into their own sections of controls_windows.go. 2014-02-15 12:49:21 -05:00
dialog.go Split out the dialog functions into portable and non-portable code to keep the package documentation in the portable code only. 2014-02-17 02:34:58 -05:00
dialog_unix.go Added GTK+ message boxes. 2014-02-17 02:54:58 -05:00
dialog_windows.go Split out the dialog functions into portable and non-portable code to keep the package documentation in the portable code only. 2014-02-17 02:34:58 -05:00
gtkcalls_unix.go Split the GTK+ ListBox implementation into its own file. 2014-02-17 15:49:02 -05:00
gtkcasts_unix.go Simplified the GTK+ Listbox code and added a documentation blob to it. 2014-02-17 16:19:00 -05:00
implementation.md Wrote an implementation guide. 2014-02-17 17:38:52 -05:00
init.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
init_windows.go More error/TODO reduction. 2014-02-15 14:11:54 -05:00
label.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
lineedit.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
listbox.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
listbox_unix.go Simplified the GTK+ Listbox code and added a documentation blob to it. 2014-02-17 16:19:00 -05:00
main.go Added Listbox.Selection() and Listbox.SelectedIndices(). Also fixed a bug involving sysData.selectedIndices() with nothing selected. 2014-02-15 18:36:42 -05:00
menus_windows.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
plan.md Added version compatibility notes to plan.md. 2014-02-16 16:55:48 -05:00
restrictions.md Windows sysData has been adjusted to deal with child controls. Rather than storing the parent window, it is passed as an argument to sysData.make(), which does the child ID allocation. Child IDs are now window-local, getting rid of that restriction. 2014-02-12 21:08:10 -05:00
stack.go More TODO reduction. 2014-02-15 15:38:41 -05:00
stdwndclass_windows.go Made event dispatch asynchronous to avoid deadlocks; right now events that cannot be dispatched get dropped. 2014-02-18 09:57:19 -05:00
sysdata.go Made event dispatch asynchronous to avoid deadlocks; right now events that cannot be dispatched get dropped. 2014-02-18 09:57:19 -05:00
sysdata_unix.go Made event dispatch asynchronous to avoid deadlocks; right now events that cannot be dispatched get dropped. 2014-02-18 09:57:19 -05:00
sysdata_windows.go Fixed the GTK+ crashes (I think) by making resizes synchronous. Since all control resizes happen on the UI thread anyway, we don't need to dispatch back; just call the resizing functions directly. Windows gets this fix too for consistency (and also because it gets rid of the only asynchronous oddity in the system). 2014-02-17 01:40:53 -05:00
todo.md More TODOs. 2014-02-17 02:55:59 -05:00
uitask_unix.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
uitask_windows.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
window.go Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
windows_windows.go Removing more leftover stuff. 2014-02-15 11:57:49 -05:00
winerrors.md More TODO reduction. 2014-02-15 15:41:50 -05:00

README.md

Native UI library for Go

THIS PACKAGE IS UNSTABLE AND PRELIMINARY. In fact, it is presently compiled as package main for ease of cross-platform testing and debugging. Once major issues are dealt with and the Mac OS X build working, I will likely move to packge ui and move main() to a test.

This is a simple library for building cross-platform GUI programs in Go. It targets Windows and all Unix variants (except Mac OS X until further notice) and provides a thread-safe, channel-based API.

There is documentation, but due to the note above, you won't be able to see it just yet. Refer to main.go for an example.