// This creates a simple hello world window package main import ( "go.wit.com/log" "go.wit.com/gui" "go.wit.com/lib/gadgets" ) // This is the beginning of the binary tree of widgets var myGui *gui.Node // this is the primary window. If you close it, the program will exit var mainWindow *gui.Node // this is a basic window. the user can open and close it var basicWindow *gadgets.BasicWindow func main() { myGui = gui.New().Default() // myGui.LoadToolkit("nocui") helloworld() basicWindow = makebasicWindow() // go will sit here until the window exits gui.Watchdog() } // This initializes the first window and some widgets func helloworld() { mainWindow = myGui.NewWindow("hello world").SetProgName("BASEWIN1") box := mainWindow.NewBox("vbox", false) group := box.NewGroup("choices") grid := group.NewGrid("gridiron", 2, 1) grid.NewButton("hello", func() { log.Println("world") }) grid.NewButton("show basic window", func() { basicWindow.Toggle() }) grid.NewLabel("apple") dd := grid.NewDropdown().SetProgName("COMPUTERS") dd.AddText("Atari 500") dd.AddText("Beagleboard") dd.AddText("Unmatched Rev B") dd.AddText("asldjf") dd.AddText("asdjf") dd.AddText("a1jf") dd.AddText("jf") dd.SetText("Beagleboard") cb := grid.NewCombobox().SetProgName("COLORS") cb.AddText("Cyan") cb.AddText("Magenta") cb.AddText("Yellow") cb.SetText("orange") grid.NewCheckbox("Checkers").SetProgName("CHECKERS") queryGroup := box.NewGroup("query") queryGroup.NewButton("Which Computer?", func() { tmp := dd.String() log.Println("computer =", tmp) for i, s := range dd.Strings() { log.Println("has option", i, s) } }) queryGroup.NewButton("Which Color?", func() { tmp := cb.String() log.Println("color =", tmp) }) }