// This creates a simple hello world window package main import ( "go.wit.com/gui" "go.wit.com/lib/gadgets" "go.wit.com/log" ) type choices struct { group *gui.Node // the group grid *gui.Node // the grid hello *gui.Node // the hello button computers *gui.Node colors *gui.Node checkers *gui.Node socks *gadgets.OneLiner animal *gadgets.BasicCombobox place *gadgets.BasicEntry } // This initializes the first window and some widgets func newChoices(parent *gui.Node) *choices { var c *choices c = new(choices) c.group = parent.NewGroup("choices") c.grid = c.group.NewGrid("gridiron", 2, 1) c.grid.NewButton("hello", func() { log.Info("world") }) c.grid.NewButton("show basic window", func() { basicWindow.Toggle() }) c.grid.NewLabel("a label") c.computers = c.grid.NewDropdown().SetProgName("COMPUTERS") c.computers.AddText("Atari 500") c.computers.AddText("Beagleboard") c.computers.AddText("Unmatched Rev B") c.computers.AddText("asldjf") c.computers.AddText("asdjf") c.computers.AddText("a1jf") c.computers.AddText("jf") c.computers.SetText("Beagleboard") c.colors = c.grid.NewCombobox().SetProgName("COLORS") c.colors.AddText("Cyan") c.colors.AddText("Magenta") c.colors.AddText("Yellow") c.colors.SetText("orange") c.checkers = c.grid.NewCheckbox("Checkers").SetProgName("CHECKERS") c.checkers.Custom = func() { log.Info("Checkers is", c.checkers.Bool()) } c.socks = gadgets.NewOneLiner(c.grid, "two for one") c.socks.SetValue("socks") c.animal = gadgets.NewBasicCombobox(c.grid, "animals") c.animal.AddText("otter") c.animal.AddText("honey badger") c.animal.AddText("polar bear") c.place = gadgets.NewBasicEntry(c.grid, "favorite place") c.place.SetText("coffee shop") return c } func (c *choices) SetSocks(s string) *choices { c.socks.SetValue(s) return c }