package main import ( "embed" "go.wit.com/gui" "go.wit.com/log" ) // sent via -ldflags var VERSION string // This is the beginning of our binary tree of widgets var myGui *gui.Node //go:embed resources/* var resources embed.FS func main() { myGui = gui.New() myGui.InitEmbed(resources) myGui.Default() helloworld() // go will sit here until the window exits // intermittently, it will show toolkit statistics gui.Watchdog() } // This initializes the first window, a group and a button func helloworld() { window := myGui.NewWindow("hello world") box := window.NewBox("vbox", false) group := box.NewGroup("groupy") grid := group.NewGrid("gridiron", 2, 1) grid.NewButton("hello", func() { log.Println("world") }) grid.NewButton("in", func() { log.Println("out") }) grid.NewLabel("apple") dd := grid.NewDropdown().SetProgName("COMPUTERS") dd.AddText("Atari 500") dd.AddText("Beagleboard") dd.AddText("Unmatched Rev B") color := grid.NewCombobox().SetProgName("COLORS") color.AddText("Cyan") color.AddText("Magenta") color.AddText("Yellow") color.Custom = func() { log.Info("color is now", color.String()) } check := grid.NewCheckbox("Checkers").SetProgName("CHECKERS") check.Custom = func() { log.Info("Checkers is now", check.Bool()) } }