// Setup the TextView, put it in a ScrolledWindow, and add both to box. func setupTextView(box *gtk.Box) *gtk.TextView { sw, _ := gtk.ScrolledWindowNew(nil, nil) tv, _ := gtk.TextViewNew() sw.Add(tv) box.PackStart(sw, true, true, 0) return tv }
func setupPropertyCheckboxes(tv *gtk.TextView, outer *gtk.Box, props []*BoolProperty) { box, _ := gtk.BoxNew(gtk.ORIENTATION_HORIZONTAL, 0) for _, prop := range props { chk, _ := gtk.CheckButtonNewWithLabel(prop.Name) // initialize the checkbox with the property's current value chk.SetActive(prop.Get()) p := prop // w/o this all the checkboxes will toggle the last property in props chk.Connect("toggled", func() { p.Set(chk.GetActive()) }) box.PackStart(chk, true, true, 0) } outer.PackStart(box, false, false, 0) }